include vmm.inc
VMMCall Get_Machine_Info
mov [Major], AH ; MS-DOS major version number
mov [Minor], AL ; MS-DOS minor version number
mov [OEM], BH ; MS-DOS OEM serial number
mov [Model], BL ; machine model byte
shr EBX, 16 ; machine type flags returned in the
mov [Type], BX ; high-order word of EBX
mov [SysConf], ECX ; address of System Config. Parameters
mov [Equip], EDX ; equipment flags
Returns information about the computer system that Windows is running on. Uses EAX, EBX, ECX, EDX, Flags.
Register | Description |
---|---|
AH | MS-DOS major version number |
AL | MS-DOS minor version number |
BH | MS-DOS OEM serial number |
BL | Machine model byte (from address F000:FFFE in system ROM) |
EBX | Machine type flags, in the high-order word. For a list of possible values, see below. |
ECX | Ring 0 linear address to System Configuration Parameters (as returned from BIOS service Interrupt 15h, AH=C0h). Applies only to PS/2 or computers with extended BIOS. See the PS/2 BIOS documentation for details. |
EDX | Equipment flags (as returned from Interrupt 11h) |
The machine type flags, returned in the high-order word of the EBX register, can include zero or more of these values:
Value | Meaning |
---|---|
GMIF_80486 | 80486 processor or higher |
GMIF_PCXT | PCXT accelerator |
GMIF_MCA | Micro Channel |
GMIF_EISA | EISA |
GMIF_CPUID | CPUID instruction supported by this processor |
The address returned in the ECX register points to a copy of the system configuration parameters because the actual parameters may have been moved into a buffer which is subject to page remapping.
Note The CPUID instruction is supported by the Intel® Pentium™ processor and other non-Pentium processors. CPU support of the CPUID instruction does not guarantee that the CPU is a Pentium processor.