曹玉珍 微机原理课后作业答案18章.docx

上传人:b****6 文档编号:7206290 上传时间:2023-05-11 格式:DOCX 页数:20 大小:179.24KB
下载 相关 举报
曹玉珍 微机原理课后作业答案18章.docx_第1页
第1页 / 共20页
曹玉珍 微机原理课后作业答案18章.docx_第2页
第2页 / 共20页
曹玉珍 微机原理课后作业答案18章.docx_第3页
第3页 / 共20页
曹玉珍 微机原理课后作业答案18章.docx_第4页
第4页 / 共20页
曹玉珍 微机原理课后作业答案18章.docx_第5页
第5页 / 共20页
曹玉珍 微机原理课后作业答案18章.docx_第6页
第6页 / 共20页
曹玉珍 微机原理课后作业答案18章.docx_第7页
第7页 / 共20页
曹玉珍 微机原理课后作业答案18章.docx_第8页
第8页 / 共20页
曹玉珍 微机原理课后作业答案18章.docx_第9页
第9页 / 共20页
曹玉珍 微机原理课后作业答案18章.docx_第10页
第10页 / 共20页
曹玉珍 微机原理课后作业答案18章.docx_第11页
第11页 / 共20页
曹玉珍 微机原理课后作业答案18章.docx_第12页
第12页 / 共20页
曹玉珍 微机原理课后作业答案18章.docx_第13页
第13页 / 共20页
曹玉珍 微机原理课后作业答案18章.docx_第14页
第14页 / 共20页
曹玉珍 微机原理课后作业答案18章.docx_第15页
第15页 / 共20页
曹玉珍 微机原理课后作业答案18章.docx_第16页
第16页 / 共20页
曹玉珍 微机原理课后作业答案18章.docx_第17页
第17页 / 共20页
曹玉珍 微机原理课后作业答案18章.docx_第18页
第18页 / 共20页
曹玉珍 微机原理课后作业答案18章.docx_第19页
第19页 / 共20页
曹玉珍 微机原理课后作业答案18章.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

曹玉珍 微机原理课后作业答案18章.docx

《曹玉珍 微机原理课后作业答案18章.docx》由会员分享,可在线阅读,更多相关《曹玉珍 微机原理课后作业答案18章.docx(20页珍藏版)》请在冰点文库上搜索。

曹玉珍 微机原理课后作业答案18章.docx

曹玉珍微机原理课后作业答案18章

第1章答案

6.解:

(1)(0.653)10=(0.A72B)16

(2)(0.109375)10=(0.1C00)16

(3)(0.4567)10=(0.74EA)16

7.解:

(1)783=30FH

(2)5372=14FCH

(3)957=3BDH

9.解:

(1)

原码:

0.0001101B

反码:

0.0001101B

补码:

0.0001101B

(2)

原码:

1.0001100B

反码:

1.1110011B

补码:

1.1110100B

(3)

原码:

1.0100010B

反码:

1.1011101B

补码:

1.1011110B

10.解:

浮点形式为:

00110111100

浮点形式为:

11000110000

浮点形式为:

11001110000

浮点形式为:

11111100101(舍入处理:

0舍1入法)

第2章答案

5.答:

8086系统中存储器的逻辑地址由段地址(段首址)和段内偏移地址(有效地址)两部分组成;存储单元的物理地址由地址加法器生成,寻址时,CPU首先将段地址和段内偏移地址送入地址加法器,地址加法器将段地址左移4位并与段内偏移地址相加,得到一个20位的物理地址。

7.答:

从CPU的内部结构来看,8086CPU与8088CPU很相似,区别仅表现在以下两个方面:

1)8086BIU中指令队列长度为6B,只要队列中出现两个空闲字节,BIU就会自动访问存储器,取指令来填满指令队列;而8088BIU的指令队列为4B,队列中出现一个空闲字节,BIU就会自动访问存储器,取指令来填满指令队列。

