Blame asm/i386/00README.TXT

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