Map Device in Memory Block [1.0]

Maps the physical addresses assigned to a device onto the linear addresses of a memory block previously allocated with Int 31H Function 0504H.

Call With

AX = 0508H
ESI = memory block handle
EBX = offset within memory block of page(s) to be mapped (must be page-aligned)
ECX = number of pages to map
EDX = physical address of device (must be page-aligned)

Returns

if function successful
Carry flag = clear

if function unsuccessful
Carry flag = set
AX = error code Capability not supported)
8001Hunsupported function (Device Mapping
8003Hsystem integrity (invalid device address)
8023Hinvalid handle (in ESI)
8025Hinvalid linear address (specified range is not within specified block or EBX/EDX is not page-aligned)

Notes