INT 21 P - Phar Lap 386/DOS-Extender VMM - GET MEMORY STATISTICS AX = 2520h DS:EDX -> pointer to buffer at least 100 bytes in size (see #01364) BL = 0 (don't reset VMsee Virtual Machine stats), 1 (reset VMsee Virtual Machine stats) Return: carry flag clear Format of Phar Lap VMsee Virtual Machine statistics buffer: Offset Size Description (Table 01364) 00h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. VMsee Virtual Machine status 0001h VMsee Virtual Machine subsystem is present 0000h VMsee Virtual Machine not present 04h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. "nconvpg" number of conventional memory pages available 08h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. "nbimpg" number of Compaq built-in memory pages available 0Ch DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. "nextpg" total number of extended memory pages 10h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. "extlim" extender memory pages limit 14h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. "aphyspg" number of physical memory pages allocated to appl 18h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. "alockpg" number of locked pages owned by application 1Ch DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. "sysphyspg" number physical memory pages allocated to system 20h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. "nfreepg" number of free physical pages; approx if EMSsee Expanded Memory Specification VCPIsee Virtual Control Program Interface 24h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. linear address of beginning of application address space 28h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. linear address of end of application address space 2Ch DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. number of seconds since last time VMsee Virtual Machine stats were reset 30h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. number of page faults since last time 34h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. number of pages written to swap file since last time 38h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. number of reclaimed pages (page faults on swapped pages) 3Ch DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. number of virtual pages allocated to the application 40h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. size in pages of swap file 44h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. number of system pages allocated with EMSsee Expanded Memory Specification calls 48h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. minimum number of conventional memory pages 4Ch DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. maximum size in pages to which swap file can be increased 50h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. "vmflags" bit 0 = 1 if page fault in progress ---v4.0+ --- 54h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. number of physical pages guaranteed to be free 58h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. number of free physical pages currently available 5Ch DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. size in pages of largest free block of memory (including disk swap space) 60h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. reserved