Note: This API call is for DOS and Win16 personality only. Use Family API for portability.
XMS API implemented via VXMS.DLL VDD
; Is an XMS driver installed?
mov ax,4300h
int 2Fh
cmp al,80h
jne NoXMSDriver
mov ax,4310h int 2Fh mov word ptr [XMSCALL],bx mov word ptr [XMSCALL+2],es mov ah,00h call [XMSCALL]
| Function | Description | Status | Version |
|---|---|---|---|
| 00h | Get XMS Version Number | 2 | |
| 01h | Request High Memory Area | 2 | |
| 02h | Release High Memory Area | 2 | |
| 03h | Global Enable A20 | 2 | |
| 04h | Global Disable A20 | 2 | |
| 05h | Local Enable A20 | 2 | |
| 06h | Local Disable A20 | 2 | |
| 07h | Query A20 | 2 | |
| 08h | Query Free Extended Memory | 2 | |
| 09h | Allocate Extended Memory Block | 2 | |
| 0Ah | Free Extended Memory Block | 2 | |
| 0Bh | Move Extended Memory Block | 2 | |
| 0Ch | Lock Extended Memory Block | 2 | |
| 0Dh | Unlock Extended Memory Block | 2 | |
| 0Eh | Get Handle Information | 2 | |
| 0Fh | Reallocate Extended Memory Block | 2 | |
| 10h | Request Upper Memory Block | 2 | |
| 11h | Release Upper Memory Block | 2 | |
| 12h | Realloc Upper Memory Block | 2 | |
| 88h | Query any Free Extended Memory | 3 | |
| 89h | Allocate any Extended Memory Block | 3 | |
| 8Eh | Get Extended EMB Handle | 3 | |
| 8Fh | Realloc any Extended Memory | 3 |