□为 发表于 2012-10-6 15:44:57

《汇编语言》第二版检测点3.1习题

《汇编语言》第二版检测点3.1习题

一、在Debug中,用“d 0:0 1f”查看内存,结果如下

0000:0000   70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60
0000:0010   62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88

下面程序执行前,AX=0,BX=0,写出每条汇编指令执行完后相关寄存器中的值
mov ax,1
mov ds,ax
mov ax,AX=2662H
mov bx,BX=E626H
mov ax,bx      AX=E626H
mov ax,AX=2662H
mov bx,BX=D6E6H
add ax,bx      AX=FD48H
add ax,AX=2C14H
mov ax,0       AX=0
mov al,AX=00E6H)(这里赋值完为什么AX是00E6H,而不是E600呢,求指点)
mov bx,0       BX=0
mov bl,BX=0026H
add al,bl      AX=00E7H

以上红色部分为提问内容,谢谢诸位。


补充内容 (2012-10-6 15:48):
那里的al是00还是e6

□为 发表于 2012-10-6 15:48:24

那里的al是00还是e6

mmvv114 发表于 2012-10-6 16:20:51

mov al,就相当于mov al,e6h

补充内容 (2012-10-6 16:24):
所以ax=00e6 而且al是ax的低八位低八位当然是后边的两个字节咯
所以 al=e6好好看看书这些前边都有 自己好好看看就能找到答案的

□为 发表于 2012-10-6 16:58:44

mmvv114 发表于 2012-10-6 16:20 static/image/common/back.gif
mov al,就相当于mov al,e6h

补充内容 (2012-10-6 16:24):

呃… 谢啦!!!!呵呵我把al误以为是高位了……

lyoal 发表于 2012-10-18 10:13:45

如果,-d 0:0 1f的执行结果不一样,那么相应的AX BX的值也是不一样的吧?
-d 查寻的是数据段范围,而第一条指令给DS的数据段地址是1.不明白这个?

检测点第二题中,也没有搞明白,根据各寄存器的初始值,知道。CPU最先执行的指令是CS:IP,而CS:IP指向是,MOV AX,6622H,这样下一条指令就是JMP 0FF0:0100.那么接下来的那些指令就不会执行了。

ceshi21 发表于 2012-10-18 11:23:14

呵呵 没有金币啊!!!

ceshi21 发表于 2012-10-18 11:23:45

好好看看吧!呵呵呵!!!!

我偷月亮的心 发表于 2012-10-18 14:07:06

mov al,就相当于mov al,e6h

补充内容 (2012-10-6 16:24):
所以ax=00e6 而且al是ax的低八位低八位当然是后边的两个字节咯
所以 al=e6好好看看书这些前边都有 自己好好看看就能找到答案的

我偷月亮的心 发表于 2012-10-18 14:08:32

好好看看吧!呵呵呵!!!!

c_l_龙龙 发表于 2012-12-12 00:15:26

请问mov bl,BX=0026H这个【000c】怎么给bl传到的值?我一直在这块弄不清楚

c_l_龙龙 发表于 2012-12-12 15:41:38

c_l_龙龙 发表于 2012-12-12 00:15 static/image/common/back.gif
请问mov bl,BX=0026H这个【000c】怎么给bl传到的值?我一直在这块弄不清楚

这个问题我已经弄到,当时有点晕啊···

菜鸟一个a 发表于 2013-12-24 21:44:58

学习学习再学习
页: [1]
查看完整版本: 《汇编语言》第二版检测点3.1习题