коды 8-bit checksum для Award БИОС (v.4.51 с бутблоком):
2000:E32E assume ds:_1000 2000:E32E 8B 1E 09 00 mov bx, cmprssd_size_hi_word ; bx = 1 2000:E332 8B 0E 07 00 mov cx, cmprssd_size_lo_word ; cx = 355Fh 2000:E336 02 0E 00 00 add cl, hdr_len ; hdr_len = 25h 2000:E33A 80 D5 00 adc ch, 0 2000:E33D 83 D3 00 adc bx, 0 2000:E340 83 C1 03 add cx, 3 ; cx = 3587h 2000:E343 83 D3 00 adc bx, 0 2000:E346 74 04 jz hi_word_zero 2000:E348 8B D9 mov bx, cx 2000:E34A 33 C9 xor cx, cx 2000:E34C hi_word_zero: ; CODE XREF: 2000:E346j 2000:E34C 33 F6 xor si, si 2000:E34E 32 E4 xor ah, ah 2000:E350 _next_byte: ; CODE XREF: 2000:E353j 2000:E350 ; 2000:E365j 2000:E350 AC lodsb 2000:E351 02 E0 add ah, al 2000:E353 E2 FB loop _next_byte 2000:E355 0B DB or bx, bx 2000:E357 74 0E jz cmp_chk_sum 2000:E359 8B CB mov cx, bx 2000:E35B 8C DB mov bx, ds 2000:E35D 81 C3 00 10 add bx, 1000h 2000:E361 8E DB mov ds, bx 2000:E363 assume ds:_2000 2000:E363 33 DB xor bx, bx 2000:E365 EB E9 jmp short _next_byte 2000:E367 ; --------------------------------------------------------------------------- 2000:E367 cmp_chk_sum: ; CODE XREF: 2000:E357j 2000:E367 3A 24 cmp ah, [si] ;<<---------------- compare "whole" module 8-bit checksum here <<-- 2000:E369 0F 85 2E 00 jnz chk_sum_error
...greetz Pinczakko
коды 8-bit checksum для Award БИОС (v.4.51 с бутблоком):
...greetz Pinczakko