程序名: RESET.ASM/BOOT.ASM 程序類別: 完整的匯編語言程序
功能: 用程序完成RESET啟動和熱啟動
使用說明: 匯編連接以后轉(zhuǎn)換為com文件運行
程序說明:
在日常用機過程中,如果出現(xiàn)了異常情況常常需要重新啟動系統(tǒng) .對于IBM PC 以及其兼容機,除了開機冷啟動外,還有熱啟動和R ESET開關(guān)復(fù)位啟動,他們的共同特點是轉(zhuǎn)入BIOS的入口點(即ROM 的起始單元FFFF:0處),執(zhí)行該處的跳轉(zhuǎn)指令,轉(zhuǎn)向啟動程序,該啟 動程序在執(zhí)行過程中需檢測復(fù)位標(biāo)志字(在地址0040:0072處,占2 個字節(jié))的值,若為1234則啟動是不檢測內(nèi)存;若非1234則啟動先檢 測內(nèi)存,再啟動系統(tǒng).熱啟動和RESET啟動的不同之處在于熱啟動時 不檢測內(nèi)存,而RESET啟動是需要檢測內(nèi)存.
下面的倆個程序分別實現(xiàn)RESET啟動和熱啟動.經(jīng)過匯編,連接再轉(zhuǎn) 換成文件后才能運行.
RESET.ASM (RESET開關(guān)復(fù)位啟動程序)
CODE1 SEGMENT AT 0FFFFH
ASSUME CS:CODE1
ADDR LABEL FAR
CODE1 ENDS
CODE SEGMENT
ORG 100H
ASSUME CS:CODE,DS:CODE,ES:CODE
START:
JMP FAR PTR ADDR
CODE ENDS
END START
BOOT.ASM (熱啟動程序)
CODE1 SEGMENT AT 0FFFFH
ASSUME CS:CODE1
ADDR LABEL FAR
CODE1 ENDS
CODE SEGMENT
ORG 100H
ASSUME CS:CODE,DS:CODE,ES:CODE
START:
MOV AX,0040H
MOV DS,AX
MOV AX,1234H
MOV SI,0072H
MOV [SI],AX
JMP FAR PTR ADDR
CODE ENDS
END START