2)8088BIU通过总线控制电路与外部交换数据的总线宽度是8位,总线控制电路与专用寄存器组之间的数据总线宽度也是8位,而EU内部总线仍是16位,所以把8088称为准16位微处理器。

12.答:

由于存储器分段以后逻辑段的段地址不可能是小数,所以本题中的计算结果为小数的段寄存器内容为错误的,只有SS的内容为3056H正确。

(SS)*16+0F0AAH=3F60AH→SS的内容为3056H。

13.解:

(1)将下列逻辑地址转换为物理地址

1)4037H:

000AH

4037H*10H+000AH=4037AH

2)5075H:

002AH

5075H*10H+002AH=5077AH

3)8288H:

037AH

8288H*10H+037AH=825FAH

4)0010H:

E05BH

0010H*10H+E05BH=0E15BH

15.解:

(1)47H+38H

(2)52H-7FH

17.解:

1)物理地址范围:

2360*10H+0000H=23600H

2360*10H+0800H=23E00H

所以范围为:

23600H~23E00H

2)SP的内容为0800H-20D=0800H-14H=07ECH

第3章答案

1.答:

源操作数

目的操作数

1

立即寻址

寄存器寻址

2

直接寻址

寄存器寻址

3

寄存器寻址

寄存器间接寻址

4

寄存器相对寻址

寄存器寻址

5

寄存器寻址

寄存器寻址

6

寄存器寻址

相对基址变址寻址

7

基址变址寻址

寄存器寻址

8

立即寻址

寄存器间接寻址

2.答:

(1)(DS)*10H+EA=2100H*10H+0020=21020H

(2)(DS)*10H+(BX)+10=2100H*10H+0200+0AH=2120AH

(3)(DS)*10H+(SI)+DELTA=2100H*10H+0540H+0100H=21640H

(4)(DS)*10H+(BP)+(DI)=2100H*10H+0120H+(DI)

(5)(ES)*10H+EA=3000H*10H+1020H=3120H

4.答:

(1)03H

(2)03H(3)0A8H(4)0A9H

(5)1EFH(6)01H(7)14H(8)

7.答:

MOVAL,25H

SHLAL,1

MOVBL,15H

MULBL

AX=0612H

10.答:

BX=0000000010110111

循环左移1位后:

0000000101101110

循环右移3位后:

1100000000101101

BX=C02DH

第4章答案

第1题答案:

