程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 匯編語言 >> 用匯編語言實現RESET啟動和熱啟動

用匯編語言實現RESET啟動和熱啟動

編輯:匯編語言

程序名: RESET.ASM/BOOT.ASM 程序類別: 完整的匯編語言程序

功能: 用程序完成RESET啟動和熱啟動

使用說明: 匯編連接以後轉換為com文件運行

程序說明:

在日常用機過程中,如果出現了異常情況常常需要重新啟動系統 .對於IBM PC 以及其兼容機,除了開機冷啟動外,還有熱啟動和R ESET開關復位啟動,他們的共同特點是轉入BIOS的入口點(即ROM 的起始單元FFFF:0處),執行該處的跳轉指令,轉向啟動程序,該啟 動程序在執行過程中需檢測復位標志字(在地址0040:0072處,占2 個字節)的值,若為1234則啟動是不檢測內存;若非1234則啟動先檢 測內存,再啟動系統.熱啟動和RESET啟動的不同之處在於熱啟動時 不檢測內存,而RESET啟動是需要檢測內存.

下面的倆個程序分別實現RESET啟動和熱啟動.經過匯編,連接再轉 換成文件後才能運行.

RESET.ASM (RESET開關復位啟動程序)

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved