1771437751 发表于 2014-7-14 17:06:22

寄存器问题

汇编里面为什么AX=D888时add al,alAX=D880?怎么回事

lmin0618 发表于 2014-7-14 17:33:42

应该是D810吧

catch 发表于 2014-7-14 17:35:08

谁和你说结果为 AX=D880 ?

catch 发表于 2014-7-14 17:36:40

add al,al   

ax=d810h

1771437751 发表于 2014-7-14 18:41:49

catch 发表于 2014-7-14 17:35
谁和你说结果为 AX=D880 ?

看帖子看到的。。。很不解{:2_25:}

1771437751 发表于 2014-7-14 18:43:19

catch 发表于 2014-7-14 17:36
add al,al   

ax=d810h

请问怎么计算的?对这高位和低位还有点模糊{:2_28:}

lmin0618 发表于 2014-7-14 19:50:11

1771437751 发表于 2014-7-14 18:43
请问怎么计算的?对这高位和低位还有点模糊

AX寄存器是16位的 为了兼容8位的问题 AX内部分为AH高位寄存器和 AL低位寄存器两个用于兼容8位程序 而AX=D888 是16位数值 把它分开是D8 高位 88 低位 ADD al, al 88+88=110 多出来的1会存放在其外寄存中,所以 D8+10=D810

1771437751 发表于 2014-7-14 20:25:20

lmin0618 发表于 2014-7-14 19:50
AX寄存器是16位的 为了兼容8位的问题 AX内部分为AH高位寄存器和 AL低位寄存器两个用于兼容8位程序 而AX=D ...

哦哦懂了谢了{:2_30:}
页: [1]
查看完整版本: 寄存器问题