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