在实模式下,假设(DS)=091DH,(SS)=1E4AH,(AX)=1234H,(BX)=0024H,(CX)=5678H,(BP)=0024H,(SI)=0012H,(DI)=0032H,(09226H)=00F6H,(09228H)=1E40H,(1E4E6H)=091DH。请分别给出下列各指令或程序段的执行结果。 (1)MOV CL,20H[BX][SI] (2)MOV [BP][DI],CX (3)LEA BX,20H[BX][SI] MOV AX,2[BX]
时间: 2024-01-29 21:02:19 浏览: 421
4AH功能的具体调用方法
(1) MOV CL,20H[BX][SI]
这条指令的意思是,将位于地址DS:[BX+SI+20H]处的8位数据传送到寄存器CL中。
根据题目中给出的数据,DS=091DH,BX=0024H,SI=0012H,所以:
DS:[BX+SI+20H]=091D0H+0024H+0012H+20H=091D56H
从地址091D56H中读取数据00F6H,传送到寄存器CL中。
因此,执行结果为CL=00F6H。
(2) MOV [BP][DI],CX
这条指令的意思是,将寄存器CX中的16位数据传送到地址SS:[BP+DI]处。
根据题目中给出的数据,SS=1E4AH,BP=0024H,DI=0032H,所以:
SS:[BP+DI]=1E4A0H+0024H+0032H=1E4F6H
将CX中的数据5678H传送到地址1E4F6H处。
因此,执行结果为1E4F6H处的内存中存储的数据为5678H。
(3) LEA BX,20H[BX][SI] MOV AX,2[BX]
这两条指令一起执行,首先计算地址20H[BX][SI]的值,然后将此值存入BX寄存器中。然后将地址2[BX]的值传送到AX寄存器中。
计算地址20H[BX][SI]的值:
20H[BX][SI]=20H+DS:[BX+SI]
=20H+DS:[0024H+0012H]
=20H+DS:[0036H]
=20H+091D6H
=091D86H
将091D86H存入BX寄存器中。
然后将地址2[BX]的值传送到AX寄存器中。
2[BX]=DS:[BX+2]
=DS:[091D88H]
=091D88H处的内存中存储的数据为1E40H
因此,执行结果为AX=1E40H。
阅读全文