Installation Check
Assembler Language: | Real Mode |
;
;FindSmapi
;
;On Entry : None
; | On Exit | : CF = | ð .. Find out |
| |
; |
| DX | - Segment |
|
|
; |
| BX | - Pointer to header | ||
; |
|
|
|
|
|
; |
| CF = | 1 .. No Smapi BIOS | ||
; |
|
|
|
|
|
FindSmapi | Proc | Near |
|
| |
| push | eax |
|
|
|
| push | cx |
|
|
|
| push | si |
|
|
|
| push | ds |
|
|
|
| mov | ax, | BIOS_SEG |
| ; Fððð Segment |
| mov | ds, | ax |
|
|
| mov | bx, | ð |
| ; Start point |
| mov | cx, | SMB_CAND_CNT | ; Total check count | |
| mov | eax, 'BMS$' ; Target strings | |||
| @@: |
|
|
|
|
| cmp | eax, dword ptr ds:[bx].@SMBHDR_SIG | |||
| je | short @f |
|
| |
| add | bx, | 1ðh | ; Next paragraph | |
| loop | @b |
|
|
|
| stc |
|
|
|
|
| jmp | short FindSmapiFin |
|
| SMAPI BIOS |