实验三

1:用DOSBOX里的edit编写程序并且运行,保存为1.asm

2:简易方法运行程序

 

 观察到屏幕上输出数字36

3:修改dl的值且重新汇编:

观察到修改dl的值使输出数字变为66,说明词条语句mov,dl xx控制输出数值(是否是ascll码值)

4:用debug调试1.exe文件,并且用r查看寄存器数值

观察到ds的值为15cah cs值为15dah 满足(cs)=(ds)+10h(这是肯定的)

5:观察psp内容

验证psp开始数据为 cd20(why?)

6:用u命令反汇编

7:t单步执行

遇到int 21用p命令

 

 

最终出现Program terminated normally 运行成功

2:输入代码 简易方法运行程序,出现红色36

按照要求修改后,36变化为红色29

再次按照要求修改数值,红色36变为蓝色36

 

总结:首先两个实验都是在显示屏上输出字符,实验一中经过修改比较,证明是通过程序在屏幕上输出数值,且推测为ascll码值,

果真经过修改数值 屏幕上输出的是 

实验2中经过修改对比,发现实验2是通过修改内存直接修改显示器上的值,分别是修改颜色和数值 但这导致一定风险,因为是在dos模拟下问题不大,但是直接在cmd中修改屏幕的显示会产生风险。

 

posted @ 2018-11-17 23:43  胖心  阅读(137)  评论(1)    收藏  举报