关于MOV汇编指令的问题

来源:百度知道 编辑:UC知道 时间:2024/06/28 09:56:45
MOV 0150[BX],CH
在内存中的执行过程是怎样的?
ADC带进位的加法指令怎么用
如 ADC AL,[DI] ;AL=? CF=?
DAA ;AL=?
该指令中已知AX=8094H DI=000AH DS=2050H (2050AH)=37H
答案依次是AL=0CCH, CF=0H AL=32H
为什么???

mov 0150[bx],ch(写法有问题)=mov byte ptr 0150[bx],ch
;0150[bx]=ds:[bx+0150](1个字节),而ch也为1个字节8位
;即把寄存器cx中的高8位(ch)内容传送给内存ds:[bx+0150]的空间中

ADC AL,[DI];带进位的加法指令
;[di]=ds:[di]=(2050A)=37H
;al=ax的低8位=94H
;结果37H+94H=CBH 没进位CF=0

daa指令没学

我先把BX的值加上150H,得到一个偏移量;再从CH寄存器中取出一字节,
送到当前数据段的内存[BX+150H]处,下一句指令是什么?

-——我是CPU