diff options
Diffstat (limited to 'lzo/asm/i386/00README.TXT')
-rw-r--r-- | lzo/asm/i386/00README.TXT | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/lzo/asm/i386/00README.TXT b/lzo/asm/i386/00README.TXT new file mode 100644 index 00000000..0d3dcf9f --- /dev/null +++ b/lzo/asm/i386/00README.TXT @@ -0,0 +1,45 @@ + +Directory overview: +=================== + +As writing portable assembler sources supporting different operating +systems, compilers and assemblers has proven to be extremely painful, +the assembler sources have been converted into a more portable `db' +format. Use these whenever possible. + + src_gas sources converted for portable gcc/gas syntax + src_masm sources converted for portable masm/tasm/wasm syntax + src_nasm sources converted for portable nasm syntax + + src assembler sources (you need the OpenSource nasm assembler) + + obj pre-assembled object files + +Also look `src_XXX/all/asm_all.asm' which contains all assembler +functions conveniently arranged into a single file. + + +Notes: +====== + +- The assembler sources are designed for a flat 32-bit memory model + running in protected mode - they should work with all i386 + 32-bit compilers around. + +- All functions expect a `cdecl' (C stack based) calling convention. + The function return value will be placed into `eax'. + All other registers are preserved. + +- Prototypes for the assembler functions can be found in <lzo/lzo_asm.h>. + +- For reasons of speed all fast assembler decompressors (having `_fast' + in their name) can access (write to) up to 3 bytes past the end of + the decompressed (output) block. Data past the end of the compressed + (input) block is never accessed (read from). + [ technical note: because data is transferred in 32-bit units ] + +- Finally you should test if the assembler versions are actually faster + than the C version on your machine - some compilers can do a very good + optimization job, and they also can optimize the code for a specific + processor type. + |