最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

微机原理课后习题答案第二章微处理器和指令系统习题答案

IT圈 admin 27浏览 0评论

2024年4月3日发(作者:屈心宜)

2.9如果GDT寄存器值为FFH,装人LDTR的选择符为0040H,试问装人描述符高

速缓存的LDT描述符的起始地址是多少?

解:GDT寄存器的高32位和低16位分别为GDT的基址和段限,所以:GDT的基址

=00130000H

LDTR选择符的高13位D

15

~D

3

=B是该LDT描述符在GDT中的序号,所

以:

LDT描述符的起始地址= GDT的基址

十LDT描述符相对于GDT基址的偏移值

=00130000H+8×8=00130040H

2.10假定80486工作在实模式下,(DS)=1000H, (SS)=2000H, ( SI ) = El07FH, ( BX )=0040H,

(BP) = 0016H,变量TABLE的偏移地址为0100H。请间下列指令的源操作数字段是什么寻址

方式?它的有效地址(EA)和物理地址(PA)分别是多少?

(1)MOV AX,[1234H ] (2) MOV AX, TABLE

(3) MOV AX,[BX+100H] (4) MOV AX,TABLE[BPI[SI]

解:(1)直接寻址,EA=1234H , PA =(DS)×16+EA=11234H。

(2)直接寻址,EA= O100H,PA= (DS)×16+EA=10100H。

(3)基址寻址,EA=( EBX)+100H =0140H,PA= (DS) × 16+EA=10140H。

(4)带位移的荃址加变址寻址。(EA)= (BP)+[SI]十TABLE的偏移地址=0195H

PA=(SS)×16+EA=20195H}

2.11下列指令的源操作数字段是什么寻址方式?

(1)MOV EAX , EBX (2)MOV EAX,[ ECX] [EBX ]

(3) MOV EAX,[ESI][EDX * 2] (4)MOV EAx,[ ESI*8]

解:(1)寄存器寻址。

(2)基址加变址寻址。

(3)基址加比例变址寻址。

(4)比例变址寻址。

2.12分别指出下列指令中源操作和目的操作数的寻址方式。

式表示出EA和PA。

(1)MOV SI,2100H (2)MOV CX, DISP[BX]

(3) MOV [SI] ,AX (4)ADC AX,[BX][SI]

(5)AND AX,DX (6) MOV AX,[BX+10H]

(7) MOV AX,ES:[BX] (8) MOV Ax, [BX+SI+20H]

(9) MOV [BP ].CX (10) PUSH DS

解:(1) 源操作数是立即数寻址;目的操作数是寄存器寻址。

(2)源操作数是基址寻址,EA=(BX)+DISP,PA=(DS)×16+(BX)+DISP

目的操作数是寄存器寻址。

(3)源操作数是寄存器寻址;

目的操作数是寄存器间接寻址,EA=(SI).PA=(DS) × 16十(SI)。

(4)操作数是基址加变址寻址,EA= (BX)+(SI).PA= (DS) × 16十(BX)+(SI)

目的操作数是寄存器寻址。

(5)源操作数和目的操作数均为寄存器寻址。

(6)源操作数是基址寻址,EA=(BX)+= (DS) × 16十(BX)+10H

目的操作数是寄存器寻址。

(7)源操作数是寄存器间接寻.EA= (Bx).PA= (ES) × 16+(BX)

目的操作数是寄存器寻址。

(8)源操作数是带位移的基址加变址寻址:

EA=(BX)+(SI)+= (DS) × 16+(BX)+(SI)+20H ;

目的操作数是寄存器寻址。

(9)源操作数是寄存器寻址;

目的操作数是寄存器间接寻址,EA=(BP).PA= (SS) × 16十(BP)。

(10)源操作数是寄存器寻址;

目的操作数是堆栈寻址,EA=(SP)-=(SS) × 16十(SP)-2。

2.13已知80486工作在实地址方式下。其中一些寄存器的内容和一些存储单元的内容如图

2.1所示,试指出下列各条指令执行后。AX中的内容。

(1) MOV AX , 2010H

(2) MOV AX, BX

(3) MOV AX ,[1200H]

(4) MOV AX , [BX ]

(5) MOV AX, 1100H[BX]

(6) MOV AX,[BX][SI]

(7) MOV AX, 1100H[Bx+SI]

( 8) LEA AX,[SI]

解:(1) (AX) =2010H;

(2) (AX)=(BX)=0100H;

(3) (AX)= [32100H]=4C2AH:

(4)(AX)= [ 30100H]=3412H;

(5)(AX)= [31202H]=4C2AH;

(6)(AX)= [30102H]=7856H;

(7) (AX)= [31202H]=65B7H;

(8)(AX)=(SI)=0002H

2.15已知数据如图2.2所示,数据是低位在前,按下列要求编写程序段:

(1)完成NUM1和NUM2的两个字数据相加,和存放在NUM1中。

(2)完成NUM 1单元开始的连续4个字节数据相加,和不超过一

字节,放在RES单元。

(3)完成NUM1单元开始的连续8个字节数据相加,和为Ifi位,

