设(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,
来源:学生作业帮 编辑:作业帮 分类:物理作业 时间:2024/05/15 01:20:48
设(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=4CH,(21202H)=B7H,(21203H)=65H,试说明下列各条指令执行完后AX寄存器中的内容是多少?
①MOV AX,1200H
②MOV AX,BX
③MOV AX,[1200H]
④MOV AX,[BX]
⑤MOV AX,1100H[BX]
⑥MOV AX,[BX][SI]
⑦MOV AX,1100H[BX][SI]
①MOV AX,1200H
②MOV AX,BX
③MOV AX,[1200H]
④MOV AX,[BX]
⑤MOV AX,1100H[BX]
⑥MOV AX,[BX][SI]
⑦MOV AX,1100H[BX][SI]
这是计算机组成原理的考试题吧,首先,你这道题肯定抄漏了(21201H)的值,我在解答中把它标注为"XX",你自行替换即可.
解答如下:
①MOV AX,1200H
将十六进制数1200H赋给寄存器AX,执行这条指令后,AX的值为1200H
②MOV AX,BX
将BX寄存器的值赋给寄存器AX,因为BX最初的值为0100H,所以执行这条指令后,AX的值为0100H
③MOV AX,[1200H]
将内存偏移地址1200H处存储的数据存入AX中.按照:“数据段的段地址DS左移4位二进制位后+偏移地址 = 物理地址”的计算公式,可知[1200H]实际对应的物理地址是21200H,因此这条指令就是将(21200H)存储的值赋给AL,将(21201H)存储的值赋给AH,所以执行这条指令后,AX的值是"XX"4CH(你没给出(21201H)的值"XX",一定是抄错了)
④MOV AX,[BX]
这条指令使用了寄存器间接寻址,将BX寄存器中的数值0100H读出来,并以0100H为偏移地址,访问对应该偏移地址0100H的内存区域,即访问物理地址20100H.并将该内存区域(20100H)存储的数12H读出来,将12H赋给AL,再把(20101H)存储的数34H读出来并赋给AH,所以执行这条指令后,AX的值是3412H
⑤MOV AX,1100H[BX]
这条指令使用了相对基址寻址,计算方法:“DS段地址左移4个二进制位+BX中存储的数值+1100H =物理地址”.计算得到的物理地址是20000H+0100H+1100H = 21200H,所以应该将(21200H)存储的数值4CH赋给AL,将(21201H)存储的数值"XX"赋给AH,所以执行这条指令后,AX的值是"XX"4CH
⑥MOV AX,[BX][SI]
这条指令使用了基址变址寻址,计算方法::“DS段地址左移4个二进制位+BX中存储的数值+SI中存储的数值 =物理地址”.计算得到的物理地址是20000H+0100H+0002H = 20102H,所以应该将(20102H)存储的数值56H赋给AL,将(20103H)存储的数值78H赋给AH,所以执行这条指令后,AX的值是7856H
⑦MOV AX,1100H[BX][SI]
这条指令使用了相对基址变址寻址,计算方法:“DS段地址左移4个二进制位+BX中存储的数值+SI中存储的数值+1100H =物理地址”.计算得到的物理地址是20000H+0100H+0002H+1100H = 21202H,所以将(21202H)存储的数值B7H赋给AL,将(21203H)存储的数值65H赋给AH,所以执行这条指令后,AX的值是65B7H
解答如下:
①MOV AX,1200H
将十六进制数1200H赋给寄存器AX,执行这条指令后,AX的值为1200H
②MOV AX,BX
将BX寄存器的值赋给寄存器AX,因为BX最初的值为0100H,所以执行这条指令后,AX的值为0100H
③MOV AX,[1200H]
将内存偏移地址1200H处存储的数据存入AX中.按照:“数据段的段地址DS左移4位二进制位后+偏移地址 = 物理地址”的计算公式,可知[1200H]实际对应的物理地址是21200H,因此这条指令就是将(21200H)存储的值赋给AL,将(21201H)存储的值赋给AH,所以执行这条指令后,AX的值是"XX"4CH(你没给出(21201H)的值"XX",一定是抄错了)
④MOV AX,[BX]
这条指令使用了寄存器间接寻址,将BX寄存器中的数值0100H读出来,并以0100H为偏移地址,访问对应该偏移地址0100H的内存区域,即访问物理地址20100H.并将该内存区域(20100H)存储的数12H读出来,将12H赋给AL,再把(20101H)存储的数34H读出来并赋给AH,所以执行这条指令后,AX的值是3412H
⑤MOV AX,1100H[BX]
这条指令使用了相对基址寻址,计算方法:“DS段地址左移4个二进制位+BX中存储的数值+1100H =物理地址”.计算得到的物理地址是20000H+0100H+1100H = 21200H,所以应该将(21200H)存储的数值4CH赋给AL,将(21201H)存储的数值"XX"赋给AH,所以执行这条指令后,AX的值是"XX"4CH
⑥MOV AX,[BX][SI]
这条指令使用了基址变址寻址,计算方法::“DS段地址左移4个二进制位+BX中存储的数值+SI中存储的数值 =物理地址”.计算得到的物理地址是20000H+0100H+0002H = 20102H,所以应该将(20102H)存储的数值56H赋给AL,将(20103H)存储的数值78H赋给AH,所以执行这条指令后,AX的值是7856H
⑦MOV AX,1100H[BX][SI]
这条指令使用了相对基址变址寻址,计算方法:“DS段地址左移4个二进制位+BX中存储的数值+SI中存储的数值+1100H =物理地址”.计算得到的物理地址是20000H+0100H+0002H+1100H = 21202H,所以将(21202H)存储的数值B7H赋给AL,将(21203H)存储的数值65H赋给AH,所以执行这条指令后,AX的值是65B7H
设(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,
设BX=1234H,DS=2000H,(21234H)=5678H,则指令“LEA SI,[BX]”执行后的结果是SI=
已知,DS =2000H,BX=100H,SI=02H.从物理地址20100H单元开始,依次存放数据12H,34H,56
假设(DS)=3000H,(SS)=3000H,(AX)=1000H,(BX)=1200H,(SI)=2,(DI)=1,
设(DS)=2000H,(ES)=3000H (SS)=4000H (BX)=1000H (BP)=1000H,(SI)
若(DS)=2000H,(SI)=0010H,COUNT=0002H,则指令MOV AX,COUNT[SI]源操作数的物
1、已知(Ax)=5678H,(Bx)=1234H,(Ds)=2000H,(Es)=3000H,指令XCHG Ax,Bx
DS=2000H,SI=0004H,BX=0100H,(20105H)=5EH,(20106H)=6FH,MOV AX,
若DS=2000H SS=1A00H SI=0062H Bx=0300H SP=6362H DS:[0362H]=0BB
若DS=2000H SS=1A00H SI=0062H BX=0300H SP=6362H DS:[0362H]=088
设(CS)=25FFH,(DS)=2140H,(SS)=2510H,(BP)=02D0H,(SI)=0010H,(DI)
已知(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=0A0H,(BX)=100H,(BP)=