实验3

---恢复内容开始---

练习1.

(1)输入汇编程序

(2)程序的运行结果如下图所示,可以得到程序的运行结果为dddt1

(3)修改line 4和line9中的代码修改结果如下图所示

(4)运行结果为

(5)

其中cx=0016 而cs=ds+10h

(6)使用-d命令查看内存

 

psp应为ds:ip的头地址然而在如图所示数据段处的头两个字节为B402而并非所CD20

 

 

(7)反汇编后其结果如下图所示

 

(8)对程序进行单步调试

 

 

练习2

(1)

(2)当将line7中的0433h修改为0432h将line10的0436h修改为0439后重新编译连接所得到的结果为29如下图所示

(3)将源代码中的line7中的0433修改为0333h,将line10中的0436h修改为0336h重新汇编、连接所得的结果如下图

结果仍然是36不过其颜色由红色变成了蓝色;

 

 二:实验结论

(3)延伸思考和分析

下图为实验1任务4

两者从汇编指令上而言都是完成了对内存地址中的数据的修改,当内存地址中的数据有所改变之时

汇编的debug或dosbox上会出现相应的图形或者数字。且出现的内容与在内存中所填的数据而有所不同。

(2)在实验二中我们是通过修改内存中的数据进而实现了数字的显示

实验一中可能是通过指令 add dl,xx和int 21h实现了对数据的显示

五:实验总结

1:学会了在实验的过程中通过masm进行编译汇编程序(确实比在debug中一步一步的输入汇编指令方便的多)

2.了解了程序运行时的一些基本原理例如cs=ds+10h

3.程序中的数值显示可能与内存中的数据有一定的关联

 

 

 

---恢复内容结束---

posted @ 2018-11-17 18:52  Assembly123  阅读(119)  评论(0编辑  收藏  举报