汇编实验报告三

练习1是用MASM做的,一开始edit没办法打开,但是MASM练习2做不了,需要注册

结果为36(这个没法截图,按任意键就退出了)

改后的:

结果变为27

(3)

  1. Cx =0016 , ds = 0760 , cs = 0070 = ds + 10H

2.用d命令查看 的确如此

反汇编

P指令后AX寄存器的值变了,但我不懂为什么会变,p下面的数字是第几行开始那个程序段(我猜的)

疑问: 我把2后面加H结果不变,但是把30H的H去掉结果就变成了一个类似于X的符号,里面应该都是16进制,反汇编了一下也是一样的,分部调试也一样,就结果不一样,感觉挺奇妙的。

练习2用的edit

简化方式编译

连接

执行

(那个笑脸是搜狗截屏的快捷键弄出来了orz一截图就会有)

结果值变了,颜色没变

颜色变了

可能是因为,内存空间分配地址不同,几次都是往主随机存储器写入数据。第一次和第三次,两个数据相差3,但是,第一次是数据0430到043f之间,第三次数据在0330到033f之间,所以结果数值是一样的,颜色一红一蓝,而第一次和第二次两个数据相差一个是3,一个是7,但是都是0430到043f之间所以结果数值不同,颜色都是红色。(一本正经瞎猜的,看不懂t2.asm实现的功能,难道是在屏幕左上角实现展现一个有颜色的数据吗)

练习一是改变的寄存器的值,练习2是改变的内存单元的值。AX BX等寄存器是电脑的硬件,可能不会影响内存单元,实验2 直接在内存单元中处理,所以会和练习1不同。(这个也是猜的)

猜你喜欢

转载自www.cnblogs.com/zxy666/p/10111069.html