addminlinux 发表于 2014-11-15 03:48:09

2.3章中遇到了个问题 求大神解达一下

本帖最后由 addminlinux 于 2014-11-15 04:12 编辑

2.3章中遇到了个问题 求大神解达一下
                           AX值         BX值

mov ax,001ah   001ah   0000h
mov bx,0026h   001ah   0026h
add al,bl         0040h   0026h
add ah,bl          2640H   0026h(我想问一下这一行的AX的值为什么会是2640H呢 怎么算出来的)

add bh,al          2640h   4026h
mov ah,0          0040h   4026h


我是这么理解的

Ah 的高位等于0bl的低位等于26
26+0不是还等于26吗
怎么会等于2640呢?

小人 发表于 2014-11-15 09:23:51

你什么的题目有点怪怪的
假设 ah=21al=0
ax=2100

假设 ah=11 al=22
ax=1122

这样理解就对

addminlinux 发表于 2014-11-15 09:52:27

这样理解的话是两数相连 不是相加了

危险之叶 发表于 2014-11-18 10:52:31

addminlinux 发表于 2014-11-15 09:52
这样理解的话是两数相连 不是相加了

ah和al本来就是相连不是相加。
这不难理解,AX本来就是16位寄存器,也可以看成是两个8位寄存器ah和al
AX前八位是ah,后八位是al,这样就合成了16位的AX
页: [1]
查看完整版本: 2.3章中遇到了个问题 求大神解达一下