我正在编写一个程序来查找和打印PC信息(CPU、硬盘、BIOS等)。在运行在VMWare和FreeDOS O/S中的低级汇编语言中,我需要找到我的BIOS版本和品牌id (或类似的东西)和硬盘信息。
我已经了解到,BIOS信息可以通过SMBIOS访问,但我对此并不十分熟悉。有人能帮我解决这个问题吗?谢谢!
发布于 2013-01-30 11:58:15
取得最新的SMBIOS规范,它在那里描述。简而言之,您需要在16字节对齐位置扫描BIOS段中的"_SM_“字符串(物理内存的第一个兆字节的前64K,即0xF0000-0x100000)。它有一个指向包含所需信息的表列表的指针。确保您验证标头校验和以避免误报。
如果您想要一些示例源代码,请查看dmidecode。
有关更详细的说明,请参见这里。
https://stackoverflow.com/questions/14593382
复制相似问题