微机原理与接口技术基于8086和Proteus仿真第2版 习题参考答案Word格式.docx

上传人:b****4 文档编号:16945719 上传时间:2022-11-27 格式:DOCX 页数:49 大小:337.22KB
下载 相关 举报
微机原理与接口技术基于8086和Proteus仿真第2版 习题参考答案Word格式.docx_第1页
第1页 / 共49页
微机原理与接口技术基于8086和Proteus仿真第2版 习题参考答案Word格式.docx_第2页
第2页 / 共49页
微机原理与接口技术基于8086和Proteus仿真第2版 习题参考答案Word格式.docx_第3页
第3页 / 共49页
微机原理与接口技术基于8086和Proteus仿真第2版 习题参考答案Word格式.docx_第4页
第4页 / 共49页
微机原理与接口技术基于8086和Proteus仿真第2版 习题参考答案Word格式.docx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

微机原理与接口技术基于8086和Proteus仿真第2版 习题参考答案Word格式.docx

《微机原理与接口技术基于8086和Proteus仿真第2版 习题参考答案Word格式.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术基于8086和Proteus仿真第2版 习题参考答案Word格式.docx(49页珍藏版)》请在冰豆网上搜索。

微机原理与接口技术基于8086和Proteus仿真第2版 习题参考答案Word格式.docx

(+0)补=00000000 0000 0000;

(4)8位时(-0)原=10000000;

(-0)补=00000000;

16位时(-0)原=100000000000 0000;

 (-0)补=0000000000000000;

(5)8位时(127)原=01111111;

(127)补=01111111;

16位时(127)原=0000000001111111;

(127)补=0000000001111111;

(6)8位时-128超过原码表示的范围;

 (-128)补=10000000;

16位时(-128)原=1000 000010000000;

(-128)补=11111111 1000 0000;

(7)8位时(121)原=0111 1001;

 (121)补=0111 1001;

16位时(121)原=000000000111 1001;

(121)补=0000000001111001;

(8)8位时(-9)原=10001001;

 (-9)补=11110111;

16位时(-9)原=1000000000001001;

(-9)补=11111111 11110111;

8、答:

(1)[x]补=11000010;

(2)[-x]补=00001101;

(3)[x]原=1100 0010;

