Blame asm/i386/00README.TXT

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