@@: ; 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