微机原理与接口技术 顾晖 习题参考答案 下载本文

MESS2 DB 'LETTER:$' MESS3 DB 'LENGTH:$' DATA ENDS MOV DL,0AH MOV AH,2

INT 21H ;换行显示 MOV AH,9 LEA DX,MESS3 INT 21H 25

23. 答: DATA SEGMENT

STRING DB 'HELL MY MASM!' COUNT=$-STRING DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV BX,0 26 27

第6章 习题答案

略。

第7章 习题答案

1.半导体存储器的分类如下:

2.什么是RAM和ROM?RAM和ROM各有什么特点?2分

随机存取存储器RAM,又称为读/写存储器,其每个存储单元的内容可以随时按需要进行读/写操作。RAM主要用来保存各种输入/输出数据、中间结果、与外存交换的信息,也可作堆栈使用。而ROM的内容只能读出,不能写入或改写,一般用来存放固定的程序和数据。

3.半导体存储器的主要技术指标:存储容量、读/写速度(存取时间和存储周期)、可靠性。 4.8086CPU和存储器连接时要考虑哪些方面的因素?(2分)

8086CPU和存储器连接时要考虑:存储芯片数,AB、DB和一些控制信号的连接,奇、偶片的设置,地址译码方式等。

5.常用的存储器地址译码方式有哪些?(2分)

常用的存储器地址译码方式有:全地址译码、部分地址译码、线选法。 6.在8086系统中,若用1024*1位的RAM芯片组成16K*8位的存储器,需要多少芯片?系统地址

29

总线中有多少位参与片内寻址?多少位用作芯片选择信号?(2分)

需要(16k?8)/(1024?1)=128片,CPU地址线中片内寻址10位,片外4位。 7.

第8章 习题答案

1.简述I/O 接口的功能。(2分)

I/O 接口的功能:对输入/输出数据进行缓冲和锁存、对信号的形式和数据的格式进行变 换、对I/O 端口进行寻址、提供联络信号等。

2.CPU与外设之间的数据传输方式有哪些?简要说明各自的含义。(2分)

CPU与外设之间的数据传输方式有程序控制方式(无条件传输方式和程序查询方式)、中断方式、DMA、通道控制和I/O处理器。

无条件传输方式:CPU不需要了解外设状态,直接与外设传输数据,适用于按钮开关、发光二极管等简单外设与CPU的数据传送过程。

程序查询方式:CPU与外设传输数据之前,先检查外设状态,如果外设处于“准备好”状态(输入设备)或“空闲”状态(输出设备),才可以传输数据。

中断方式:外设在数据准备好之后再通知CPU,这样,CPU在没接到外设通知前只管做自己的事情,只有接到通知时才执行与外设的数据传输工作。

DMA:直接存储器存取方式,将外设与内存间建立起直接的通道,CPU不再直接参加外设与内存间的数据传输,而是在系统需要进行DMA传输时,将CPU对地址总线、数据总线及控制总线的管理权交由DMA控制器进行控制。

通道控制和I/O处理器:主CPU启动通道工作,通道控制器即从主存或通道存储器中取出相应的程序,控制数据的输入/输出。

3.什么是端口?通常有哪几类端口?I/O端口的寻址方式有哪两种?在80X86系统中,采用哪一种?(2分)

每个I/O接口内部一般由3类寄存器组成,CPU与外设进行数据传输时,各类信息在接口中进入不同的寄存器,一般称这些寄存器为I/O端口。包括数据端口、状态端口、控制端口。端口寻址方式有存储器映像的I/O寻址、I/O映像的I/O寻址。80X86系统采用后者。

4.M/:低电平,ALE:高电平,:低电平;输入时DT/为低电平,为低电平有效;输出时DT/为高电平,为低电平有效。

5.在输入/输出电路中,为什么常常要使用锁存器和缓冲器?(2分) 在外设接口电路中,经常需要对传输过程中的信息进行锁存或缓冲,所以需要锁存器和缓冲器。 6.

DATA SEGMENT AT 2000H ORG 2000H

BUF DB 100 DUP(?) DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA MAIN PROC FAR

START: MOV AX,DATA

30

MOV DS,AX LEA SI,BUF MOV CX,100

INPUT: MOV DX,0FFE2H IN AL,DX ;读状态端口

TEST AL,01H ;测输入状态D0位 JZ INPUT ;未“准备好”转INPUT MOV DX,0FFE0H ;读取输入字符 IN AL,DX

MOV [SI],AL ;输入字符存缓冲区 INC SI 30

LOOP INPUT

MOV AH,4CH ;返回DOS INT 21H CODE ENDS END START 7. LED0 IOW LED1 LED7 OE G Q0

74LS373 D0~D7 Q1 Q7

. .

...

Y ≥1 D0~D7

CODE SEGMENT ASSUME CS:CODE MAIN PROC FAR START: PUSH DS MOV AX,0

31

PUSH AX

MOV DX,200H ;设I/O 端口为200H AGAIN: MOV AH,1 ;读键盘缓冲区字符 INT 16H

CMP AL,1BH ;若为“Esc”键,则退出 JZ EXIT

MOV AL,0FFH ;灯全亮 OUT DX,AL ;输出控制LED

MOV BX,5 ;向子程序传递参数,实现50ms 软延时 CALL DELAY ;子程序DELAY 实现10ms 延时 NOT AL ;灯全灭

MOV BX,2 ;向子程序传递参数,实现20ms 软延时 CALL DELAY JMP AGAIN EXIT: RET MAIN ENDP

DELAY PROC NEAR PUSH CX

WAIT0: MOV CX,2801 WAIT1: LOOP WAIT1 DEC BX JNZ WAIT0 POP CX 31 RET

DELAY ENDP CODE ENDS END START 8.

CODE SEGMENT ASSUME CS:CODE MAIN PROC FAR START: PUSH DS MOV AX,0 PUSH AX

MOV DX,200H ;设I/O端口为200H MOV CL,01H ;设置输出初值

AGAIN: MOV AH,1 ;读键盘缓冲区字符 INT 16H

CMP AL,1BH ;若为“Esc”键,则退出 JZ EXIT MOV AL,CL

OUT DX,AL ;输出控制LED

MOV BX,50 ;向子程序传递参数,实现0.5s软延时

32