资源描述
微机系统与接口技术复习
一、选择题
1.8086/8088系统中堆栈以 C 为单位进行操作的。
A.半字节 B. 字节 C. 字 D. 双字
2.在下列指令中,不影响堆栈内容的指令是 A 。
A. JMP B. POP C. CALL D. IRET
3.标志寄存器中的TF位可以用来屏蔽 A 。
A. 单步中断 B. INT n中断 C. 可屏蔽中断 D. 以上都不行
4.VAR是数据段中定义的变量,指令CMP VAR[BX][DI],AX中目的操作数的寻址方式是 C 。
A.寄存器相对寻址 B.直接寻址 C.相对基址变址 D.比例变址寻址
5.下列指令执行后,不影响标志位的指令是 A 。
A.PUSH [1000h] B.DEC DX C.AND CX,AX D.IRET
6.下面关于PC机串行通信接口的叙述中,正确的是 A 。
A)异步通信时,一帧信息以起始位开始、停止位结束,起始位之后是数据的最高位。
B)系统A和系统B以半双工方式进行串行通信时,数据能从A传送到B,也能从B传送到A,并且可以同时进行。
C)PC机的串行通信接口采用同步通信方式。
D)PC机的串行通信接口采用RS-232标准。
7.若82C55A组工作在方式1,输出,B组工作在方式0,输入,则其方式控制字为 B 。
A. 23H B. A3H C. 80H D. 85H
8. 在8086系统中,假设SS=2000H SP=0102H,则执行PUSH AX指令后,栈顶的物理地址是 C 。
A. 20104H B. 20102H C. 20100H D. 200FEH
9.设DS=6321H,SS=6232H,BP=1860H,指令DEC BYTE PTR [BP+3]操作数的物理地址是 D 。
A. 64A73H B. 64183H C. 65073H D. 63B83H
10.循环指令LOOPNZ终止循环的条件是 C 。
A.CX=0,或ZF=1 B. CX=0,且ZF=0
C.CX≠0,且ZF=0 D. CX≠0,或ZF=1
11.BUFFER DW 10H DUP(3 DUP(2,?),1,2 DUP(?),100)
上述语句汇编后,为变量BUFFER分配的存储单元字节数是 D 。
A. 160 B. 22 C. 80 D. 320
12.要禁止8259A的IR0的中断请求,则其中断屏蔽操作指令字OCW1应为 D 。
A. 80H
B. 28H
C. E8H
D. 01H
13.在8086环境下,对单片方式使用的8259A进行初始化时,必须放置的初始化命令
字为 B 。
A. ICW1,ICW2,ICW3
B. ICW1,ICW2,ICW4
C. ICW1,ICW3,ICW4
D. ICW2,ICW3,ICW4
14.8255A的方式选择控制字应写入 D 。
A. A口
B. B口
C. C口
D. 控制口
15.当DMAC向CPU发出HOLD信号,CPU响应该请求后发出HLDA,表示CPU让出
总线使用权,此时由 B 占有总线使用权。
A.CPU B.DMAC C.存储器 D.总线控制器
16.标准键盘接口电路中,8255从接口电路移位寄存器中获得按键的 C 。
A.串行扫描码 B.ASCII码 C.并行扫描码 D.汉字编码
17.编程使8255的C口按位置位/复位控制字为0DH、0AH、00H、07H、09H、02H、0FH、05H输出后,C口输出的值为 C 。
A.98H B.89H C.DCH D.CDH
18.CPU可访问地址空间的大小取决于 C 。
A.CPU运行频率 B.系统存储容量
C.地址总线位数 D.数据总线位数
19.为了获得20位存储器地址,8086系统采用 B 。
A.直接使用段地址 B.段地址左移4位加上偏移量
C.直接使用偏移量 D.偏移量左移4位加上段地址
20.中断服务程序的入口地址简称为 B 。
A.中断优先级 B.中断向量
C.中断类型码 D.中断向量表
二、填空题
1.微处理器包括算术逻辑部件、寄存器、控制器部件,这三个基本部分由内部总线连接在一起。P8
2.微机接口是CPU和输入、输出设备之间进行连接和沟通的部件。P24
3.Intel 8086CPU内部结构按功能可分为两部分:总线接口单元BIU和执行单元EU。P26
4.CPU内部的寄存器分为程序可见的寄存器和程序不可见的寄存器两大类。前者可分为通用寄存器、专用寄存器和段寄存器三类。P29
5.堆栈是在存储器中开辟的一片数据存储区,这片存储区的一端固定,另一端活动,且只允许数据从活动端进去,采用“先进后出”的规则。P36
6.8086系统工作于最小系统,即单处理方式,8086系统工作于最大系统,即多处理方式。P39/41
7.计算机中的指令由操作码字段和操作数字段两部分组成。P57
8.指令中操作数通过如下三种方式提供:一个具体的数值,存放数据的寄存器,或指明数据在主存位置的存储器地址。P58
9.有效地址(EA)可由以下四种成分组成:位移量、基址、变址和比例因子。P59
10.与地址有关的寻址方式有:段内直接寻址、段内间接寻址、段间直接寻址和段间间接寻址。P66-69
11.ORG伪操作用来设置当前地址计数器的值。P125
12.DB用来定义字节,DW用来定义字同,DD用来定义双字。P121
13.通常中断源有以下几种:外部设备的I/O请求、实时时钟、硬件发生故障和软件中断。P203
14.实现定时或延时控制,通常有三种方法:软件定时、不可编程硬件定时和可编程硬件定时。P226
15.DMA方式是指不通过CPU的干预,直接在外设和内存之间进行数据传送的方式。P246
16.8255A有3个8位的数据端口,即端口A、端口B和端口C。P266
17.串行通信中有两种不同的通信方式:异步通信和同步通信。前者数据的传送以一个字符为单位,后者是用一串特定的二进制序列,以连续的形式发送,每个时钟周期发送一位数据。P283
18.8251A是一个通用串行输入/输出接口芯片,可用来将CPU传送给外设的信息以串行方式向外发送,或将外设输入给CPU的信息以串行方式接收并转换成并行数据传送给CPU。P293
19.D/A转换器功能是将数字量转换为模拟量。DAC0832是8位数/模转换芯片,数据的输入方式有双缓冲、单缓冲和直接输入,适用于要求几个模拟量同时输出的情况。P381
20.A/D转换器功能是将模拟量转换为数字量。ADC0809是CMOS单片型逐次逼近式A/D转换器,具有8个通道的模拟量输入线,可在程序控制下对任意通道进行A/D转换,得到8位二进制数字量。P394-395
三、名词解释题
1.微机的字长 是指微处理器内部一次可以并行处理二进制代码的倍数。P4
2.存储容量 是衡量微机内部存储器能存储二进制信息量大小的一个技术指标。P5
3.微型计算机 是指以微处理器为核心,配以内存储器以及输入、输出(I/O)接口和相应的辅助电路而构成的裸机。P9
4.微型计算机系统 是指由微型计算机配以相应的外围设备及其它专用电路、电源、面板、机架以及足够的软件而构成的计算机系统,简称MCS。P10
5.程序可见的寄存器 是指在汇编语言程序设计中用到的寄存器,它们可以由指令来指定。P29
6.IP 为指令指针寄存器,是存放下次将要执行的指令在代码段的偏移量。P31
7.中断技术 指在计算机的运行过程中,允许外部设备向CPU提出服务请求,当CPU接收到服务请求后,暂时停下当前正在运行的程序,转去执行外部设备服务程序,待外部设备服务程序运行完毕后,再返回原程序的断点处继续往下执行的处理机制。P203
8.软件定时 指通过执行一段固定的循环程序来实现定时。P226
9.通用串行总线USB 它是基于通用连接技术,实现外设的简单快速连接,达到方便用户、降低成本、扩展PC连接外设范围的目的,一种新型接口标准。P319
10.CRT显示器 它通过电子束轰击荧光屏而发光,在控制逻辑配合下可以显示字符、图形和图像。P342
四、简答题(每题7分,共28分)
1.伪指令语句与指令性语句的最大区别是什么?
答:伪指令语句经汇编后不产生任何机器代码,而指令性语句经汇编后会产生相应的机器代码;其次,伪指令语句所指示的操作是在程序汇编时就完成了的,而指令性语句的操作必须在程序运行时才能完成。P110
2.一个完整的中断处理过程应包括哪五个基本阶段?
答:五个基本阶段是:⑴中断请求。⑵中断判优。⑶中断响应。⑷中断处理。⑸中断返回。P204
3.8253/8254内部有哪6个模块?有何作用?
答:六个模块是:⑴数据总线缓冲器。三态双向8位寄存器,三个功能:向8253写入确定8253工作方式的命令;向计数寄存器装入初值;读出计数器的初值或当前值。⑵读写逻辑,选择读出或写入寄存器,且确定数据传输方向,是读出还是写入。⑶控制字寄存器,用来选择计数器及相应的工作方式,只能写,不能读。⑷三个独立的计数器,实现计数/定时功能。P229
4.一个完整的DMA操作工作过程通常包括哪五个阶段?
答:五个阶段是:⑴初始化。⑵DMA请求。⑶DMA响应。⑷DMA传送。⑸ DMA结束。P247-248
5. 在子程序调用时,试比较用堆栈传递参数和用寄存器传递参数各自的优缺点?
答:寄存器传递参数简单、速度快,但传递参数的个数受寄存器个数限制。 堆栈传递参数速度较寄存器传递参数慢,但数量不受限制。堆栈传递参数的方法具有标准化和层次化的优点。
6.请说出子程序调用和宏调用的特点。在编程中是如何应用它们的?
答:子程序调用是在执行时刻由CALL和RET指令实现的,需要堆栈支持的转移等额外代价,多次调用时可节省空间。宏调用是在汇编时刻将宏体替换调用的宏展开过程,不节省空间、没有额外指令速度快。子程序适用于较复杂的功能封装,偏重于考虑程序结构;宏调用适合简单的功能的封装,偏重于节省编制和编制的一致性。
五、阅读程序,对后跟“;”的语句注释其功能
1.IBM-PC/XT微机8259A的初始化程序:(8259A的I/O端口地址为20H和21H)P220
MOV AL,00010011B ;ICW1,边沿触发,单片8259A,需ICW4
OUT 20H,AL
MOV AL,00001000B ;设置ICW2,中断类型号高5位为00001
OUT 21H,AL
MOV AL,00001101B ;设置ICW4,非自动中断结束方式,
;完全嵌套方式,缓冲方式
OUT 21H,AL
2.如果要读出中断请求寄存器或中断服务寄存器ISR的内容,则通过设置OCW3来完成:(8259A的I/O端口地址为20H和21H)P221
MOV AL,00000010B
OUT 20H,AL ;设置OCW3,发出读中断请求寄存器IRR命令
NOP ;延时,等待8259A操作结束
IN AL,20H ;读IRR内容
3.8253/8254初始化程序:(8253的I/O端口地址为40H、41H、42H和43H)P235
mov al,0011 0110B ;计数器0为方式3,采用二进制计数,先低后高写入计数值
out 43h,al ;写入方式控制字
mov al,0 ;预置计数值为65536
out 40h,al ;写入低字节计数值
out 40h,ah ;写入高字节计数值
4.8253/8254初始化程序:(8253的I/O端口地址为40H、41H、42H和43H)P235
mov al,0101 0100B ;计数器1为方式2,采用二进制计数,定义只写低位字节
out 43h,al ;写入方式控制字
mov al,18 ;预置计数值为18
out 41h,al ;写入低字节计数值
5.异步方式下初始化编程如下:(假设8251A的两个端口地址分别为0C0H和0C2H)P299
MOV AL, 0FEH ;工作在异步方式,波特率系数为16,字符长度为8位,偶校验,2个停止位。则方式选择字为:11111110B=0FEH。
OUT 0C2H, AL ;设置方式选择字
MOV AL, 37H ;使8251A工作状态要求:复位出错标志、使请求发送信号有效、使数据终端准备好信号有效、发送允许TxEN有效、接收允许RxE有效。则工作命令字应为37H。
OUT 0C2H, AL ;设置命令字
6.同步方式下初始化编程如下:(假设8251A的两个端口地址分别为0C0H和0C2H)P299-300
MOV AL, 40H ;使用8251A芯片,要先用内部复位命令40H,使8251A复位后,再写入方式选择控制字。
OUT 0C2H, AL ;复位8251A
MOV AL, 1CH ;8251A工作在同步方式,两个同步字符(内同步)、奇校验、每个字符8位,则方式选择字应为1CH。
OUT 0C2H, AL ;设置方式选择字
MOV AL, 0AAH ;又设第一个同步字符为0AAH,
OUT 0C2H, AL ;写入第一个同步字符
MOV AL, 55H ;第二个同步字符为55H。
OUT 0C2H, AL ;写入第二个同步字符
MOV AL, 0B7H ;工作状态要求:使出错标志复位,允许发送和接收、使CPU己难备好且请求发送,启动搜索同步字符,则工作命令指令应该是0B7H。
OUT 0C2H, AL ;设置命令字
7.从键盘接受一个十进制个位数N,然后显示N次问号“?”。
mov ah,1 ;接收键盘输入N
int 21h
and al,ofh ;只取低4 位
xor ah,ah ;异或ah清0
mov cx,ax ;N作为循环次数
jcxz done ;次数为0,则结束
again: mov dl,'?' ;循环体
mov ah,2 ;屏显“?”
int 21h
loop again ;循环控制
done: ;结束
8.BUFFER DW 1,2,$+4,3,4,$+4。假设汇编时BUFFER分配的偏移地址为0074H,则汇编后6个数据在相应存储单元的值是;1、2、7AH、3、4、7DH。
六、程序设计
1.8255A工作在置位/复位方式,要求在8255A芯片C口的PC3位产生一个方脉冲信号。写出满足功能要求的代码段。P264-281
解:对PC3的置位控制字为 0 000 011 1B=07H
对PC3的复位控制字为 0 000 011 0B=06H
MOV DX,PORTC ;送控制口地址
LP1: MOV AL,07H ;送控制字
OUT DX,AL ;初始化
CALL DELAY ;调用延时程序,输出维持一段时间
MOV AL,06H ;对PC3复位的控制字
OUT DX, AL
CALL DELEY
JMP LP1
2.假定8255A的端口A、B都工作在方式0下,端口A作为输入口,采集一组开关的状态,端口B作为输出口,把开关的状态通过指示灯显示。电路连接如右图所示。写出满足功能要求的代码段。
(地址为04A0H~04A6H)P264-281
解:代码如下:
MOV DX,04A6H ;控制口地址送DX
MOV AL,10010000B ;A口输入,B口输出,方式0
OUT DX,AL
MOV DX,04A0H ;A端口地址送DX
IN AL,DX ;采集开关值
MOV DX,04A2H ;B端口地址送DX
OUT DX,AL ;输出开关值
3.用异步串行输入方式输入2000个数据,存放到内存BUFFER开始的单元中。因为8251A从外设接收一个字符RxRDY会自动置位,因此程序中不断对状态寄存器的RxRDY位进行测试,查询8251A是否已经从外设接收了一个字符。若RxRDY变为有效,即收到一个字符,CPU就执行输入指令取回一个数据存放到内存缓冲区,RxRDY在CPU输入一个字符后会自动复位。除了对状态寄存器的RxRDY位检测之外,程序还要检测状态寄存器的D3、D4、D5位,以判断是否出现奇/偶错、溢出错或帧错误,若发现错误就转错误处理程序。写出满足功能要求的代码段(程序中可不给出出错处里程序)。(设8251的地址为80H和81H)。P300
MOV AL,0FEH
OUT 81H, AL ;写入方式选择字
MOV AL,37H
OUT 81H, AL ;写入工作命令字
MOV BX, BUFFER ;BX指向缓冲区首址
MOV DI, 0 ;变址寄存器初值为0
MOV CX, 2000 ;设置计数器初值
WAIT:IN AL, 81H ;读状态字
TEST AL, 2 ;测RxRDY位
JZ WAIT ;为0,未收到字符
IN AL, 80H ;从数据口读入数据
MOV [BX][DI],AL ;将字符保存到缓冲区
INC DI ;缓冲区指针下移一个单元
IN AL,81H ;读状态字
TEST AL, 38H ;判断有无三种错误
JNZ ERROR ;有错,则转出错处理程序
LOOP WAIT ;没错,判是否结束循环
JMP EXIT ;结束
ERROR: CALL ERR_PRO ;转入错误处理程序
EXIT: ……
4.如右图所示,采用单缓冲方式,通过DAC0832输出产生三角波,三角波最高电压5V,最低电压0V。(设DAC0832芯片地址为04A0H)请编写程序。P386
code segment
assume cs:code
start: mov cl,0
mov dx,04a0h
lll: mov al,cl
out dx,al
inc cl
push dx
mov ah,06h
mov dl,0ffh
int 21h
pop dx
jz lll
mov ah,4ch
int 21h
code ends
end start
10
展开阅读全文