57、MS-DOS编程、汇编器使用与英特尔指令集详解

MS-DOS编程、汇编器使用与英特尔指令集详解

1. MS-DOS编程基础

MS-DOS的命令处理器会解读在命令提示符处输入的每条命令。扩展名为COM和EXE的程序被称作临时程序,它们会被加载到内存中执行,执行完毕后所占用的内存会被释放。MS-DOS会在临时程序开头创建一个特殊的256字节块,名为程序段前缀。

临时程序有两种类型,取决于其扩展名:COM和EXE。COM程序是机器语言程序未经修改的二进制映像;EXE程序则存储在磁盘上,包含一个EXE头,后面跟着包含程序本身的加载模块。MS-DOS会利用EXE程序的头区域来正确计算段地址和其他组件的地址。

中断处理程序(中断服务例程)能简化输入/输出以及基本系统任务。你也可以用自己的代码替换默认的中断处理程序,以提供更完整或定制化的服务。中断向量表位于RAM的前1024字节(地址从0:0到0:03FF),表中的每个条目都是一个32位的段偏移地址,指向一个中断服务例程。

硬件中断由8259可编程中断控制器(PIC)产生,它会向CPU发送信号,使其暂停当前程序的执行,并执行一个中断服务例程。硬件中断能让CPU在重要数据丢失之前注意到后台的重要事件。中断可以由多种不同设备触发,每个设备根据其中断请求级别(IRQ)具有不同的优先级。

中断标志控制着CPU对外部(硬件)中断的响应方式。如果中断标志被设置,则允许中断;如果标志被清除,则禁止中断。STI(设置中断)指令允许中断,CLI(清除中断)指令禁止中断。

终止并驻留(TSR)程序会将自身的一部分留在内存中。TSR程序最常见的用途是安装中断处理程序,这些处理程序会一直留在内存中,直到计算机重启或通过特殊的卸载程序移除TSR。例如,No

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值