微机原理第三章作业答案

发布 2022-07-14 03:35:28 阅读 5003

3.1 简要分析8086的指令格式由哪些部分组成,什么是操作码?什么是操作数?寻址和寻址方式的含义是什么?8086指令系统有哪些寻址方式?

解答】8086的指令格式由操作码和操作数字段组成。

操作码:要完成的操作。

操作数:参与操作的对象。

寻址:寻找操作数或操作数地址的过程。

寻址方式:指令中给出的找到操作数或操作数地址采用的方式。

8086指令系统的寻址方式主要有立即数寻址、寄存器寻址、存储器寻址和i/o端口寻址。其中,存储器寻址可进一步分为直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址;i/o端口指令in和out使用的端口寻址方式有直接寻址和间接寻址。

3.2 设(ds)=2000h,(es)= 2100h,(ss)= 1500h,(si)= 00a0h,(bx)= 0100h,(bp)= 0010h,数据变量val的偏移地址为0050h,请指出下列指令的源操作数字段是什么寻址方式?它的物理地址是多少?

1) mov ax,21h (2) mov ax,bx3) mov ax,[1000h]

4) mov ax,val (5) mov ax,[bx6) mov ax,es:[bx]

7) mov ax,[bp] (8) mov ax,[si9) mov ax,[bx+10]

10) mov ax,val[bx] (11) mov ax,[bx][si] (12) mov ax,val[bx][si]

解答】1) mov ax,21h

立即寻址,源操作数直接放在指令中。

2) mov ax,bx

寄存器寻址,源操作数放在寄存器bx中。

3) mov ax,[1000h]

直接寻址,ea = 1000h,pa =(ds)×10h+ea = 2000h×10h+1000h = 21000h

4) mov ax,val

直接寻址,ea = val] =0050h,pa =(ds)×10h+ea = 2000h×10h+0050h = 20050h

5) mov ax,[bx]

寄存器间接寻址,ea =(bx)= 0100h,pa =(ds)×10h+ea = 2000h×10h+0100h = 20100h

6) mov ax,es:[bx]

寄存器间接寻址,ea =(bx)= 0100h,pa =(es)×10h+ea = 2100h×10h+0100h = 21100h

7) mov ax,[bp]

寄存器间接寻址,ea =(bp)= 0010h,pa =(ss)×10h+ea = 1500h×10h+0010h = 15010h

8) mov ax,[si]

寄存器间接寻址,ea =(si)= 00a0h,pa =(ds)×10h+ea = 2000h×10h+00a0h = 200a0h

9) mov ax,[bx+10]

相对寄存器寻址,ea =(bx)+10d = 0100h+000ah= 010ah,pa =(ds)×10h+ea = 2000h×10h+010ah = 2010ah

10) mov ax,val[bx]

相对寄存器寻址,ea =(bx)+[val]= 0100h+0050h= 0150h,pa =(ds)×10h+ea = 2000h×10h+0150h = 20150h

11) mov ax,[bx][si]

基址变址寻址,ea = bx)+(si)= 0100h+00a0h = 01a0h,pa = ds)×10h+ea = 2000h×10h+01a0h = 201a0h

12) mov ax,val[bx][si]

相对基址变址寻址,ea = bx)+(si)+[val]= 0100h+00a0h+0050h = 01f0h,pa =(ds)×10h+ea = 2000h×10h+01f0h = 201f0h

3.3 给定寄存器及存储单元的内容为:(ds) =2000h,(bx) =0100h,(si) =0002h,(20100) =32h,(20101) =51h,(20102) =26h,(20103) =83h,(21200) =1ah,(21201) =b6h,(21202) =d1h,(21203) =29h。

试说明下列各条指令执行完后,ax寄存器中保存的内容是什么。

1) mov ax,1200h2) mov ax,bx3) mov ax,[1200h]

4) mov ax,[bx] (5) mov ax,1100h[bx] (6) mov ax,[bx][si]

解答】1) mov ax,1200h ;执行后,(ax)= 1200h

2) mov ax,bx执行后,(ax)= bx)= 0100h

3) mov ax,[1200h]

直接寻址,ea = val] =1200h,pa =(ds)×10h+ea = 2000h×10h+1200h = 21200h,执行后,(ax)= b61ah

4) mov ax,[bx]

ea = bx)= 0100h,pa =(ds)×10h+ea = 2000h×10h+0100h = 20100h,执行后,(ax)= 5132h

5) mov ax,1100h[bx]