(1)BUF1DB240DUP(?

(2)DB‘ABCD’,‘1234’

(3)

P108第3题答案:

DATASSEGMENT

;此处输入数据段代码

DATASENDS

STACKSSEGMENT

DB20DUP(?

);此处输入堆栈段代码

STACKSENDS

CODESSEGMENT

ASSUMECS:

CODES,DS:

DATAS,SS:

STACKS

START:

MOVAX,DATAS

MOVDS,AX

MOVAX,562CH

XORBX,BX

MOVCX,16

A0:

ROLAX,1

JCA1

INCBH

JMPA2

A1:

INCBL

A2:

LOOPA0

MOVCX,BX

MOVAH,4CH

INT21H

CODESENDS

ENDSTART

P108第7题答案:

DATASSEGMENT

BUF1DB12H,25H,0FEH,13H,25H,1EH,0F5H,1AH,19H,22H

BUF2DW?

'$'

DATASENDS

STACKSSEGMENT

DB20DUP(?

);此处输入堆栈段代码

STACKSENDS

CODESSEGMENT

ASSUMECS:

CODES,DS:

DATAS,SS:

STACKS

START:

MOVAX,DATAS

MOVDS,AX

MOVCX,9

MOVBH,BUF1

MOVBL,BUF1

LEASI,BUF1

A0:

INCSI

CMP[SI],BH

JAA1

CMP[SI],BL

JAA2

MOVBL,[SI]

JMPA2

A1:

MOVBH,[SI]

A2:

LOOPA0

MOVAH,4CH

INT21H

CODESENDS

ENDSTART

第5章答案

6.答:

16片;A12~A0;A15,A14,A13

9.答:

(1)A8~A0,D3~D0

(2)A9~A0,D3~D0

(3)A9~A0,D7~D0(4)A10~A0,D0

(5)A11~A0,D0(6)A13~A0,D3~D0

(7)A15~A0,D0(8)A17~A0,D3~D0

10.答:

(1)

;片内寻址线:

A8~A0;总地址线:

A12~A0

(2)

;片内寻址线:

A9~A0;总地址线:

A14~A0

(3)

;片内寻址线:

A9~A0;总地址线:

A11~A0

(4)

;片内寻址线:

A11~A0;总地址线:

A15~A0

第6章答案

2.答:

接口是CPU与“外部世界”的连接电路,是CPU与存储器、输入输出设备等外设之间协调动作的控制电路;从更一般的意义上说,接口是在两个电路或设备之间,使两者动作条件相配合的连接电路。

典型的I/O接口包括数据端口、状态端口、控制端口及控制逻辑电路。

数据端口是双向的,用于CPU与外设之间的数据传送和缓冲;状态端口用于传送外设的状态给CPU;控制端口用于传送CPU向外设所发送的控制命令。

3.答:

I/O端口的寻址方式有直接寻址和间接寻址两种。

直接寻址只能用于端口地址在00H~0FFH范围时,在IN和OUT指令中直接给出端口地址;而间接寻址可以用于端口地址为0000H~0FFFFH范围,但端口地址在100H~0FFFFH范围时只能用间接寻址方式,端口地址先存放于DX寄存器中,然后在IN或OUT指令中由DX做为端口地址指针。

5.答:

I/O编址方式有统一编址方式和独立编址方式两种。

1)I/O端口和存储器统一编址   

这种编址方式是外设端口地址和存储器单元地址,共用存储器的访问空间,即一个外设端口占用一个存储单元地址。

不用专用的I/O指令,访问I/O端口使用的是存储器读/写操作指令。

   

①优点:

CPU访问存储单元的所有指令都可用于访问I/O端口;   

②缺点:

其一是I/O端口占用了内存空间;其二是在程序中不能一目了然的区分当前正在进行的访问是存储器还是I/O端口。

2)I/O端口独立编址   

这种编址方式是外设端口地址和存储器单元地址,分别是建立地址空间。

专用的I/O指令访问I/O端口。

   

①优点:

其一是I/O端口不占用内存空间;其二是访问I/O端口指令仅需两个字节,执行速度快;其三是读程序时只要是I/O指令,即知是CPU访问I/O端口。

   

②缺点:

其一是要求CPU有独立的I/O指令;其二是CPU访问I/O端口的寻址方式少。

8.答:

(1)在一个芯片中有4个独立的DMA通道,每个通道均可独立地传送数据。

(2)每个通道的DMA请求都可以分别允许和禁止。

(3)每个通道的DMA请求有不同的优先权,优先权可以是固定的,也可以是旋转的。

(4)每个通道—次传送的最大长度可达64KB。

可以在存储器与外设间进行数据传送,也可以在存储器的两个区域之间进行传送。

(5)8237的DMA有单字节传送、数据块传送、请求传送方式、级连方式等4种传送方式。

(6)有一条结束处理的输入信号,允许外界用此输入端来结束DMA传送或重新初始化。

(7)8237可以级联、任意扩展通道。

9.答:

1)单字节传送模式

在这种模式下,8237每完成一个字节传送后,内部字节计数器便减1,地址寄存器的值加l或减1。

随后,8237释放系统总线,这样CPU至少可以得到一个总线周期。

但是8237在释放总线后,会立即对DREQ端进行测试,一旦DREQ有效,则8237会立即发总线请求,在获得总线控制权后,又成为总线主模块而进行DMA传送。

2)块(成组)传送模式

在这种模式下,可以连续进行多个字节的传送,只有当字节计数器减为0,从而在端输出一个负脉冲或者外部I/O接口往DMA控制器的端送一个低电平信号时,8237才释放总线而结束传送。