放在RES和RES十1两个单元中。

2024年4月3日发(作者:屈心宜)

2.9如果GDT寄存器值为FFH,装人LDTR的选择符为0040H,试问装人描述符高

速缓存的LDT描述符的起始地址是多少?

解:GDT寄存器的高32位和低16位分别为GDT的基址和段限,所以:GDT的基址

=00130000H

LDTR选择符的高13位D

15

~D

3

=B是该LDT描述符在GDT中的序号,所

以:

LDT描述符的起始地址= GDT的基址

十LDT描述符相对于GDT基址的偏移值

=00130000H+8×8=00130040H

2.10假定80486工作在实模式下,(DS)=1000H, (SS)=2000H, ( SI ) = El07FH, ( BX )=0040H,

(BP) = 0016H,变量TABLE的偏移地址为0100H。请间下列指令的源操作数字段是什么寻址

方式?它的有效地址(EA)和物理地址(PA)分别是多少?

(1)MOV AX,[1234H ] (2) MOV AX, TABLE

(3) MOV AX,[BX+100H] (4) MOV AX,TABLE[BPI[SI]

解:(1)直接寻址,EA=1234H , PA =(DS)×16+EA=11234H。

(2)直接寻址,EA= O100H,PA= (DS)×16+EA=10100H。

(3)基址寻址,EA=( EBX)+100H =0140H,PA= (DS) × 16+EA=10140H。

(4)带位移的荃址加变址寻址。(EA)= (BP)+[SI]十TABLE的偏移地址=0195H

PA=(SS)×16+EA=20195H}

2.11下列指令的源操作数字段是什么寻址方式?

(1)MOV EAX , EBX (2)MOV EAX,[ ECX] [EBX ]

(3) MOV EAX,[ESI][EDX * 2] (4)MOV EAx,[ ESI*8]

解:(1)寄存器寻址。

(2)基址加变址寻址。

(3)基址加比例变址寻址。

(4)比例变址寻址。

2.12分别指出下列指令中源操作和目的操作数的寻址方式。

式表示出EA和PA。

(1)MOV SI,2100H (2)MOV CX, DISP[BX]

(3) MOV [SI] ,AX (4)ADC AX,[BX][SI]

(5)AND AX,DX (6) MOV AX,[BX+10H]

(7) MOV AX,ES:[BX] (8) MOV Ax, [BX+SI+20H]

(9) MOV [BP ].CX (10) PUSH DS

解:(1) 源操作数是立即数寻址;目的操作数是寄存器寻址。

(2)源操作数是基址寻址,EA=(BX)+DISP,PA=(DS)×16+(BX)+DISP

目的操作数是寄存器寻址。

(3)源操作数是寄存器寻址;

目的操作数是寄存器间接寻址,EA=(SI).PA=(DS) × 16十(SI)。

(4)操作数是基址加变址寻址,EA= (BX)+(SI).PA= (DS) × 16十(BX)+(SI)

目的操作数是寄存器寻址。

(5)源操作数和目的操作数均为寄存器寻址。

(6)源操作数是基址寻址,EA=(BX)+= (DS) × 16十(BX)+10H

目的操作数是寄存器寻址。

(7)源操作数是寄存器间接寻.EA= (Bx).PA= (ES) × 16+(BX)

目的操作数是寄存器寻址。

(8)源操作数是带位移的基址加变址寻址:

EA=(BX)+(SI)+= (DS) × 16+(BX)+(SI)+20H ;

目的操作数是寄存器寻址。

(9)源操作数是寄存器寻址;

目的操作数是寄存器间接寻址,EA=(BP).PA= (SS) × 16十(BP)。

(10)源操作数是寄存器寻址;

目的操作数是堆栈寻址,EA=(SP)-=(SS) × 16十(SP)-2。

2.13已知80486工作在实地址方式下。其中一些寄存器的内容和一些存储单元的内容如图

2.1所示,试指出下列各条指令执行后。AX中的内容。

(1) MOV AX , 2010H

(2) MOV AX, BX

(3) MOV AX ,[1200H]

(4) MOV AX , [BX ]

(5) MOV AX, 1100H[BX]

(6) MOV AX,[BX][SI]

(7) MOV AX, 1100H[Bx+SI]

( 8) LEA AX,[SI]

解:(1) (AX) =2010H;

(2) (AX)=(BX)=0100H;

(3) (AX)= [32100H]=4C2AH:

(4)(AX)= [ 30100H]=3412H;

(5)(AX)= [31202H]=4C2AH;

(6)(AX)= [30102H]=7856H;

(7) (AX)= [31202H]=65B7H;

(8)(AX)=(SI)=0002H

2.15已知数据如图2.2所示,数据是低位在前,按下列要求编写程序段:

(1)完成NUM1和NUM2的两个字数据相加,和存放在NUM1中。

(2)完成NUM 1单元开始的连续4个字节数据相加,和不超过一

字节,放在RES单元。

(3)完成NUM1单元开始的连续8个字节数据相加,和为Ifi位,

放在RES和RES十1两个单元中。

发布评论

评论列表 (0)

  1. 暂无评论