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