ea =(bx)+1100h = 0100h+1100h = 1200h,pa =(ds)×10h+ea = 2000h×10h+1200h = 21200h,执行后,(ax)= b61ah

6) mov ax,[bx][si]

ea =(bx)+(si)= 0100h+0002h = 0102h,pa =(ds)×10h+ea = 2000h×10h+0102h = 20102h,执行后,(ax)= 29d1h

3.4 分析下列指令的正误,对于错误的指令要说明原因并加以改正。

1) mov ah,bx2) mov [bx],[si]

3) mov ax,[si][di4) mov mydat[bx][si],es:ax

5) mov byte ptr[bx],1000 (6) mov bx,offset maydat[si]

7) mov cs,ax8) mov ds,bp

解答】1) mov ah,bx

错误,寄存器类型不匹配,可改为mov ax,bx

2) mov [bx],[si]

错误,两个操作数不能都为存储单元,可改为mov bx,[si]或mov [bx],si

3) mov ax,[si][di]

错误,寻址方式中只能出现一个变址寄存器,可改为mov ax,[bx][di]。

4) mov mydat[bx][si],es:ax

错误,ax签不能有段跨越前缀,去掉es:,改为mov mydat[bx][si],ax

5) mov byte ptr[bx],1000

错误,1000超出字节空间存储范围。

6) mov bx,offset maydat[si正确。

7) mov cs,ax

错误,mov指令cs不能做目的操作数,可改为mov ds,ax

8) mov ds,bp正确。

注:本题错误改正部分有的答案并不唯一,可参考原题题意改成合法形式。

3.5 设var1、var2为字变量,lab为标号,分析下列指令的错误之处并加以改正。

1) add var1,var22) mov al,var2

3) sub al,var14) jmp lab[si]

5) jnz var16) jmp near lab

解答】1) add var1,var2

错误,两个操作数不能都为存储单元,可改为 mov bx,var2

add var1,bx

2) mov al,var2

错误,数据类型不匹配,可改为mov ax,var2

3) sub al,var1

错误,数据类型不匹配,可改为sub ax,var1

4) jmp lab[si]

错误,寄存器相对寻址形式中不能用标号做位移量,可改为jmp var1[si]

5) jnz var1

错误,条件跳转指令只能进行段内短跳转,所以后面只能跟短标号。可改为jnz lab

6) jmp near lab

错误,缺少运算符ptr,可改为jmp near ptr lab

注:本题错误改正部分有的答案并不唯一,可参考原题题意改成合法形式。

3.6 写出能够完成下列操作的8086cpu指令。

1) 把4629h传送给ax寄存器;

2) 从ax寄存器中减去3218h;

3) 把buf的偏移地址送入bx中。

解答】1) mov ax,4629h

2) sub ax,3218h

3) lea bx,buf

3.7 根据以下要求写出相应的汇编语言指令。

(1) 把bx和dx寄存器的内容相加,结果存入dx寄存器中;

(2) 用bx和si的基址变址寻址方式,把存储器中的一个字节与al内容相加,并保存在al寄存器中;

(3) 用寄存器bx和位移量21b5h的变址寻址方式把存储器中的一个字和(cx)相加,并把结果送回存储器单元中;

(4) 用位移量2158h的直接寻址方式把存储器中的一个字与数3160h相加,并把结果送回该存储器中;

微机原理及接口第三章作业答案

1 下列各条指令是否有错?如果有,请指出错误之处并改正。1 mov ds,1000h 2 mov 100 23h 3 add ax,bx bp 6 4 push dl 5 in ax,3fh 6 out 3ffh,al 7 les ss,si 8 pop ax 9 imul 4ch 10 shl b...

通信原理第三章作业答案

3 2由于x,y统计独立,因此有 由于x,y统计独立,因此有 所以 1 若平稳,则需满足均值为常数,自相关仅是的函数 均值 因此有 自相关 综上,随机过程z t 是平稳的,证毕。注 不同,图形会有所不同,但可看作正弦波与三角波的乘积。以下两图分别是和的图,供参考。3 对于平稳随机过程,满足维纳 辛钦...

机械原理第三章作业

平面连杆机构运动学分析。已知 lae 70mm,lab 40mm,lef 60mm,lde 35mm,lcd 75mm,lbc 50mm,原动件以等角速度w1 10rad s回转。试以 法求在 1 50 时c点的速度vc和加速度ac.先对机构进行位置分析 由封闭形abcdea与aefa有 即。1 位...