《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 解決方案 > 用匯編語言實現(xiàn)RESET啟動和熱啟動

用匯編語言實現(xiàn)RESET啟動和熱啟動

2017-07-23
關(guān)鍵詞: 匯編語言

程序名: 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


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。