第7章答案

2.答:

中断源请求中断→中断判优→中断响应→中断服务→中断返回。

4.答:

中断矢量号就是中断的类型号。

中断矢量就是中断服务程序的入口地址。

中断矢量表是中断类型号与它对应的中断服务程序入口地址之间的换算表。

中断矢量表占用存储器的最低地址区,每个中断矢量占用4个字节。

5.答:

由于14H*4=0050H,那么类型14H的中断矢量在存储器的0000H:

0050H~0000H:

0053H单元存放。

将中断服务程序入口地址装入中断矢量表的方法为:

MOVAX,0000H

MOVDS,AX

MOVAX,SEGIRQ14S;中断服务程序入口地址的段地址送中断矢量表

MOVSI,0050H

MOV[SI],AX;将14H的入口地址的段地址送0000H:

0050H单元

MOVAX,OFFSETIRQ14S

MOVSI,0052H

MOV[SI],AX

6.答:

(1)可为CPU管理和处理8个中断源电路的中断,并对它们进行优先级管理。

(2)可与其它8个8259A芯片组成主从式中断系统,实现64级中断源控制。

(3)优先级方式在执行程序时可动态改变,有多种中断管理方式。

(4)每一中断源中断都可以屏蔽或允许,可通过编程选择。

(5)能自动送出中断类型号,使CPU方便的找到中断服务程序的入口地址。

(6)允许中断嵌套。

第8章答案

2.答:

8255A芯片的端口有数据端口A、端口B、端口C和控制端口四个端口。

三种工作方式,即方式0--基本输入输出方式、方式1--选通输入输出方式及方式2--双向输入输出方式。

方式0无固定的联络信号,当端口工作于方式0时,由CPU执行IN/OUT指令就可以实现A、B、C三端口数据的输入/输出传送操作,另外,端口C的某些位也可以做为端口A、B的控制和状态信息位,而且此信息位是由C口按位置位/复位控制字产生。

在方式1下,端口A或端口B仍作为数据端口,端口C的某些位固定作为应答信号或中断请求(这种规定在输入和输出时不相同),其余位可指定为输入或输出,但只能工作于方式0。

方式2类似于方式1输入和输出的组合。

设定为方式2后,端口C的5位作为指定的控制/联络信号,端口A既做为输入端口又做为输出端口,双向传送数据,而端口B仍然可选方式0或方式1,做为输入端口或者输出端口。

3.答:

方式选择控制字:

10111111B;此时,方式选择控制字中的D3、D1用于指定C口在方式1下做为A口和B口控制位以外的其余位做为输入线。

6.答:

(1)初始化程序为:

CLI;关中断

MOVDX,CONTROL-PORT

MOVAL,10000010B;A口工作于方式0输出,B口工作于方式0输入,C口工作于方式0输出

OUTDX,AL

或者

CLI;关中断

MOVDX,CONTROL-PORT

MOVAL,10011001B;A口工作于方式0输入,B口工作于方式0输出,C口工作于方式0输入

OUTDX,AL

(2)初始化程序为:

MOVDX,CONTROL-PORT

MOVAL,10100010B;A口工作于方式1输出,B口工作于方式0输入,C口其余位输出

OUTDX,AL

STI;开中断

(3)初始化程序为:

CLI;关中断

MOVDX,CONTROL-PORT

MOVAL,11000100B;A口工作于方式2,B口工作于方式1输出,C口其余位输出

OUTDX,AL

(4)初始化程序为:

MOVDX,CONTROL-PORT

MOVAL,10110100B;A口工作于方式1输出,B口工作于方式0输入,C口其余位输出

OUTDX,AL

MOVAL,00001111B;PC7置1

OUTDX,AL

MOVAL,00001100B;PC6清0

OUTDX,AL

STI;开中断

7.答:

设8255A的端口地址为60H、61H、62H、63H,则初始化程序为:

MOVAL,10010000B

OUT63H,AL

INAL,60H

