谁能帮我看看这个汇编指令对不对
mvo ax,2mov al,ax
mov ah,al
mov bx,ax
add ax,bx
它们最后的和不是不等于16哦? 错了撒!moval,ax 后面两个寄存器的字节数都不同!书上写有的! al 和 ah是八位寄存器 八位寄存器对八位寄存器
ax 和bx是十六位寄存器 十六位寄存器对十六位寄存器
不能八位对十六位
mvo ax,2
mov al,ax;这段有问题
mov ah,al
mov bx,ax
add ax,bx
ax是十六位,al只是八位而已啊。 mvo ax,2 ax=0002
mov al,ax ax=0002 上个指令ax=2,那么它的低八位是02,而这次又是给低八位赋值
mov ah,al ax=0202 低八位al=2,赋值给高八位ah,所以这时ax=0202
mov bx,ax bx=0202
add ax,bx 0202+0202=ax
这是我写的汇编笔记,你可以去看看:http://bbs.fishc.com/thread-22573-1-1.html
页:
[1]