(1)编写汇编源程序 t1.asm, 对源程序 t1.asm 进行汇编, 连接, 运行, 调试
.
改动源代码
.
用 debug 对生成的可执行文件 t1.exe 进行调试
cx=0016, cs=076a, ds=075a, cs= ds + 10h.
PSP(程序段前缀)的头两个字节是 CD 20, 用 debug 查看 PSP 的内容, 验证是否 如此
确实如此.
使用 u 命令对 t1.exe 进行反汇编, 观察反汇编得到的源代码
076a:0000--076a:0016 都对应源代码.
使用 t 命令和 p 命令 (遇到 int 命令时, 用 p 命令) 单步调试, 观察结果
剩下的也是重复上面的步骤.
(2)写入源代码, 编译, 链接, 运行. 第一次运行没有数字
清除屏幕第二次运行出现了红色的数字 36,amazing!
将源代码中 line7 的 0433h→0432h, line10 的 0436h→0439h, 然后重新汇编, 连接, 得到可执行文件 t2.exe. 使用 cls 命令清 屏后, 再次观察程序运行结果.
哇哦, 数字变成了 29 耶..
将源代码中 line7 的 0433h→0333h, line10 的 0436h→0336h, 然后重新汇编, 连接, 得到可执行文件 t2.exe. 使用 cls 命令清 屏后, 再次观察程序运行结果.
哇哦, 得到了蓝色的 36 耶..
结论: 好像是前面三位数字控制颜色, 后面以为数字用来显示. 具体的不知道, 是 ASC 码码? 可能后面会讲. 总的来说, 编写了第一个汇编程序, 感觉有点神奇, 也有点复杂. 需要记得汇编程序的框架.
汇编实验三
来源: http://www.bubuko.com/infodetail-2851995.html