(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

62

压缩BCD码

01001001B

000100100011B

00000111B

01100010B

非压缩BCD码

0000010000001001B

0000 000100000010 0000 0011B

0000 0111B

000001100000 0010B

ASCII码

3439H

313233H

37H

3632H

第2章习题答案

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端口的读/写信号与对锁存器、总线收发器的控制信号。

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会往指令队列中装入另一个程序段中的指令。

地址信号就是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。

功能略。

(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。

由于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位)

从偶地址读/写一个字

1 0

AD7~AD0

从偶地址读/写一个字节

01

AD15~AD8

从奇地址读/写一个字节

0  1

10

AD15~AD8(第一个总线周期从奇字数据的低8位)

AD7~AD0(第二个总线周期从偶地址单元读/写字数据的高8位)

从奇地址读/写一个字

10、答:

8086系统复位后,指令指针(IP)为0000H;

CS寄存器为FFFFH,其她寄存器为0000H;

指令队列清空。

11、答:

8086的A19/S6~A16/S3与AD15~AD0就是复用信号,需要地址锁存器将地址信息保存起来,为外接存储器或外设提供地址信息。

需要锁存的信号就是:

地址信号及

信号。

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在最小模式下发出的

信号正好相反。

第3章习题答案

1、答:

指令中关于如何求出操作数有效地址的方法称为寻址方式。

8086CPU支持多种寻址方式,根据操作数的类型及来源大致分为3类:

数据寻址、转移地址寻址与I/O寻址。

8086汇编指令可以采用7种基本的数据寻址方式:

①立即寻址;

②寄存器寻址;

③直接寻址;

④寄存器间接寻址;

⑤寄存器相对寻址;

⑥基址变址寻址;

⑦相对基址变址寻址。

与存储器寻址方式(后5种)相比,寄存器寻址方式最快。

如果指令中没有用前缀说明操作数存放在哪个段,则操作数默认存放在数据段。

8086系统允许操作数存放在代码段、堆栈段或附加段。

此时,就需要在指令中利用前缀指明段超越。

MOVES:

[1225H],AX

(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)源操作数的寻址方式不同。

MOV AX,3000H指令的源操作数采用的就是立即数寻址方式,MOV AX,[3000H]指令的源操作数采用的就是直接寻址方式。

(2)指令执行后,AX的值不同。

MOV AX,MEM指令执行后,AX得到的就是MEM单元的内容,而MOV AX,OFFSETMEM指令执行后,AX得到的就是MEM单元的地址。

(3)指令不同。

MOVAX,MEMMOV AX,MEM指令执行后,AX得到的就是MEM单元的内容,而LEAAX,MEM指令执行后,AX得到的就是MEM单元的地址。

(4)转移的类型不同。

JMP SHORT L1指令实现的就是段内转移,而JMPNEARPTR L1指令实现的就是段间转移。

(5)指令的执行结果不同。

CMPDX,CX指令执行后,DX的值不变,而SUB DX,CX指令执行后,DX的值就是两寄存器值的差。

(6)操作数所在段不同。

MOV[BP][SI],CL指令访问的就是堆栈段的存储单元,而MOVDS:

[BP][SI],CL指令访问的就是数据段的存储单元。

 

7、答:

(1)MOV BYTEPTR[BP],200指令执行后,(58200H)=200H

(2)MOV WORD PTR [BX],2000指令执行后,(22400H)=2000H

8.答:

当前栈顶地址就是:

FE00H:

2010H;

执行PUSHBX指令后,栈顶地址变为:

200EH,栈顶2字节内容就是:

3457H。

(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

(AX)

CF

ZF

OF

SF

PF

134EH

1

(2)

0821H

(3)

F142H

0A69

F596

-

0A69

(1) CMP CX,DX

  JANEXT

(2)CMPAX,BX

 JNANEXT

(3)CMP DX,0

JZNEXT

(4)CMPCX,DX

 JBE NEXT

(1)程序转向L1。

(2)程序转向L1。

(3)程序转向L2。

(4)程序转向L5。

(5)程序转向L5。

因为普通运算指令执行的就是二进制数的运算,而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

AGAIN:

CMPBYTEPTR[DI],AL

JNZNEXT

MOVBYTEPTR[DI],'

'

NEXT:

INCDI

LOOPAGAIN

EXIT:

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

  

 

17、答:

CODE

MOVAX,5678H

MOVDX,1234H

NOTAX

NOTDX

ADDAX,1

ADCDX,0

MOVAH,4CH

INT21H

ENDSTART

18、答:

本程序未考虑溢出的情况。

A1DW5050H

A2DW?

;

存A1的反码

A3DW?

存A1的补码

MOVAX,A1

NOTAX

MOVA2,AX

INCAX

MOVA3,AX

CODEENDS

ENDSTART

19、答:

DATASEGMENT;

AT5000H

ORG3481H

DATDB12H

DB?

?

MOVAL,DAT

NEGAL

MOVDAT+1,AL

XORAL,00001111B

MOVDAT+2,AL

ORAL,11110000B

MOVDAT+3,AL

ENDSTART

20、答:

COUNT=1000

DATASEGMENT

ORG1000H

DATDB10DUP(12H,-5,-3,0,-128,56H,98H,4,128,200)

ORG2000H

MINDATDB?

LEASI,DAT

DECCX

MOVAL,[SI]

INCSI

CMPAL,[SI]

JLEISMIN

ISMIN:

LOOPNEXT

MOVMINDAT,AL

21.答:

STRING1DB'

hELLO!

'

COUNT1=$-STRING1

STRING2DB'

hEL1O!

COUNT2=$-STRING2

IMDB'

MATCH$'

NMDB'

NOTMATCH$'

LEASI,STRING1

LEADI,STRING2

MOVCX,COUNT1

MOVBX,COUNT2

CMPCX,BX

JNZDISPNOTMATCH

MOVAL,[SI]

MOVAH,[DI]

CMPAL,AH

INCSI

INCDI

ISMATCH:

MOVDX,OFFSETIM

MOVAH,9

JMPEXIT

DISPNOTMATCH:

MOVDX,OFFSETNM

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1