BIOS POST代码详解:故障诊断与对照表

需积分: 43 7 下载量 139 浏览量 更新于2024-09-17 收藏 49KB DOC 举报
本文档详细介绍了BIOS和POST(Power On Self Test)代码在诊断计算机主板故障中的重要作用。BIOS POST是计算机启动过程中的一种自检程序,用于确认硬件组件是否正常工作。在遇到开机后显示特定代码的情况时,理解这些代码的意义可以帮助用户快速定位问题。 1. 特殊代码"00"和"ff"的解释: - 如果在自检过程中出现这些代码,特别是作为第一个代码出现,通常意味着主板处于正常状态,或者CMOS设置无误。 - 但如果在启动时就固定显示,可能表明主板未能完全初始化,需要进一步检查。 2. 代码顺序和含义: - 代码按照从小到大的顺序排列,但实际检测过程中,由于卡中出码顺序不确定,可能需要综合判断。 - 不同BIOS厂商(如AMI、Award、Phoenix等)对相同的代码有不同的解读,了解你的电脑BIOS类型很重要。 3. BIOS类型识别: - 查阅用户手册、BIOS芯片信息或启动屏幕,识别你的主板BIOS类型以确保正确理解代码含义。 4. PCI和ISA槽的区别: - 有些主板的PCI槽可能只有部分代码输出,而ISA槽通常有完整的自检代码。遇到代码不一致的情况,尝试在不同插槽上测试。 - Dell 810主板是一个例子,某些PCI槽的代码显示比其他槽更完整。 5. 复位信号同步问题: - ISA和PCI槽的复位信号可能不同步,这可能导致PCI代码的显示延迟。 6. 具体代码解析: - 举例代码00表示系统配置已显示,将加载INI19引导。 - 代码01涉及到处理器测试和中断管理,02进行诊断类型确认,03清除并测试键盘控制器,04使键盘控制器复位,05进行可编程间隔计时器测试。 这篇文档提供了一套全面的BIOS和POST代码大全,涵盖了从代码的解读到硬件组件测试的深入知识,对于解决电脑启动故障提供了宝贵的参考资源。当遇到BIOS POST代码时,理解这些信息有助于快速诊断和解决问题。
2018-02-20 上传
代码部分来自Google的重建IBMPC BIOS项目(https://sites.google.com/site/pcdosretro/ibmpcbios),其中的BIOS镜像(*.rom)可用于各种IBM PC模拟器,可按情况使用。源代码可以用masm编译,站内英文说明文件如下: IBM PC BIOS source code reconstruction This is a reconstruction of the IBM PC, PC XT, PC AT and PC XT 286 BIOS source code using scanning and transcription of the BIOS listings found in the IBM Technical Reference manuals. This historically relevant source code is presented here for software preservation. The following BIOS source code has been reconstructed: IBM PC version 1 04/21/81 IBM PC version 2 10/19/81 IBM PC version 3 10/27/82 IBM PC XT version 1 11/08/82 (also used on the Portable PC) IBM PC XT version 2 01/10/86 IBM PC XT version 3 05/09/86 IBM PC AT version 1 01/10/84 IBM PC AT version 2 06/10/85 IBM PC AT version 3 11/15/85 (used on the PC AT models 319 and 339) IBM PC XT 286 04/21/86 Notes: • All 3 versions of the IBM PC BIOS and the first version of the IBM PC XT BIOS were built using Intel ASM86 on an Intel development system. In each case the BIOS source code is a single large file and the BIOS code is 8KB which resides at F000:E000 • The IBM PC AT version 1 BIOS was built using IBM MASM 1.0 on DOS. This is the first IBM BIOS which uses multiple source files. Since IBM MASM 1.0 did not support the 80286 there is a macro file (IAPX286.MAC) which is used to generate the necessary opcodes. This is also the first BIOS to be split into two parts: the main BIOS code resides at F000:0000 and the compatibility section (ORGS.ASM) resides at F000:E000. An additional file FILL.ASM has been added to define the area between the end of the main BIOS code and the compatibility section to allow the BIOS to be linked properly. It is currently unknown how this was originally handled. • The IBM PC AT version 2 and 3 BIOS and the IBM PC XT 286 BIOS were built using IBM MASM 2.0 on DOS. These are similar to the PC AT version 1 BIOS but there are fewer source files as some files were combined and a bit of cleanup was done. IAPX286.INC is used to generate the protected-mode 80286 opcodes which IBM MASM 2.0 did not support. FILL.ASM serves the same purpose as it does for the PC AT version 1 BIOS though in each case the file is specific to the particular BIOS being built. • The IBM PC XT version 2 and 3 BIOS were built using IBM MASM 2.0 on DOS. The later PC XT BIOS code was restructured to be similar to the PC AT BIOS code so there are multiple source files. Like the PC AT BIOS the code is split into two parts though the compatibility section is in the file POST.ASM. Again the additional file FILL.ASM is used to define the area between the end of the main BIOS code and the compatibility section. • The following code is present in all versions of the PC AT BIOS and the PC XT 286 BIOS but does not appear in the published listings. It is inferred from the public symbols in ORGS.ASM and code disassembly. It is unknown what purpose this code serves. .XLIST ;;- ORG 0FF5AH ORG 01F5AH HRD PROC FAR CALL DISK_SETUP RET HRD ENDP FLOPPY PROC FAR CALL DSKETTE_SETUP RET FLOPPY ENDP SEEKS_1 PROC FAR CALL SEEK RET SEEKS_1 ENDP TUTOR: JMP K16 .LIST • In all cases the 32KB ROM BASIC code which resides at F6000 is not available as its source code was never published. • Versions of MASM later than 4.0 cannot be used to build the IBM BIOS source code since older constructs and macros are used. More information about functionality changes in the IBM PC BIOS code is listed here: IBM PC BIOS version history