@@: ;

Find Smapi Head

mov

dx, BIOS_SEG

 

;

Calculate Checksum.. next.

pushf

 

; Save Direction flag

cld

 

; Clear it

mov

si, bx

 

xor

ax, ax

 

movzx

cx,byte ptr ds:[bx].@SMBHDR_LEN

@@:

 

 

lodsb

 

 

add

ah, al

 

loop

@b

 

popf

 

; Restore Direction flags

cmp

ah, 1

; Checksum is OK?

cmc

 

 

FindSmapiFin:

 

 

pop

ds

 

pop

si

 

pop

cx

 

pop

eax

 

ret

 

 

FindSmapi

Endp

 

ThinkPad 560/560E SMAPI BIOS

A-59

Page 123
Image 123
IBM 560E manual Find Smapi Head