微机原理的题目,具体问题在补充里,请各位大神给出详细步骤,有算式的那种,主要是(3)(5)
假设(CS)=3000H,(DS)=4000H,(ES)=2000H,(SS)=5000H,(Ax)=2060H, (BX)=3000H,(CX)=5,(DX)=0,(SI)=2060H,(DI)=3000H,(43000H)=0A006H,(23000H)=0B116H,(33000H)=0F802H,(25060)=00BOH,(SP)=0FFFEH,(CF)=1, (DF)=l,试写出下列各条指令单独执行完后,有关寄存器及存储单元的内容,若影响条件标志,需给出条件标志SF、ZF、OF、CF的值。
(1)SBB AX,BX
(2)CMP AX,word PTR[SI+0FAOH]
(3)MUL BYTE PTR[BX]
(4)AAM
(5)DIV BH
(6)SAR AX,CL
(7)XOR AX,0FFE7 H
(8)XCHG AX,ES:[BX+SI]
希望大佬再帮忙解释一下,为什么(BX)=3000H,就是偏移地址,而(AX)=2060H,就是内容了???
实在不懂,,,,,
你的这个完全用手工计算的确很繁的,建议的方法是,进入DOS的debug(win7以上系统可用DOSBOX或其它DOS虚拟机),然后将寄存器的值修改到上面的条件(用r命令),修改内存(e命令)及标志寄存器(rf命令)
并输入程序(a命令)
然后用t命令单步执行,就可以看到你所有寄存器的结果并可用d命令查看存储单元结果
BX可以作为变址寄存器,所以(bx)为偏移地址
而ax不能作为偏移地址的(intel CPU规定),所以(AX)只可能是内容
热门标签: