DUEL: A SUCCESSFUL DEBUG IN DOS MODE(T10-2.ASM)

来源:互联网 发布:淘宝店铺小号怎么登了 编辑:程序博客网 时间:2024/04/30 13:19
调试程序:杨季文 《80X86汇编语言程序设计教程》例程T10-2.asm
平台:win xp操作系统/bochs 2.6.8/DOS 7.1中文版启动盘/winImage 9.00

构建保护模式下的汇编编译及调试环境着实费了一番功夫.
---题记

一、代码



二、说明
1. offset伪指令依赖于编译环境
16位环境下,采用段:偏移的分段方式管理内存,offset返回dw(单字)段内偏移值;而32位下,offset返回内存绝对地址,即dd(双字)。处理方式为将源代码中offset语句从32位段移至16位段(可用NOP标记)。
2. 编译环境的配置
Microsoft Macro Assembler Version 9.00.21022.08
Microsoft Segmented Executable Linker Version 5.60.339
汇编程序严格依赖编译环境,编译环境是程序可重复性的保证。ml.exe从VS2008/VC/bin 中提取,link.exe取自masm 6.0. masm 6.0 之前的版本不支持32位汇编(如不能准确编译lgdt操作码),其后的版本中直到masm 9.0 才对保护模式汇编稳定支持。
参考 博文 《如何编写引导程序 Hello World》
3. 调试环境的配置
参考 博文《用bochs调试保护模式程序》
三、效果截图

0 0