微机原理的问题

给定DS=1100H,BX=0200H,LIST=0250H 和 SI=0500H。试在确定下面各条指令寻址存储器的地址。

(1)MOV LIST[ SI ],EDX (2)MOV CL,LIST[ BX+SI ]

(3 )MOV CH,[ BX+SI ] (4)MOV DL,[ BX+100H ]

解:(1)是相对变址寻址,因此存储器的地址为DS*16+SI+LIST=11000H+0050H+0250H=11750H

(2) 是相对基址变址寻址,因此存储器的地址为DS*16+BX+SI+LIST=11000H+0200H+0500H+0250H =11950H

(3)是基址变址寻址,因此存储器的地址为DS*16+BX+SI=11000H+0200H+0500H=1170H

(4)是相对基址寻址,因此存储器的地址为DS*16+BX+0100H =11000H+0200H+0100H=1130H
LIST[ SI ]和EDX是什么意思 谢谢

LIST相当于一个基址,地址是0250H
[SI]指的是以SI内容为偏移地址,相当于变址
这是32位指令。通常我们看见的是16位指令,16位的操作数、寄存器(如:AX,BX,CX,DX等)。而32位的寄存器是16位寄存器扩展以后得到的,
被称作:EAX,EBX,ECX,EDX等
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-06-08
十进制数减调整指令DAS(Decimal
Adjust
After
Subtraction)
该指令也是用于调整AL的值,该值是由指令SUB或SBB运算二个压缩型BCD码所得到的结果。其调整规则如下:
、如果AL的低四位大于9,或标志位AF=1,那么,AL=AL-6,并置AF=1;
、如果AL的高四位大于9,或CF=1,那么,AL=AL-60H,并置CF=1;
、如果以上两点都不成立,则,清除标志位AF和CF。
经过调整后,AL的值仍是压缩型BCD码,即:二个压缩型BCD码相减,并进行调整后,得到的结果还是压缩型BCD码。
指令的格式:DAS
受影响的标志位:AF、CF、PF、SF和ZF(OF无定义)
例如:
MOV
AL,
43H
MOV
BL,
29H
SUB
AL,
BL
;AL=1AH,其不是压缩型的BCD码,因为低四位'A'不是BCD码
DAS
;调整后,AL=14H,这是压缩型的BCD码,也有:43-29=14
相似回答