OUTAL,61H

CMPAL,80H

JNLA0

MOVAL,00001010B

OUT63H,AL

MOVAL,00000100B

OUT63H,AL

JMPSTOP

A0:

MOVAL,00001011B

OUT63H,AL

MOVAL,00000101B

OUT63H,AL

STOP:

MOVAH,4CH

INT21H

16.答:

8253有三个定时器/计数器,即计数器0、计数器1和计数器2。

每个计数器的操作是完全独立的,但它们的结构相同。

每一个计数器包含一个16位的计数初值寄存器、一个16位的计数执行单元和一个16位的输出锁存器。

计数初值寄存器用以存放计数初始值,CPU用OUT指令向其写入计数初值。

锁存器在计数器工作的过程中跟随计数值的变化,在接收到CPU发来的读计数值命令时,用以锁存计数值,供CPU读取;读取完毕之后,输出锁存器又跟随计数执行单元变化。

方式0(计数结束产生中断)

写入控制字,OUT端为低电平,计数初值装入该计数器后,等待到GATE输入高电平时,计数器开始递减计数。

在整个计数过程中,OUT保持低电平,当计数器减为0时,OUT输出高电平。

方式1(可编程单拍脉冲)

写入控制字,OUT端为高电平,计数初值装入该计数器后,在GATE信号的上升沿后的下一个CLK脉冲的下降沿开始计数,OUT变为低电平。

在整个计数过程中,OUT保持低电平,当计数器减为0时,OUT变为高电平,输出一个单脉冲,若GATE信号再由低变高,可再产生一个单脉冲,相当一个单稳态。

方式2(分频器或脉冲信号发生器)

8253相当于一个分频脉冲产生器,若计数值为N,则每输入N个CLK脉冲,输出一个脉冲,脉冲宽度等于N*CLK周期。

方式3(方波发生器)

输出周期性方波,若计数值为N,则输出的方波周期是N个CLK周期。

CPU写入控制字后OUT变高,写完计数值后自动开始计数,输出保持高电平。

当计到一半计数值时,输出变低,直到计数到0,输出又变为高,重新开始计数。

方式4(软件触发选通)

写入控制字,OUT端为高电平,写入计数初值后立即开始计数(相当软件触发启动),计数器计到0时,OUT变为低电平,经过一个CLK脉冲周期,OUT又变高,计数器停止计数,只有写入新计数值才能开始新的计数。

要求GATE一直为高电平。

方式5(硬件触发选通)

写入控制字,OUT变高,写入计数初值后,由GATE信号的上升沿触发开始计数。

计到0后,OUT变为低电平。

经一个CLK周期后,OUT又变为高电平,并停止计数,等下次GATE触发才能再计数。

17.答:

(1)输出端OUT的初始状态,方式0在写初值后,经N+1个时钟周期OUT端变为高电平,GATE=0停止计数,软触发单次负脉冲;方式5,写入控制字后,输出为高,门控触发后,经N个时钟周期,OUT变低一个时钟周期。

方式5的输出波形是宽度为一个CLK时钟周期的负脉冲,由硬件触发启动。

(2)方式1与方式5工作过程相同,但输出波形不同,方式1输出的是宽度为N个CLK脉冲的低电平有效的脉冲(计数过程中输出为低),而方式5输出的是宽度为一个CLK脉冲的负脉冲(计数过程中输出为高)。

四、8255A应用举例

【例8.5】8255A端口A作为数据输出端口工作于方式0,接了8个发光二极管,端口B作为数据输入端口工作于方式0,要求单拨PB4对应的开关K4时,发光二极管全亮;K4拨回原位又全灭。

单拨PB7对应的开关K7,单个发光二极管从VD0~VD7循环亮灯,K6回原位全灭。

设8255A端口地址为203H~206H。

【解】端口A、端口B都工作于方式0,因此采用无条件传送方式,端口A用于数据输出,端口B用于数据输入,因此得到8255A的方式选择控制字为10000010B=82H。

