橙子 发表于 2012-5-17 20:34:52

谁能帮我看看这个汇编指令对不对

mvo ax,2

mov al,ax

mov ah,al

mov bx,ax

add ax,bx

它们最后的和不是不等于16哦?

乘风追日 发表于 2012-5-17 20:46:45

错了撒!moval,ax   后面两个寄存器的字节数都不同!书上写有的!

leebox 发表于 2012-5-17 21:55:32

al 和 ah是八位寄存器   八位寄存器对八位寄存器
ax 和bx是十六位寄存器   十六位寄存器对十六位寄存器
不能八位对十六位
mvo ax,2

mov al,ax;这段有问题

mov ah,al

mov bx,ax

add ax,bx

arxiao 发表于 2012-5-17 22:07:53

ax是十六位,al只是八位而已啊。

核桃哥 发表于 2012-9-29 12:41:41

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]
查看完整版本: 谁能帮我看看这个汇编指令对不对