第一题:
2662H
e626H
e626H
2662H
d6e6H
fd48H
2c14H
0000H
00e6H
0000H
0026H
000cH
ps:注意的问题有 物理地址00010可以有多个段地址和偏移地址构成.如物理地址(00010H)=段地址(0000H*16)+偏移地址(0010H),也可以是物理地址(00010H)=段地址(0001H*16)+偏移地址(0000H).所以题目中的MOV AX,1是没有错误的.看到论坛上有同学就这个问题提问了.所以写出来.免得自己也糊涂了.
第二题:
1.
mov ax,6622H
jmp 0ff0:0100
mov ax,2000H
mov ds,ax
mov ax,[0008]
mov ax,[0002]
2.
自己用debug 的a命令把上述汇编代码敲进去自己查看相关寄存器的内容.注意设置cs:ip的值,以便于cpu会执行我们的代码.
3.
没有区别.cpu在读取cs:ip的地址的内容时把它当做是命令代码来执行的.其他的地方当做是数据.
- [游客] 过程的回味真是无穷! 08/05 17:57
- [kingwrcy] 多谢提示.已经过去接近4个月了.由于工作原因,汇编一直没碰了.哎.准备重新温习下. 07/31 15:09
- [younggay] 分析没有问题。加油! 04/15 16:43
- [younggay] 回答正确。 04/15 16:41
- [游客] 不知道为什么用c做code段老是报错.改成才c1就可以了.莫名其妙 我用的编辑器是masmp 04/15 15:48
- [游客] 嗯,说的很对。这里的栈操作就是一个一个的完成数据移送。 04/15 15:44
- [游客] 刚开始是这样的,弄得慢没关系,只要你努力,总会有结果的。思维是锻炼出来的,经过这程序,再有类似的思维 04/15 11:29
- [游客] 得到别人的技术,不如学会别人的思维方式。从自己参考别人的代码过程,要反思自己思维上的不足。 完 04/15 11:25
- [游客] 嗯。分析的很正确。 注意体会jmp的执行原理。 04/15 11:21
- [游客] 调程序,尤其是汇编程序,耐心是必备的。 04/15 09:37