微机原理考试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.设CPU中各有关寄存器的当前状况为:SS=0a8bH、DS=17ceH、CS=dc54H、BX= 394bH、IP=2f39H、SP=1200H,BX 给出的是某操作数的有效地址,请分别写出该操作数、下一条要取的指令及当前栈顶的逻辑地址和物理地址。
答:该操作数的逻辑地址为DS:BX=17CE:394BH,物理地址=17CEH*10H+394BH= 1B62BH;下一条要取的指令的逻辑地址为CS:IP=DC54:2F39H,物理地址=DC54 H*10H+2F39H=DF479H;当前栈顶的逻辑地址=SS:SP=0A8B:1200H,物理地址=0 A8BH*10H+1200H=0BAB0H。
6.若DS=157DH时,某操作数的物理地址是215FAH,当DS=18DEH时,该操作数的物理地址是多少?
答:该操作数的段内偏移地址=该操作数的物理地址-DS=215FAH-157D0H=BE2AH, 故当DS=18DEH时,该操作数的物理地址=DS*10H+BE2AH=18DE0H+BE2AH=24C0AH
7.设 AX=2875H、BX=34DFH、SS=1307H、SP=8H,依此执行 PUSH AX、PUSH BX、POP AX、POP CX后栈顶指针变为多少?AX=? BX=? CX=?
答:当前栈顶指针=SS*10H+SP=13070H+8H=13078H,依此执行PUSH AX、PUSH BX、POP AX、POP CX后栈顶指针仍为13078H。但AX=34DFH,BX=34DFH,CX=2875H。
1. 假定(BX)=637DH,(SI)=2A9BH,位移量D=3237H,试确定在以下各种寻址方式下的有效地址是什么?
(1)立即寻址
(2)直接寻址
(3)使用BX的寄存器寻址
(4)使用BX的间接寻址
(5)使用BX的寄存器相对寻址
(6)基址变址寻址
(7)相对基址变址寻址
答:(1)立即数寻址的有效地址是当前IP的内容;
(2)直接寻址,若使用位移量D=3237H进行,则有效地址为3237H;
(3)使用BX的寄存器寻址时,操作数在BX寄存器中,因此无有效地址;
(4)使用BX的间接寻址时,有效地址在BX寄存器中,即有效地址=637DH;
(5)使用BX的寄存器相对寻址的有效地址=(BX)+D=637DH+3237H=95B4H;
(6)基址变址寻址的有效地址=(BX)+(SI)=637DH+2A9BH=8E18H;
(7)相对基址变址寻址的有效地址=(BX)+(SI)+D=C050H;
2. 写出把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令。要求使用以下几种寻址方式:
(1)寄存器间接寻址
(2)寄存器相对寻址
(3)基址变址寻址
答:(1)使用寄存器间接寻址,把首地址为BLOCK的字数组的第6个字送到DX 寄存器的指令为:
MOV BX,BLOCK
ADD BX,12
MOV DX,[BX]
(2)使用寄存器相对寻址,把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令为:
MOV BX,BLOCK
MOV DX,[BX+12]
(3)使用基址变址寻址,把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令为:
MOV BX,BLOCK
MOV SI,12
MOV DX,[BX+SI]
3. 现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34 H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B 7H,(21203H)=65H,试说明下列各条指令执行完后AX寄存器的内容。
(1)MOV AX,1200H
(2)MOV AX,BX
(3)MOV AX,[1200H]
(4)MOV AX,[BX]
(5)MOV AX,[BX+1100]
(6)MOV AX,[BX+SI]
(7)MOV AX,[BX+SI+1100]
答:(1)指令MOV AX,1200H执行完后AX寄存器的内容为1200H;
(2)指令MOV AX,BX执行完后AX寄存器的内容为0100H;
(3)指令MOV AX,[1200H]是将从物理地址=(DS)*10H+1200H=21200H开始的两个单元内容送AX,执行完后AX寄存器的内容为4C2AH;
(4)指令MOV AX,[BX]是将从物理地址=(DS)*10H+(BX)=20100H开始的两个单元内容送AX,故执行完后AX寄存器的内容为3412H;
(5)指令MOV AX,[BX+1100]是将从物理地址=(DS)*10H+(BX)+1100H=2 1200H开始的两个单元内容送AX,故执行完后AX寄存器的内容为4C2AH;
(6)指令MOV AX,[BX+SI]是将从物理地址=(DS)*10H+(BX)+(SI)=20 102H开始的两个单元内容送AX,故执行完后AX寄存器的内容为7856H;
(7)指令MOV AX,[BX+SI+1100]是将从物理地址=(DS)*10H+(BX)+(SI)+1100H=21202H开始的两个单元内容送AX,故执行完后AX寄存器的内容为65B7 H;
4.假设已知(DS)=2900H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)= 0100H,(B P)=0010H,数据段中变量名VAL的偏移地址值为0050H,试指出下列源操作数字段的寻址方式是什么?其物理地址值是多少?
(1) MOV AX,0ABH (2) MOV AX,BX
(3) MOV AX,[100H] (4) MOV AX,VAL
(5) MOV AX,[BX] (6) MOV AX,ES:[BX]
(7) MOV AX,[BP] (8) MOV AX,[SI]
(9) MOV AX,[BX+10] (10) MOV AX,VAL[BX]
(11) MOV AX,[BX][SI] (12) MOV AX,[BP][SI]
答:(1)在指令 MOV AX,0ABH 中,源操作数字段的寻址方式是立即数寻址,其物理地址值=(CS)*10H+(IP);
(2)在指令 MOV AX,BX 中,源操作数字段的寻址方式是寄存器寻址,操作数在BX中,无物理地址;