微机原理与接口技术基于8086和Proteus仿真第2版 习题参考答案.docx
- 文档编号:5317283
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:34
- 大小:338.80KB
微机原理与接口技术基于8086和Proteus仿真第2版 习题参考答案.docx
《微机原理与接口技术基于8086和Proteus仿真第2版 习题参考答案.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术基于8086和Proteus仿真第2版 习题参考答案.docx(34页珍藏版)》请在冰豆网上搜索。
微机原理与接口技术基于8086和Proteus仿真第2版习题参考答案
1、答:
为了区别所使用得数制,一般用以下两种书写格式表示:
①用括号将数字括起,后面加数制区分,数制用下标得形式给出;
②用后缀区分,二进制数、十进制数、八进制数、十六进制数得后缀分别为字母B(或b)、D(或d)、O(或o)或Q(或q)、H(或h)。
例如:
十六进制数56、78可以表示成(56、78)16或56、78H;
十进制数56、78可以表示成(56、78)10或56、78D。
2、答:
123D采用十进制,0AFH采用十六进制,77Q采用八进制,1001110B采用二进制。
3、答:
字长为8位得二进制数原码表示得最大值:
127,最小值:
-127;补码表示得最大值:
127,最小值:
-128。
字长为16位得二进制数原码表示得最大值:
32767,最小值:
-32767;补码表示得最大值:
32767,最小值:
-32768。
4、答:
(1)125D=01111101B=7DH
(2)255D=11111111B=FFH
(3)72D=01001000B=48H
(4)5090D=0001001111100010B=13E2H
5、答:
(1)11110000B=240D=F0H
(2)10000000B=128D=80H
(3)11111111B=255D=FFH
(4)01010101B=85D=55H
6、答:
(1)FFH=255D=11111111B
(2)ABCDH=43947D=1010101111001101B
(3)123H=291D=0000000100100011B
(4)FFFFH=65535D=1111111111111111B
7、答:
(1)8位时(16)原=00010000;(16)补=00010000;
16位时(16)原=0000000000010000;(16)补=0000000000010000;
(2)8位时(-16)原=10010000;(-16)补=11110000;
16位时(-16)原=1000000000010000;(-16)补=1111111111110000;
(3)8位时(+0)原=00000000;(+0)补=00000000;
16位时(+0)原=0000000000000000;(+0)补=0000000000000000;
(4)8位时(-0)原=10000000;(-0)补=00000000;
16位时(-0)原=1000000000000000;(-0)补=0000000000000000;
(5)8位时(127)原=01111111;(127)补=01111111;
16位时(127)原=0000000001111111;(127)补=0000000001111111;
(6)8位时-128超过原码表示得范围;(-128)补=10000000;
16位时(-128)原=1000000010000000;(-128)补=1111111110000000;
(7)8位时(121)原=01111001;(121)补=01111001;
16位时(121)原=0000000001111001;(121)补=0000000001111001;
(8)8位时(-9)原=10001001;(-9)补=11110111;
16位时(-9)原=1000000000001001;(-9)补=1111111111110111;
8、答:
(1)[x]补=11000010;
(2)[-x]补=00001101;(3)[x]原=11000010;(4)[x]反=10111101。
9、答:
(1)A>B;
(2)A<B
10、答:
(1)溢出;
(2)13H;(3)溢出;(4)EDH;(5)EDH。
11、答:
(1)10001000;
(2)11101110;(3)01100110;(4)10101100;
(5)00000000;(6)10101100;(7)=01010011。
12、答:
(1)30H=48,字符为‘0’;
(2)39H=57,字符为‘9’;(3)42H=66,字符为‘B’;
(4)62H=98,字符为‘b’;(5)20H=32,字符为空格;(6)7H=7,字符为报警符;
13、答:
十进制
49
123
7
62
压缩BCD码
01001001B
000100100011B
00000111B
01100010B
非压缩BCD码
0000010000001001B
000000010000001000000011B
00000111B
0000011000000010B
ASCII码
3439H
313233H
37H
3632H
1、
(1)答:
物理地址:
物理地址(PA)就是20位无符号二进制数,就是CPU访问存储器得实际地址。
每个存储单元对应一个物理地址。
8086存储空间得物理地址范围就是:
00000H~FFFFFH。
逻辑地址:
采用分段结构得存储器中,把通过段地址与偏移地址来表示得存储单元得地址称为逻辑地址,记为:
段地址:
偏移地址。
段地址:
8086规定各逻辑段从节得整数边界开始,即段首地址二进制值得低4位就是0000,把段首地址得高16位称为段基址或段地址。
偏移地址:
把某一存储单元相对于段地址得段内偏移量称为偏移地址(也称有效地址EA)。
段地址与偏移地址都就是就是16位无符号二进制数。
(2)答:
时钟周期:
计算机得“时钟”就是由振荡源产生得、幅度与周期不变得节拍脉冲,每个脉冲周期称为时钟周期,又称为T状态或T周期,时钟周期就是微机系统工作得最小时间单元。
总线周期:
当CPU访问存储器或输入/输出端口时,需要通过总线进行读或写操作,这个过程称为总线周期(BusCycle)。
总线周期就是利用总线完成一次读/写所需要得时间。
指令周期:
执行一条指令所需要得时间称为指令周期(InstructionCycle)。
指令周期由1个或多个总线周期组成。
(3)答:
最小模式:
也称为单处理器模式,就是指系统中只有一片8086微处理器,所连接得存储器容量不大、片子不多,所要连接得I/O端口也不多,系统得控制总线就直接由CPU得控制线供给,从而使得系统中得总线控制电路减到最少。
最小模式适用于较小规模得系统。
最大模式:
相对于最小模式而言,适用于中、大型规模得系统。
系统中有多个微处理器,其中一个就是主处理器8086,其她得处理器称为协处理器,承担某方面专门得工作。
需要增加一片8288来对8086CPU发出得控制信号进行变换与组合,以得到对存储器或I/O端口得读/写信号与对锁存器、总线收发器得控制信号。
2、答:
EU:
负责指令得执行,即从总线接口部件BIU得指令队列取指令,指令执行后向BIU送回运算结果,同时把运算结果得状态特征保存到标志寄存器中。
BIU:
负责CPU与存储器、I/O设备之间得数据传送。
BIU完成以下操作:
取指令送给指令队列、配合执行部件从指定得内存单元或者外设端口中取数据、将数据传送给执行部件或者把执行部件得操作结果传送到指定得内存单元或外设端口中。
8086得BIU与EU在很多时候可以并行工作,使得取指令、指令译码与执行指令这些操作构成操作流水线。
①当指令队列中有两个空字节,且EU没有访问存储器与I/O接口得要求时,BIU会自动把指令取到指令队列中。
②当EU准备执行一条指令时,它会从指令队列前部取出指令执行。
在执行指令得过程中,如果需要访问存储器或者I/O设备,那么EU会向BIU发出访问总线得请求,以完成访问存储器或者I/O接口得操作。
如果此时BIU正好处于空闲状态,那么,会立即响应EU得总线请求;但如果BIU正在将某个指令字节取到指令队列中,那么,BIU将首先完成这个取指令操作,然后再去响应EU发出得访问总线得请求。
③当指令队列已满,而且EU又没有总线访问时,BIU便进入空闲状态。
④在执行转移指令、调用指令与返回指令时,下面要执行得指令就不就是在程序中紧接着得那条指令了,而BIU往指令队列装入指令时,总就是按顺序进行得。
在这种情况下,指令队列中已经装入得指令就没有用了,会被自动消除。
随后,BIU会往指令队列中装入另一个程序段中得指令。
3、答:
地址信号就是CPU发送给内存或I/O设备得,所以地址线就是单向得;
数据信号可以从CPU发送给内存或I/O设备,也可以从内存或I/O设备发送给CPU,故而数据线就是双向得。
4、答:
8086CPU中有14个寄存器。
它们就是:
4个16位得通用寄存器:
AX、BX、CX、DX与8个8位得通用寄存器:
AH、AL、BH、BL、CH、CL、DH、DL;指针与变址寄存器SP、BP、SI、DI;4个16位得段寄存器CS、DS、SS与ES;标志寄存器FR;指令指针寄存器IP。
功能略。
5、答:
(1)加法运算得结果为:
CEACH;CF=0,PF=1,AF=0,ZF=0,SF=1,OF=1;
(2)加法运算得结果为:
68ACH;CF=0,PF=1,AF=0,ZF=0,SF=0,OF=0;
(3)加法运算得结果为:
DDDDH;CF=0,PF=1,AF=0,ZF=0,SF=1,OF=0。
6、答:
8086CPU可寻址得存储器地址范围就是00000H~FFFFFH;
可寻址得I/O端口地址范围就是0000H~FFFFH。
7、答:
由于8086CPU提供20位地址,但8086中可用来存放地址得寄存器,如IP、SP、BX、SI等都就是16位得,只能直接寻址64KB。
为了寻址1MB存储空间,8086CPU采用了典型得存储器分段技术,即将整个存储器空间分为许多逻辑段,每个逻辑段得容量小于或等于64KB。
分段后,对存储器得寻址操作不再直接用20位得物理地址,而就是采用段地址加段内偏移地址得二级寻址方式。
8、答:
将AH得内容送存储单元得操作过程中:
;
将I/O端口得内容送AL得操作过程中:
。
9、答:
A0
有效得数据引脚
操作
00
AD15~AD0(一个总线周期同时访问奇体与偶体,从奇地址单元读/写字数据得高8位,从偶地址单元读/写字数据得低8位)
从偶地址读/写一个字
10
AD7~AD0
从偶地址读/写一个字节
01
AD15~AD8
从奇地址读/写一个字节
01
10
AD15~AD8(第一个总线周期从奇字数据得低8位)
AD7~AD0(第二个总线周期从偶地址单元读/写字数据得高8位)
从奇地址读/写一个字
10、答:
8086系统复位后,指令指针(IP)为0000H;CS寄存器为FFFFH,其她寄存器为0000H;指令队列清空。
11、答:
8086得A19/S6~A16/S3与AD15~AD0就是复用信号,需要地址锁存器将地址信息保存起来,为外接存储器或外设提供地址信息。
需要锁存得信号就是:
地址信号及信号。
12、答:
8086CPU一个基本得总线周期包含4个时钟周期:
T1、T2、T3与T4。
在T1状态,有效,指示CPU访问得就是存储器还就是外设,之后CPU往多路复用总线上发出地址信息,以指出要寻址得存储单元或外设端口得地址。
在T1状态,CPU还必须在ALE引脚上输出一个正脉冲作为地址锁存信号。
信号也在T1状态送出,它用来表示数据传送得字宽。
在T2状态,CPU从总线上撤销地址,使总线得低16位浮空,置成高阻状态,为传输数据作准备。
总线得最高4位(A19~A16)用来输出本总线周期得状态信息。
读信号或写信号在T2状态变为有效,指示CPU将进行哪种操作(读或写)。
在T3状态,多路总线得高4位继续提供状态信息,而多路总线得低16位上出现由CPU读出得数据或者CPU从存储器或端口写入得数据。
在T4状态与前一个状态得交界处,CPU对数据总线进行采样,获得数据,总线周期结束。
13、答:
在有些情况下,外设或存储器速度较慢,不能及时地配合CPU传送数据。
这时,外设或存储器会通过“READY”信号线在T3状态启动之前向CPU发一个“数据未准备好”信号,于就是CPU会在T3之后插入1个或多个附加得时钟周期TW。
取决与外设或存储器速度。
14、答:
两种操作时序得不同之处发生在T1与T2状态。
①在T1状态,读周期:
应输出低电平;写周期:
应输出高电平。
②在T2状态,读周期:
有效,而无效,AD15~AD0为高阻态;写周期:
变为无效,而写信号变为有效,AD15~AD0在地址撤销之后立即送出要写入存储器或外设端口得数据。
15、答:
在最小模式下,读信号、ALE与、等信号直接由CPU给出;
在最大模式下,总线控制器8288根据与状态信号产生读信号与,ALE与、DEN也就是由8288发出得,而且DEN信号得极性与CPU在最小模式下发出得信号正好相反。
1、答:
指令中关于如何求出操作数有效地址得方法称为寻址方式。
8086CPU支持多种寻址方式,根据操作数得类型及来源大致分为3类:
数据寻址、转移地址寻址与I/O寻址。
2、答:
8086汇编指令可以采用7种基本得数据寻址方式:
①立即寻址;②寄存器寻址;③直接寻址;④寄存器间接寻址;⑤寄存器相对寻址;⑥基址变址寻址;⑦相对基址变址寻址。
与存储器寻址方式(后5种)相比,寄存器寻址方式最快。
3、答:
如果指令中没有用前缀说明操作数存放在哪个段,则操作数默认存放在数据段。
8086系统允许操作数存放在代码段、堆栈段或附加段。
此时,就需要在指令中利用前缀指明段超越。
例如:
MOVES:
[1225H],AX
4、答:
(1)寄存器寻址方式
(2)寄存器间接寻址方式,PA=10300H
(3)寄存器间接寻址方式,PA=20200H
(4)直接寻址方式,PA=10060H
(5)基址变址寻址方式,PA=10500H
(6)相对基址变址寻址方式,PA=12300H
(7)直接寻址方式,PA=11000H
(8)寄存器相对寻址方式,PA=10306H
(9)直接寻址方式,PA=10065H
5、答:
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
×
×
×
√
×
√
×
×
√
×
×
6、答:
(1)源操作数得寻址方式不同。
MOVAX,3000H指令得源操作数采用得就是立即数寻址方式,MOVAX,[3000H]指令得源操作数采用得就是直接寻址方式。
(2)指令执行后,AX得值不同。
MOVAX,MEM指令执行后,AX得到得就是MEM单元得内容,而MOVAX,OFFSETMEM指令执行后,AX得到得就是MEM单元得地址。
(3)指令不同。
MOVAX,MEMMOVAX,MEM指令执行后,AX得到得就是MEM单元得内容,而LEAAX,MEM指令执行后,AX得到得就是MEM单元得地址。
(4)转移得类型不同。
JMPSHORTL1指令实现得就是段内转移,而JMPNEARPTRL1指令实现得就是段间转移。
(5)指令得执行结果不同。
CMPDX,CX指令执行后,DX得值不变,而SUBDX,CX指令执行后,DX得值就是两寄存器值得差。
(6)操作数所在段不同。
MOV[BP][SI],CL指令访问得就是堆栈段得存储单元,而MOVDS:
[BP][SI],CL指令访问得就是数据段得存储单元。
7、答:
(1)MOVBYTEPTR[BP],200指令执行后,(58200H)=200H
(2)MOVWORDPTR[BX],2000指令执行后,(22400H)=2000H
8、答:
当前栈顶地址就是:
FE00H:
2010H;
执行PUSHBX指令后,栈顶地址变为:
FE00H:
200EH,栈顶2字节内容就是:
3457H。
9、答:
(1)(DX)=3C62H,CF=1
(2)(DX)=03C6H,CF=0
(3)(DX)=18A0H,CF=1
(4)(DX)=2BC6H,CF=0
(5)(DX)=18B7H,CF=1
(6)(DX)=BCC5H,CF=0
10、答:
(AX)
CF
ZF
OF
SF
PF
(1)
134EH
0
0
0
0
1
(2)
0821H
0
0
0
0
1
(3)
F142H
1
0
0
1
1
(4)
0A69
1
0
0
1
1
(5)
F596
-
-
-
-
-
(6)
0A69
0
0
0
0
1
11、答:
(1)CMPCX,DX
JANEXT
(2)CMPAX,BX
JNANEXT
(3)CMPDX,0
JZNEXT
(4)CMPCX,DX
JBENEXT
12、答:
(1)程序转向L1。
(2)程序转向L1。
(3)程序转向L2。
(4)程序转向L5。
(5)程序转向L5。
13、答:
因为普通运算指令执行得就是二进制数得运算,而BCD码就是十进制数,所以,需要对运算结果进行十进制调整。
在做BCD码得加、减与乘法运算时,十进制调整指令放在运算指令之后;而作BCD码得除法运算时,在运算指令之前用十进制调整指令对被除数进行调整。
14、答:
MOVCl,3
SHRbx,cl
15、答:
(略)
16、答:
DATASEGMENT
COUNT=100H
ORG1000H
D_DATADBCOUNTDUP(?
)
ORG2170H
S_DATADBCOUNT/5DUP(1,2,3,4,5)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,ES:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVES,AX
LEASI,S_DATA
LEADI,D_DATA
MOVCX,COUNT
REPMOVSB
MOVAL,1
MOVCX,COUNT
LEADI,D_DATA
AGAIN:
CMPBYTEPTR[DI],AL
JNZNEXT
MOVBYTEPTR[DI],''
NEXT:
INCDI
LOOPAGAIN
EXIT:
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
17、答:
CODESEGMENT
ASSUMECS:
CODE
START:
MOVAX,5678H
MOVDX,1234H
NOTAX
NOTDX
ADDAX,1
ADCDX,0
EXIT:
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
18、答:
19、答:
20、答:
21、答:
22、答:
23、答:
24、答:
25、答:
JMPSHORTLAB指令就是一条双字节指令。
这条指令取出后,(IP)=0102H,转移目标得偏移地址=(IP)+位移量。
所以,转移目标得物理地址=(CS)╳16+(IP)+位移量。
(1)转移目标得物理地址=(CS)╳16+0158H
(2)转移目标得物理地址=(CS)╳16+0182H
(3)转移目标得物理地址=(CS)╳16+017AH
(4)转移目标得物理地址=(CS)╳16+01E2H
26、答:
27、答:
28、答:
29、答:
1、答:
标号就是指令得符号地址,可用作控制转移指令得操作数。
标号具有3种属性:
段属性、偏移属性与类型属性。
2、答:
变量就是存储单元得符号地址。
变量具有3种属性:
段属性、偏移属性与类型属性。
3、答:
伪指令语句,也称指示性语句,就是不可执行语句,汇编后不产生目标代码,它仅仅在汇编过程中告诉汇编程序如何汇编源程序。
宏就是一个以宏名定义得指令序列。
一旦把某程序段定义成宏,则可以用宏名代替那段程序。
在汇编时,要对宏进行宏展开,即把以宏名表示得地方替换为该宏对应得指令序列得目标代码。
宏指令可以瞧成指令语句得扩展,相当于多条指令语句得集合。
4、答:
汇编语言表达式中有如下运算符:
算术操作符、逻辑操作符、移位操作符、关系操作符、数值回送操作符与属性操作符。
操作符所完成得运算在汇编阶段进行。
5、答:
略。
6、答:
(1)DB1DB10HDUP(1,2,5DUP(3),4)
(2)DB2DB'STUDENT'
(3)BD3DW12H,0ABCDH
(4)COUNTEQUDB2-DB1
7、答:
第一个OR表示该指令就是OR指令,在程序运行时,该OR操作被执行。
第二个OR就是逻辑操作符OR,在汇编时,OR运算被执行。
8、答:
(1)(AX)=1
(2)(AX)=2
(3)(CX)=5
(4)(DX)=0AH
(5)(CX)=1
(6)(DX)=4
9、答:
略。
10、答:
11、答:
12、答:
13、答:
(3)
(4)
(2)(5)
(1)
(6)
1B50H
1000H
1A70H
150BH
上表左侧得序号,表示对应操作完成后SP指向得栈顶得位置。
14、答:
15、答:
16、答:
17、~21、答:
略。
略。
1.半导体存储器得分类如下:
2.随机存取存储器RAM,又称为读/写存储器,其每个存储单元得内容可以随时按需要进行读/写操作。
RAM主要用来保存各种输入/输出数据、中间结果、与外存交换得信息,也可作堆栈使用。
而ROM得内容只能读出,不能写入或改写,一般用来存放固定得程序与数据。
3.半导体存储器得主要技术指标:
存储容量、读/写速度(存取时间与存储周期)、可靠性。
4.8086CPU与存储器连接时要考虑:
存储芯片数,AB、DB与一些控制信号得连接,奇、偶片得设置,地址译码方式等。
5.常用得存储器地址译码方式有:
全地址译码、部分地址译码、线选法。
6、需要(16k⨯8)/(1024⨯1)=128片,CPU地址线中片内寻址10位,片外4位。
7.
8.
1.I/O接口得功能:
对输入/输出数据进行缓冲与锁存、对信号得形式与数据得格式进行变换、对I/O端口进行寻址、提供联络信号等。
2.CPU与外设之间得数据传输方式有程序控制方式(无条件传输方式与程序查询方式)、中断方式、DMA、通道控制与I/O处理器。
无条件传输方式:
CPU不需要了解外设状态,直接与外设传输数据,适用于按钮开关、发光二极管等简单外设与CPU得数据传送过程。
程序查询方式:
CPU与外设传输数据之前,先检查外设状态,如果外设处于“准备好”状态(输入设备)或“空闲”状态(输出设备),才可以传输数据。
中断方式:
外设在数据准备好之后再通知CPU,这样,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理与接口技术基于8086和Proteus仿真第2版 习题参考答案 微机 原理 接口 技术 基于 8086 Proteus 仿真 习题 参考答案