DOS下汇编编程:内存驻留程序与中断机制探索

需积分: 10 6 下载量 43 浏览量 更新于2024-07-30 收藏 142KB DOC 举报
"这篇文档是关于如何用汇编语言编写DOS下的内存驻留程序,主要探讨了TSR(Terminate and Stay Resident Program)的概念、应用和实现方式。内存驻留程序在执行完任务后仍保留在内存中,等待特定条件触发再次执行。常见的TSR类型包括弹出式实用工具、日历系统、网络服务器、通讯程序和DOS扩展。文档提到了TSR程序的调度通常依赖于硬件和软件中断,如键盘中断INT9H、时钟中断INT8H等。TSR程序的设计与PC的中断系统密切相关,中断向量表存储了指向中断处理程序的地址。" 在编写DOS下的内存驻留程序时,首先要理解DOS操作系统的工作原理。DOS是一个单任务、单用户的操作系统,但通过TSR技术,可以实现类似多任务的效果。TSR程序的核心在于它能够在执行完初始任务后,不被卸载,而是继续占用内存空间,等待特定事件(比如用户特定键入序列或硬件事件)触发执行。 在DOS中,中断是系统与外部设备交互的关键,也是TSR程序实现调度的基础。中断向量表位于内存的低地址段,包含了256个中断向量,每个向量指向一个中断处理程序,由4字节组成,前两个字节是处理程序的段地址,后两个字节是偏移地址。例如,要找到第X号中断向量的地址,可以使用公式:0000H + X * 4。 在编写TSR程序时,开发者需要熟悉如何截取和处理中断,例如通过修改中断向量来插入自定义的处理程序,或者在原处理程序前后添加自己的代码。此外,TSR程序还需要考虑如何安全地与DOS和其他程序共享内存,避免冲突,并确保在适当的时候恢复原中断处理程序,以保持系统的稳定性。 文档还暗示了TSR技术可以用于制作实用工具,但也可能被滥用,如制作病毒程序。因此,理解TSR的工作原理对于防止恶意软件和编写安全的系统扩展至关重要。 这个文档将引导读者深入理解DOS环境下的汇编编程,特别是涉及中断处理和内存驻留技术的高级概念。对于想要深入了解DOS系统或复古编程的读者来说,这是一个宝贵的资源。