实验1
编写代码
进行汇编、连接、运行、调试
程序输出结果
将 line4 和line9 种寄存器dl 的值分别修改为 0~9 中任何一个数字,重新汇编→
连接→运行,观察结果的变化。
变为81
进行调试
使用 u 命令对 t1.exe 进行反汇编,观察反汇编得到的源代码。
cx值为16h,满足(cs)=(ds)+10H,程序段前缀的头两个字节是CD 20。
实验2
输入源程序代码,汇编、连接、运行,得到红色数值36
将源代码中line7 的0433h→0432h,line10 的0436h→0439h, 然后重新汇编、连接,得到可执行文件。再次观察程序运行结果。
将源代码中line7 的0433h→0333h,line10 的0436h→0336h, 然后重新汇编、连接,得到可执行文件,再次观察程序运行结果。
总结与体会
在执行程序的过程中注意p命令的使用,遇到int 21h时使用p命令
p命令与t命令的区别
t : 执行汇编程序,单步跟踪。
p:执行汇编程序,单步跟踪。与T命令不同的是:P命令不会跟踪进入子程序或软中断(可以执行循环、重复的字符串指令)
有更多的期待补充
尚存疑问:第二个实验中通过改变偏移位置的值,输出的数字和颜色都会改变,不清楚它的原理是什么?谢谢