灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2319回复:0

用汇编语言实现RESET启动和热启动

楼主#
更多 发布于:2012-09-10 18:53

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






喜欢0 评分0
游客

返回顶部