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 位...