程序为

STACKSEGMENT

DW100DUP(?

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,SS:

STACK

MAIN:

MOVAL,82H;8255A控制字

MOVDX,206H

OUTDX,AL;8255A初始化

NEXT:

MOVDX,204H

INAL,DX;读B口数据

TESTAL,04H;测试PB4

JNZLIT;PB4=1,转LIT,发光二极管全亮

MOVAL,00H;否则全灭

JMPTRLT

LIT:

MOVAL,0FFH

TRLT:

MOVDX,203H

OUTDX,AL

MOVDX,204H

INAL,DX;读B口数据

TESTAL,80H;测试PB7

JNZCONT;PB7=1,转CONT,发光二极管循环点亮

MOVAL,00H;否则全灭

MOVDX,203H

OUTDX,AL

JMPNEXT

MOVBL,01H

CONT:

MOVAL,BL

MOVDX,203H

OUTDX,AL

CALLDELAY;调用延时程序

SHLBL,1

JNZCONT

JMPNEXT

CODEENDS

ENDMAIN

【例8.6】8255A作为字符式打印机接口,端口A工作于方式1,采用中断方式将内存BUF开始的数据区共20字节的数据输出到打印机上。

字符式打印机上输入引脚

为数据选通信号,输出引脚

为接收数据的响应信号。

地址线各位未用的均设为0。

由PC7充当打印机的数据选通信号,通过对PC7的置位/复位来产生选通。

同时,由PC2来接收打印机发出的响应信号作为能否输出的查询。

【解】由图8.11可以看出,8255A的端口地址范围为88H~8BH,芯片8259A的端口地址为90H、91H。

假设8259A初始化时送ICW2为08H,则8255AA口的中断类型码是0BH,此中断类型码对应的中断向量应放到中断向量表从2CH开始的4个单元中。

则参考程序为

DATASEGMENT

DATAENDS

STACKSEGMENT

DW100DUP(?

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

MAIN:

MOVAL,0A0H

OUT8BH,AL;设置8255A的控制字

MOVAL,01H;使选通无效

OUT8BH,AL

MOVAX,DATA

MOVDS,AX

MOVAX,STACK

MOVSS,AX

MOVAX,OFFSETRINTR

MOVWORDPTR[002CH],AX

MOVAX,SEGRINTR

MOVWORDPTR[002EH],AX;送中断向量

MOVAL,0DH

OUT8BH,AL;使8255AA口输出允许中断

LEADI,BUFF;设置地址指针

MOVCX,99;设置计数器初值

MOVAL,[DI]

OUT88H,AL;输出一个字符

INCDI

MOVAL,00H

OUT8BH,AL;产生选通

INCAL

OUT8BH,AL;撤消选通

STI;开中断

NEXT:

HLT;等待中断

LOOPNEXT;修改计数器的值,指向下一个要输出的字符

;中断服务子程序为

RINTRPROC

PUSHAX

MOVAL,[DI]

OUT88H,AL:

从A口输出一个字符

MOVAL,00H

OUT8BH,AL:

产生选通

INCAL

MOV8BH,AL;撤消选通

INCDI:

修改地址指针

IRET:

中断返回

RINTRENDP

CODEENDS

ENDMAIN

由图8.12可以看出,8255A的端口地址范围为110H、112H、114H、116H,芯片8259A的端口地址为120H、122H。

例如在异步通信中,每秒传送480个字符,每个字符包括一个起始位、七个数据位、一个奇偶校验位和一个停止位共10位组成,则传送波特率为

10位×480字符/秒=4800位/秒=4800bit/s

那么每一个信息位传送时间t位波特率的倒数为

例1:

8253控制LED。

要求:

LED点亮10秒,熄灭10秒

分析:

8253的数据线与CPU高8位数据线D8——D15相连,8253的各端口的地址为81H、83H、85H、87H。

OUT1输出占空比为1:

1的方波,8253端口1工作在方式3。

时钟频率为2MHz时,

16位计

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2