⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smb_tab.asm

📁 This program displays all SMBIOS/DMI information within the BIOS. The information is organized as a
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;' $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 + -