📄 smb_tab.asm
字号:
;' $Header$
title SMB_TAB -- SMBIOSW Tables
page 58,122
name SMB_TAB
COMMENT| Module Specifications
Copyright: (C) Copyright 2000-2002 Qualitas, Inc. All rights reserved.
Program derived from: None.
Original code by: Bob Smith, January, 2000-2001.
Modifications by: None.
|
.386
.xlist
include MASM.INC
include ASCII.INC
include SMBIOS.INC
include SMBIOS.MAC
include CPUFET.INC
.list
DGROUP group SMBTAB_SEG,SMBACT_SEG,SMBTXT_SEG,SMBTXT2_SEG,SMBITM_SEG
PGROUP group _TEXT
_TEXT segment use16 byte public 'code' ; Start _TEXT segment
assume cs:PGROUP
extrn SMB11:near
extrn SMB12:near
extrn SMB13:near
extrn SMBGEN:near
extrn SMBRAW:near
extrn SMBUNK:near
extrn SMB_BANK:near
extrn SMB_BCDREV:near
extrn SMB_BCDBYTE:near
extrn SMB_CETYPE:near
extrn SMB_DHDWORD:near
extrn SMB_ENUM:near
extrn SMB_STRING:near
extrn SMB_HANDLE:near
extrn SMB_HANDLEUNK:near
extrn SMB_HANDLEUNK2:near
extrn SMB_HEX6:near
extrn SMB_HEX9:near
extrn SMB_HEX15:near
extrn SMB_HEX16:near
extrn SMB_HEXBYTE:near
extrn SMB_HEXBYTEUNK:near
extrn SMB_HEXWORD:near
extrn SMB_HEXWORDUNK:near
extrn SMB_HEXDWORD:near
extrn SMB_HEXDWORDUNK:near
extrn SMB_HEXQWORD:near
extrn SMB_HEXQWORDUNK:near
extrn SMB_HEXRAW:near
extrn SMB_MODSIZE:near
extrn SMB_PID:near
extrn SMB_PTR16:near
extrn SMB_REC8:near
extrn SMB_REC16:near
extrn SMB_REC32:near
extrn SMB_ROMSIZE:near
extrn SMB_RPTSTR:near
extrn SMB_SID:near
extrn SMB_SID_AGP:near
extrn SMB_SID_EISA:near
extrn SMB_SID_MCA:near
extrn SMB_SID_PCI:near
extrn SMB_SID_PCIX:near
extrn SMB_SID_PCMCIA:near
extrn SMB_UDECBYTE:near
extrn SMB_UDECBYTEUNK:near
extrn SMB_UDECWORD:near
extrn SMB_UDECWORDUNK:near
extrn SMB_UDECDWORD:near
extrn SMB_UDECDWORDUNK:near
extrn SMB_VOLT:near
extrn DispRecordBITF:near
extrn DispRecordENUM:near
extrn DispRecordVALA:near
extrn DispRecordVALB:near
_TEXT ends ; End _TEXT segment
_DATA segment use16 dword public 'data' ; Start _DATA segment
assume ds:DGROUP
public FMT_UNK
FMT_UNK db BEL,CR,LF,'屯> Type %u: ',BEL,'*** Unknown Type ***',0
; Struc element processing types
align 2
.lall
ITEMTYPE_MAC ; Initialize data
ITEMTYPE_MAC STRING ; Item type String
ITEMTYPE_MAC HANDLE ; ... Handle
ITEMTYPE_MAC HANDLEUNK ; ... Handle w/Unknown
ITEMTYPE_MAC HANDLEUNK2 ; ... Handle w/Unknown #2
ITEMTYPE_MAC BCDREV ; ... BCD byte revision #
ITEMTYPE_MAC BCDBYTE ; ... BCD byte
ITEMTYPE_MAC UDECBYTE ; ... Unsigned Decimal Byte
ITEMTYPE_MAC UDECBYTEUNK ; ... Unsigned Decimal Byte w/Unknown
ITEMTYPE_MAC UDECWORD ; ... Unsigned Decimal Word
ITEMTYPE_MAC UDECWORDUNK ; ... Unsigned Decimal Word w/Unknown
ITEMTYPE_MAC UDECDWORD ; ... Unsigned Decimal Dword
ITEMTYPE_MAC UDECDWORDUNK ; ... Unsigned Decimal Dword w/Unknown
ITEMTYPE_MAC DHDWORD ; ... Hex/Decimal Dword
ITEMTYPE_MAC HEXBYTE ; ... Hex Byte
ITEMTYPE_MAC HEXBYTEUNK ; ... Hex Byte w/Unknown
ITEMTYPE_MAC HEXWORD ; ... Hex Word
ITEMTYPE_MAC HEXWORDUNK ; ... Hex Word w/Unknown
ITEMTYPE_MAC HEXDWORD ; ... Hex Dword
ITEMTYPE_MAC HEXDWORDUNK ; ... Hex Dword w/Unknown
ITEMTYPE_MAC HEXQWORD ; ... Hex Qword
ITEMTYPE_MAC HEXQWORDUNK ; ... Hex Qword w/Unknown
ITEMTYPE_MAC PTR16 ; ... Ptr16
ITEMTYPE_MAC HEX6 ; ... Hex 6 bytes
ITEMTYPE_MAC HEX9 ; ... Hex 9 bytes
ITEMTYPE_MAC HEX15 ; ... Hex 15 bytes
ITEMTYPE_MAC HEX16 ; ... Hex 16 bytes
ITEMTYPE_MAC HEXRAW ; ... Hex variable # bytes (<= 16)
ITEMTYPE_MAC REC8 ; ... 8 bits
ITEMTYPE_MAC REC16 ; ... 16 bits
ITEMTYPE_MAC REC32 ; ... 32 bits
ITEMTYPE_MAC ENUM ; ... Enumerated
ITEMTYPE_MAC ROMSIZE ; ... ROM Size = 64K * (n + 1)
ITEMTYPE_MAC VOLT ; ... Voltage
ITEMTYPE_MAC MODSIZE ; ... Module Size
ITEMTYPE_MAC BANK ; ... Bank Connections
ITEMTYPE_MAC PID ; ... Processor ID
ITEMTYPE_MAC SID ; ... Slot ID
ITEMTYPE_MAC CETYPE ; ... Contained Element Type
ITEMTYPE_MAC RPTSTR ; ... Repeated Structures
RECTYPE_MAC ; Initialize data
RECTYPE_MAC BITF ; Bit field
RECTYPE_MAC ENUM ; Enumerated field
RECTYPE_MAC VALA ; Value, Type A
RECTYPE_MAC VALB ; Value, Type B
@NIB0 equ 00Fh ; Nibble #0
@NIB1 equ 0F0h ; ... 1
; Data for each SMBIOS/DMI struc
; =========================== Type 0: BIOS Information ======================
public SMB0ITEM
SMB0ITEM label tbyte
ITEM_MAC SMB0_VENDOR , <'Vendor: '>, @IT_STRING
ITEM_MAC SMB0_VERSION , <'BIOS Version: '>, @IT_STRING
ITEM_MAC SMB0_START , <'BIOS Starting Address Segment: '>, @IT_HEXWORD
ITEM_MAC SMB0_RELDATE , <'BIOS Release Date: '>, @IT_STRING
ITEM_MAC SMB0_ROMSIZE , <'BIOS Physical ROM Size: '>, @IT_ROMSIZE
ITEM_MAC SMB0_CHAR_EDQLO_ELO , <'BIOS Characteristics: '>, @IT_REC16, SMB0_CHAR_EDQLO_ELO_TAB
ITEM_MAC SMB0_CHAR_EDQLO_EHI , <' '>, @IT_REC16, SMB0_CHAR_EDQLO_EHI_TAB
ITEM_MAC SMB0_CHAR_EDQHI , <' '>, @IT_REC32, SMB0_CHAR_EDQHI_TAB
ITEM_MAC SMB0_CHAREXT1 , <'BIOS Characteristics Extension #1: '>, @IT_REC8, SMB0_CHAREXT1_TAB
ITEM_MAC SMB0_CHAREXT2 , <'BIOS Characteristics Extension #2: '>, @IT_REC8, SMB0_CHAREXT2_TAB
ITEM_STR <-1> ; Ending entry
public SMB0_CHAR_EDQHI_TAB
SMB0_CHAR_EDQHI_TAB label tbyte
REC_MAC $SMB0_CHAR_SYSVEN , @BITF, <'Reserved for System Vendor'>
REC_MAC $SMB0_CHAR_BIOSVEN , @BITF, <'Reserved for BIOS Vendor'>
REC_STR <-1> ; Ending entry
public SMB0_CHAR_EDQLO_EHI_TAB
SMB0_CHAR_EDQLO_EHI_TAB label tbyte
REC_MAC $SMB0_CHAR_NEC98 , @BITF, <'NEC PC-98'>
REC_MAC $SMB0_CHAR_INT10 , @BITF, <'INT 10h, CGA/Mono Video Services are supported'>
REC_MAC $SMB0_CHAR_INT17 , @BITF, <'INT 17h, Printer Services are supported'>
REC_MAC $SMB0_CHAR_INT14 , @BITF, <'INT 14h, Serial Services are supported'>
REC_MAC $SMB0_CHAR_INT09 , @BITF, <'INT 09h, 8042 Keyboard Services are supported'>
REC_MAC $SMB0_CHAR_INT05 , @BITF, <'INT 05h, Print Screen Service is supported'>
REC_MAC $SMB0_CHAR_INT13_288 , @BITF, <'INT 13h - 3.5"/2.88 MB Floppy Services are supported'>
REC_MAC $SMB0_CHAR_INT13_720 , @BITF, <'INT 13h - 3.5"/720 KB Floppy Services are supported'>
REC_MAC $SMB0_CHAR_INT13_12 , @BITF, <'INT 13h - 5.25"/1.2 MB Floppy Services are supported'>
REC_MAC $SMB0_CHAR_INT13_360 , @BITF, <'INT 13h - 5.25"/360 KB Floppy Services are supported'>
REC_MAC $SMB0_CHAR_INT13_TOSH12 , @BITF, <'INT 13h - Japanese Floppy for Toshiba 1.2 MB (3.5", 360 RPM) is supported'>
REC_MAC $SMB0_CHAR_INT13_NEC12 , @BITF, <'INT 13h - Japanese Floppy for NEC 9800 1.2 MB (3.5", 1K Bytes/sector) is supported'>
REC_MAC $SMB0_CHAR_EDD , @BITF, <'EDD (Enhanced Disk Drive) Specification is supported'>
REC_MAC $SMB0_CHAR_BOOTCARD , @BITF, <'Boot from PC Card (PCMCIA) is supported'>
REC_MAC $SMB0_CHAR_ROMSOCKET , @BITF, <'BIOS ROM is socketed'>
REC_MAC $SMB0_CHAR_BOOTSEL , @BITF, <'Selectable Boot is supported'>
REC_STR <-1> ; Ending entry
public SMB0_CHAR_EDQLO_ELO_TAB
SMB0_CHAR_EDQLO_ELO_TAB label tbyte
REC_MAC $SMB0_CHAR_BOOTCD , @BITF, <'Boot from CD is supported'>
REC_MAC $SMB0_CHAR_ESCD , @BITF, <'ESCD support is available'>
REC_MAC $SMB0_CHAR_VESA , @BITF, <'VL-VESA is supported'>
REC_MAC $SMB0_CHAR_SHADOW , @BITF, <'BIOS Shadowing is allowed'>
REC_MAC $SMB0_CHAR_FLASH , @BITF, <'BIOS is Upgradeable (Flash)'>
REC_MAC $SMB0_CHAR_APM , @BITF, <'APM is supported'>
REC_MAC $SMB0_CHAR_PNP , @BITF, <'Plug and Play is supported'>
REC_MAC $SMB0_CHAR_PCCARD , @BITF, <'PC Card (PCMICA) is supported'>
REC_MAC $SMB0_CHAR_PCI , @BITF, <'PCI is supported'>
REC_MAC $SMB0_CHAR_EISA , @BITF, <'EISA is supported'>
REC_MAC $SMB0_CHAR_MCA , @BITF, <'MCA is supported'>
REC_MAC $SMB0_CHAR_ISA , @BITF, <'ISA is supported'>
REC_MAC $SMB0_CHAR_XCHAR , @BITF, <'BIOS Characteristics is NOT supported'>
REC_MAC $SMB0_CHAR_UNK , @BITF, <'Unknown'>
REC_MAC $SMB0_CHAR_RSV0 , @BITF, <'Reserved 0:2'>
REC_STR <-1> ; Ending entry
public SMB0_CHAREXT1_TAB
SMB0_CHAREXT1_TAB label tbyte
REC_MAC $SMB0_CHAREXT1_SBATT , @BITF, <'Smart Battery is supported'>
REC_MAC $SMB0_CHAREXT1_BOOT1394 , @BITF, <'1394 boot is supported'>
REC_MAC $SMB0_CHAREXT1_BOOTZIP , @BITF, <'ATAPI ZIP Drive boot is supported'>
REC_MAC $SMB0_CHAREXT1_LS120 , @BITF, <'LS-120 boot is supported'>
REC_MAC $SMB0_CHAREXT1_I2O , @BITF, <'I2O boot is supported'>
REC_MAC $SMB0_CHAREXT1_AGP , @BITF, <'AGP is supported'>
REC_MAC $SMB0_CHAREXT1_USBL , @BITF, <'USB Legacy is supported'>
REC_MAC $SMB0_CHAREXT1_ACPI , @BITF, <'ACPI is supported'>
REC_STR <-1> ; Ending entry
public SMB0_CHAREXT2_TAB
SMB0_CHAREXT2_TAB label tbyte
REC_MAC $SMB0_CHAREXT2_RSV1 , @BITF, <'Reserved 2:6'>
REC_MAC $SMB0_CHAREXT2_NETBOOT , @BITF, <'Network Service Boot supported'>
REC_MAC $SMB0_CHAREXT2_BOOTSPEC , @BITF, <'BIOS Boot Specification is supported'>
REC_STR <-1> ; Ending entry
; =========================== Type 1: System Information ====================
public SMB1ITEM
SMB1ITEM label tbyte
ITEM_MAC SMB1_MFR , <'Manufacturer: '>, @IT_STRING
ITEM_MAC SMB1_PROD, <'Product Name: '>, @IT_STRING
ITEM_MAC SMB1_VER , <'Version: '>, @IT_STRING
ITEM_MAC SMB1_SN , <'Serial Number: '>, @IT_STRING
ITEM_MAC SMB1_UUID, <'Universal Unique ID #: '>, @IT_HEX16
ITEM_MAC SMB1_WAKE, <'Wake-Up Type: '>, @IT_ENUM, SMB1_WAKE_ENUM
ITEM_STR <-1> ; Ending entry
public SMB1_WAKE_ENUM
SMB1_WAKE_ENUM label tbyte
ENUM_MAC @SMB1_WAKE_RSV0 , <'Reserved 0'>
ENUM_MAC @SMB1_WAKE_OTHER, <'Other'>
ENUM_MAC @SMB1_WAKE_UNK , <'Unknown'>
ENUM_MAC @SMB1_WAKE_APM , <'APM Timer'>
ENUM_MAC @SMB1_WAKE_MODEM, <'Modem Ring'>
ENUM_MAC @SMB1_WAKE_LAN , <'LAN Remote'>
ENUM_MAC @SMB1_WAKE_POWER, <'Power Switch'>
ENUM_MAC @SMB1_WAKE_PCI , <'PCI PME#'>
ENUM_MAC @SMB1_WAKE_ACRES, <'AC Power Restored'>
ENUM_STR <-1> ; Ending entry
; =========================== Type 2: Base Board Information ================
public SMB2ITEM
SMB2ITEM label tbyte
ITEM_MAC SMB2_MFR , <'Manufacturer: '>, @IT_STRING
ITEM_MAC SMB2_PROD , <'Product Name: '>, @IT_STRING
ITEM_MAC SMB2_VER , <'Version: '>, @IT_STRING
ITEM_MAC SMB2_SN , <'Serial Number: '>, @IT_STRING
ITEM_MAC SMB2_ASSET, <'Asset Tag: '>, @IT_STRING
ITEM_MAC SMB2_FEAT , <'Feature flags: '>, @IT_REC8, SMB2_FEAT_TAB
ITEM_MAC SMB2_LOC , <'Location in chassis: '>, @IT_STRING
ITEM_MAC SMB2_CHNDL, <'Chassis Handle (Type 3): '>, @IT_HANDLE
ITEM_MAC SMB2_TYPE , <'Board Type: '>, @IT_ENUM, SMB2_TYPE_ENUM
ITEM_MAC SMB2_NCOH , <'# Contained Object Handles: '>,@IT_UDECBYTE
ITEM_MAC SMB2_COH , <'Contained Object '>, @IT_RPTSTR, SMB2ITEM_COH, \
<((-(type SMB2_COH_STR)) shl 16) or SMB2_NCOH>
ITEM_STR <-1> ; Ending entry
public SMB2_FEAT_TAB
SMB2_FEAT_TAB label tbyte
REC_MAC $SMB2_FEAT_RSV5 , @BITF, <'Reserved 5:2'>
REC_MAC $SMB2_FEAT_HOTSWAP , @BITF, <'Hot Swappable'>
REC_MAC $SMB2_FEAT_REPLACEABLE , @BITF, <'Replaceable'>
REC_MAC $SMB2_FEAT_REMOVABLE , @BITF, <'Removable'>
REC_MAC $SMB2_FEAT_DAUGHTER , @BITF, <'Requires Daughter Board'>
REC_MAC $SMB2_FEAT_MOTHER , @BITF, <'Motherboard'>
REC_STR <-1> ; Ending entry
public SMB2_TYPE_ENUM
SMB2_TYPE_ENUM label tbyte
ENUM_MAC @SMB2_TYPE_UNK , <'Unknown'>
ENUM_MAC @SMB2_TYPE_OTHER , <'Other'>
ENUM_MAC @SMB2_TYPE_SERVER , <'Server Blade'>
ENUM_MAC @SMB2_TYPE_CONNSW , <'Connectivity Switch'>
ENUM_MAC @SMB2_TYPE_SMM , <'System Management Module'>
ENUM_MAC @SMB2_TYPE_PROCESSOR , <'Processor Module'>
ENUM_MAC @SMB2_TYPE_IO , <'I/O Module'>
ENUM_MAC @SMB2_TYPE_MEMORY , <'Memory Module'>
ENUM_MAC @SMB2_TYPE_DAUGHTER , <'Daughter board'>
ENUM_MAC @SMB2_TYPE_MOTHER , <'Motherboard'>
ENUM_MAC @SMB2_TYPE_PROCMEM , <'Processor/Memory Module'>
ENUM_MAC @SMB2_TYPE_PROCIO , <'Processor/IO Module'>
ENUM_MAC @SMB2_TYPE_INTER , <'Interconnect Board'>
ENUM_STR <-1> ; Ending entry
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -