memory.inc

Detect available memory

Summary
memory.incDetect available memory
Constants
Address typeSee AddressRange.Type
AddressRange
Variables
BaseAddrLowLow 32 Bits of Base Address
BaseAddrHighHigh 32 Bits of Base Address
LengthLowLow 32 Bits of Length in Bytes
LengthHighHigh 32 Bits of Length in Bytes
TypeAddress type of this range.
Functions
memory_e820_get_mmap_entry
memory_get_for_large_conf
memory_get_extended_memory_size

Constants

Address type

See AddressRange.Type

ADDRESS_RANGE_MEMORYAvailable and usable RAM.
ADDRESS_RANGE_RESERVEDReserved or in use.

AddressRange

Summary
Variables
BaseAddrLowLow 32 Bits of Base Address
BaseAddrHighHigh 32 Bits of Base Address
LengthLowLow 32 Bits of Length in Bytes
LengthHighHigh 32 Bits of Length in Bytes
TypeAddress type of this range.
Functions
memory_e820_get_mmap_entry
memory_get_for_large_conf
memory_get_extended_memory_size

Variables

BaseAddrLow

.BaseAddrLow dd ?

Low 32 Bits of Base Address

BaseAddrHigh

.BaseAddrHigh dd ?

High 32 Bits of Base Address

LengthLow

.LengthLow dd ?

Low 32 Bits of Length in Bytes

LengthHigh

.LengthHigh dd ?

High 32 Bits of Length in Bytes

Type

.Type dd ?

Address type of this range.  Address type

Functions

memory_e820_get_mmap_entry

In

EAXFunction code
EBXContinuation
ES:DIBuffer Pointer
ECXBuffer size
EDXSignature ‘SMAP’

Out

CFCarry Flag
EAXSignature ‘SMAP’
ES:DIBuffer Pointer
ECXBuffer Size
EBXContinuation

memory_get_for_large_conf

In

AXFunction code E801h

Out

CFNon-Carry - indicates no error
AXExtended 1
BXExtended 2
CXConfigured 1
DXConfigured 2

memory_get_extended_memory_size

In

AHFunction code 88h

Out

CFNon-Carry - indicates no error
AXNumber of contiguous KB above 1MB
.Type dd ?
Address type of this range.
.BaseAddrLow dd ?
Low 32 Bits of Base Address
.BaseAddrHigh dd ?
High 32 Bits of Base Address
.LengthLow dd ?
Low 32 Bits of Length in Bytes
.LengthHigh dd ?
High 32 Bits of Length in Bytes
See AddressRange.Type
Close