当前位置:首页 > 微机原理与接口技术第三版冯博琴课后答案
微机原理与接口技术第三版冯博琴课后
答案
【篇一:微机原理与接口技术第三版吴宁,冯博琴试题库
(含答案)】
量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)=34h,
(20102h)=56h,(20103h)=78h,(21200h)=2ah,(21201h)=4ch,(21202h)=b7h,(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=21200h开始的两个单元内容送ax,故执行完后ax寄存器的内容为4c2ah;
(6)指令mov ax,[bx+si]是将从物理地址=(ds)*10h+(bx)+(si)=20102h开始的两个单元内容送ax,故执行完后ax寄存器的内容为7856h;
(7)指令mov ax,[bx+si+1100]是将从物理地址=(ds)*10h+(bx)+(si)+1100h=21202h开始的两个单元内容送ax,故执行完后ax寄存器的内容为65b7h;
4.假设已知(ds)=2900h,(es)=2100h,(ss)=1500h,(si)=00a0h,(bx)= 0100h,(bp)=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中,无物理地址;
(3)在指令 mov ax,[100h] 中,源操作数字段的寻址方式是直接寻址,其物理地址值=(ds)*10h+100 =29000h+100h=29100; (4)在指令 mov ax,val 中,源操作数字段的寻址方式是直接寻址,其物理地址值=(ds)*10h+50h =29000h+50h=29050h;
(5)在指令 mov ax,[bx] 中,源操作数字段的寻址方式是寄存器间接寻址,其物理地址值=(ds)*10h +(bx)=29000h+100h=29100h;
(6)在指令 mov ax,es:[bx] 中,源操作数字段的寻址方式是寄存器间接寻址,其物理地址值=(es)*10h+(bx)=21000h+100h=21100h;
(7)在指令 mov ax,[bp] 中,源操作数字段的寻址方式是寄存器间接寻址,其物理地址值=(ss)*10h +(bp)=15000h+10h=15010h;
(8)在指令 mov ax,[si] 中,源操作数字段的寻址方式是寄存器间接寻址,其物理地址值=(ds)*10h +(si)=29000h+0a0h=290a0h;
(9)在指令 mov ax,[bx+10] 中,源操作数字段的寻址方式是寄存器相对寻址,其物理地址值=(ds)*10h+(bx)+0ah= 29000h+100h+0ah =2910ah;
(10)在指令 mov ax,val[bx] 中,源操作数字段的寻址方式是寄存器相对寻址,其物理地址值=(ds)*10h+(bx)+50h= 29000h+100h+50h= 29150h;
(11)在指令 mov ax,[bx][si] 中,源操作数字段的寻址方式是基址变址寻址,其物理地址值=(ds)*10h+(bx)+(si) =29000h+100h+0a0h =291a0h;
(12)在指令 mov ax,[bp][si] 中,源操作数字段的寻址方式是基址变址寻址,其物理地址值=(ss)*10h+(bp)+(si)=15000h+10h+0a0h =150b0h
5.分别指出下列指令中的源操作数和目的操作数的寻址方式。 (1)mov si,200
(2)mov cx,data[si] (3)add ax,[bx+di] (4)and ax,bx (5)mov [si],ax (6)pushf
答:(1)目的操作数字段的寻址方式是寄存器寻址,源操作数字段的寻址方式是立即数寻址;
(2)目的操作数的寻址方式是寄存器寻址,源操作数的寻址方式是寄存器相对寻址;
(3)目的操作数的寻址方式是寄存器寻址,源操作数的寻址方式是基址变址寻址;
(4)目的操作数的寻址方式是寄存器寻址,源操作数的寻址方式也是寄存器寻址;
(5)目的操作数的寻址方式是寄存器间接寻址,源操作数的寻址方式是寄存器寻址;
(6)目的操作数的寻址方式是寄存器间接寻址,源操作数的寻址方式是寄存器寻址;
6.试述指令mov ax,2010h和mov ax,ds:[2010h] 的区别。
答:指令mov ax,2010h是将立即数2010h送ax寄存器,而指令mov ax,ds:[2010h]是将ds段有效地址为2010h的两个单元的内容送ax。
共分享92篇相关文档