1 ; 7zCrcOpt.asm -- CRC32 calculation : optimized version
2 ; 2009-12-12 : Igor Pavlov : Public domain
15 data_size
equ (REG_SIZE
* 5)
16 crc_table
equ (REG_SIZE
+ data_size
)
17 num_VAR
equ [r4
+ data_size
]
18 table_VAR
equ [r4
+ crc_table
]
21 SRCDAT
equ rN
+ rD
+ 4 *
23 CRC
macro op:req
, dest:req
, src:req
, t:req
24 op dest
, DWORD PTR [r5
+ src
* 4 + 0400h * t
]
27 CRC_XOR
macro dest:req
, src:req
, t:req
31 CRC_MOV
macro dest:req
, src:req
, t:req
36 movzx x6
, BYTE PTR [rD
]
45 MY_PROLOG
macro crc_end:req
69 MY_EPILOG
macro crc_end:req
83 MY_PROC CrcUpdateT8
, 4
116 MY_PROC CrcUpdateT4
, 4