Get_Machine_Info


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.