Detecting Memory (x86): Difference between revisions

Put back the old code after reading RBIL on the matter.
[unchecked revision][unchecked revision]
(BIOS bug)
(Put back the old code after reading RBIL on the matter.)
Line 31:
 
Usage:
<source lang="asm">
; Nullify the A-register.
xor ax, ax
 
; Switch to the BIOS (= request low memory size).
int 0x12
 
; The carry flag is set, it failed.
; AX = amount of continuous memory in KB starting from 0.
jc .Error
</source>
; Test the A-register with itself.
test ax, ax
; The zero flag is set, it failed.
jz .Error
 
; AX = amount of continuous memory in kB starting from 0.
Note: this function always works and may not modify the carry flag, so the contents of AX should be trusted and CF should be ignored.
</source>
 
Alternately, you can just use INT 0x15, EAX = 0xE820 (see below).
1,490

edits