搜档网
当前位置:搜档网 › 微机原理期末复习题及答案 (1)

微机原理期末复习题及答案 (1)

微机原理期末复习题及答案 (1)
微机原理期末复习题及答案 (1)

一、选择题:

1、(1101001.101)2= D

A (69.625)10

B (1101001.101) BCD

C (69.5)16

D (1.0)BCD

2、若X=-1110110,则[X]原= (1)B,[X]补= (2)C, [-X/2]补= D(3)。

(1) A 01110110 B C D

(2) A 01110110 B 00001010 C D

(3) A 00010101 B C D 00111011

3、已知CS=1000H ,DS=4000H ,ES=2000H ,BX=0250H,SI=0382H,8086/8088指

令MOV AX,[BX+SI]中源操作数的寻址方式是D(1),目标操作数的寻址方式是(2)A。CPU执行该指令时,应从内存中物理地址为B(3)的字单元中取出数据。(1) A 寄存器间址方式 B 基址寻址方式 C 变址寻址方式D 基址加变址寻址方式

(2)A 寄存器寻址方式 B 寄存器间址方式C 基址寻址方式 D 变址寻址方式

(3) A 205D2H B 405D2H C 20632H D 40632 H

4、若8088 CPU 的寄存器AL和BL中分别存放了9AH和7DH 两个数,当CPU执行

ADD AL, BL 指令操作后,状态寄存器FR的标志位CF、OF、ZF、SF分别为C(1),AL和BL的内容分别为(2)D。

(1)A 0、0、0、0 B 1、0、1、0 C 1、0、0、0 D 0、1、1、0 (2)A 117H和7DH B 117H和9AH C 17H和9AH D 17H和7DH

5、8253外接频率为1MHZ的时钟信号,若控制字设置为74H,则8253将工作

于D(1),当写入计数器的16位计数初值为7000H时,可定时的时间为B(2)。

(1)A 计数通道0的方式1,按二进制计数B 计数通道0的方式2,按二进制计数

C 计数通道1的方式2,按BCD码计数

D 计数通道1的方式2,按二进制计数(2)

A 7ms

B 28.672ms

C 70msD286.72ms

8253 控制字

SC1 SC0 RL1 RL0 M2 M1 M0 BCD

0 0 通道0 0 0 计数器锁存0 0 0 方式0 0 二进制计数

0 1 通道1 0 1 读/写低字节0 0 1方式1 1 BCD码计数

1 0 通道

2 1 0 读/写高字节0 1 0方式2

1 1 先读/写低字节0 1 1方式3

后读/写高字节 1 0 0方式4

1 0 1方式5

6、某80X86微处理器有16条数据线,24条地址线,由该处理器组成的微机系统的最大

内存容量为(1)D,该微机被称为(2)B。

(1) A 216×2字节 B 216×1字节C224×16位D224×8位

(2) A 8位机 B 16位机 C 24位机 D 32位机

7、在8086/8088的中断中,只有(1)B需要外部硬件提供中断类型码,中断类型码是在(2)C通过(3)A送给CPU的。

(1)A 外部中断 B 可屏蔽中断 C 非屏蔽中断 D 内部中断

(2)A 中断请求周期 B 第一个中断响应周期 C 第二个中断响应周期 D存储器读周期(3) A 数据总线 B 地址总线 C 控制总线 DA+B

8、下图是一微机系统采用一片8259A构成的中断系统,若8259A设置为全嵌套、非缓冲、非自动中断结束等方式,并ICW2初始化设置为28H,当定时器和串口同时产生中断请求时,则CPU响应中断将从(1)C 存储单元中取得中断服务程序入口地址。在中断服务结束前(IRET指令前)必须将中断结束命令写入8259A的C(2)。

(1) AB2H-B5H B 112H-115H C A0H-A3H D A0-A7H

(2) A ICW1 B OCW1 C OCW2 D OCW3

二、填空题:

1、8086CPU 有20条地址线,以8086 CPU为核心的微型机的存储器容量最大可

达1MB。整个存储器可分为奇地址存储体和偶地址存储体,

它们的容量均为512KB。

2、8086/8088系统的栈区设置在堆栈段中。一个栈区的最大容量可达64KB,若CS=2000H,DS= 2000H,SS=1500H,SP= 1500H,AX= 0F68H,当执行指令 PUSH AX 后,其栈顶的物理地址为164FEH,其单元中内容为68H。

3、8086/8088系统的存储器地址有逻辑地址和物理地址,逻辑地址是指段基地址和

偏移地址,物理地址由20 位二进制数组成,它的计算公式为 PA= 段基地址*16 + 偏移地址。

4、一般CPU和外设之间传送数据的方式有无条件传送、查询传送、中断传送和直接数据通道传送四种,CPU访问外设接口可有两种编址方式:端口独立编址方式和与

存储器统一编址;一般8086/8088 系统采用端口独立编址方式,当将数据写入外设接口

时应采用OUT指令。

5、中断是的过程。8086/8088中断系统最多允许有256个中断源,在内存物理地址为00000H

—00FFFH内建立了一个中断向量表,所谓中断向量是指中断服务程序入口地址。

6、若CS=1000H, SS=2000H, DS=ES=3000H, BX=0500H, BP=0200H,IP=1500H ,则CPU要取的当前指令在代码段逻辑段中,其物理地址为11500H,该逻辑段的长度为64KB 。

7、串行通信接口的作用是实现串行到并行和并行到串行的转换。若一个串行接口设置为7位数据位、1位终止位和无校验位的异步通信传送方式,当传送7位二进制数5BH时,

串口发送的帧格式为0。

三、分析以下以8088为 CPU的最小模式系统,回答以下问题。

1、简要说明系统中各组成部分的作用。(6分)

2、若系统要求配置10KB的存储器,,其中4KBROM类存储器和6KBRAM 类存储器,ROM的地址从18000H开始,RAM地址在ROM后连续。如果采用4KBROM芯片和 2KBRAM芯片,试写出各芯片的地址范围。(6分)

1、系统由8088CPU、存储器、I/O接口、8282地址锁存器、8284时钟发生器、8286总线驱动器等组成。

8088CPU 是系统控制指挥中心,所有指令的执行、读写存储器和输入输出接口、系统的功能操作都是由CPU完成的;存储器存放CPU执行的指令程序和系统运行过程中的数据;I/O接口连接CPU和外部输入输出设备,保证它们之间数据传送;8282地址锁存器把8088CPU AD0-AD7、AD16/S3-AD19/S6 分时复用线输出的地址信号锁存;8284主要为8088CPU提供工作时钟信号;8286总线驱动器增强cpu数据线的负载能力。

2、采用1片ROM芯片和3片RAM芯片。

ROM芯片地址范围为: 18000H - 18FFFH

#1 RAM 芯片地址范围为: 19000H – 197FFH

#2 RAM 芯片地址范围为:19800H – 19FFFH

#3 RAM 芯片地址范围为:1A000H – 1A7FFH

四、以下为8088系统中以8255A 为输入设备和输出设备的查询方式接口电路的部分硬件图。(18分)

1、试述8088CPU和输入设备进行数据传送的工作过程。(6分)

输入设备要将数据传送给CPU时,先将数据输出给8255A的PA0-PA7,然后通过ACK 端输出脉冲信号将数据锁存于锁存器,同时将触发器置1。

而CPU要不断查询设备的状态,执行读8255A C口操作,判断从C口读入数据的D1位是1还是0,若为0表示设备未准备好,则等待后再查询;若为1表示设备已将数据送出, CPU 从8255A的 A口读入数据,然后通过PC 6输出负脉冲将状态触发器清0。之后重复以上的操作,周而复始。

2、以下是8088CPU将存于以BLOCK为首址的内存单元区域中100个数据依次传送给输出设备的程序段,请在划线处填入内容。

BLOCK DB a1,a2,……a100

COUNT EQU $-BLOCK

START: LEA SI, BLOCK ;置数据单元首址指针

MOV CX , COUNT

MOV DX, 383H;8255A初始化设置

MOV AL, 91H

OUT DX, AL

MOV DX, 383H;置PC7为低电平

MOV AL, 0EH

OUT DX, AL

AGAIN: MOV DX, 382H;查询输出设备状态

IN AL, DX

TEST AL, 04H

JNZ AGAIN

MOV AL, [SI] ;取数据传送给输出设备

INC SI

MOV DX, 381H

OUT DX, AL

MOV DX, 383H ;置PC7产生高电平

MOV AL, 0FH

OUT DX, AL

NOP

NOP

MOV AL, 0EH;置PC7为低电平

OUT DX, AL

LOOP AGAIN

RET

8255A方式控制字 8255A C口复位/置位控制字

1 D6 D5 D4 D3 D

2 D1 D0 0 0 0 0 D

3 D2 D1 D0

A口方式

00 方式0 A口C口下半口

01 方式1 0 输出0 输出PC0 0复位

1×方式2 1 输入 1 输入001 PC1 1 置位

B口010 PC2

C口上半口B口方式0 输出∶∶

0 输出0 方式0 1 输入111 PC7

1 输入 1 方式1

五、分析以下汇编语言源程序,根据要求在划线处填上适当内容: DATA SEGMENT AT 2000H

ORG 0100H

TABLE DB 66,76,87,89, 96, 79, 64, 62, 57, 49, 85, 75, 60, 77, 58 COUNT EQU $-TABLE

NUM1 DB0

NUM2 DB0

NUM3 DB 0

DATA ENDS

STACK SEGMENT PARA STACK 'STACK'

TOP DB 100 DUP(?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA, SS:STACK

MAIN : MOV AX,DATA

MOV DS,AX

MOV SI,OFFSET TABLE

MOV CX,COUNT

LOP1: MOV AL, [SI]

CMP AL, 85

JA HIGH

CMP AL, 70

JBE LOW

INC NUM2

JMP NEXT

HIGH: INC NUM1

JMP NEXT

LOW: INC NUM3

NEXT: INC SI

LOOP LOP1

MOV AH, 4CH

INT 21H

CODE ENDS

END MAIN

(1) 画出数据段中数据定义语句实现的内存分配图。

(2) 执行程序后,结果为:

OFFSET TABLE = 0100H,SEGMENT NUM2 = 2000H ,

AL= 58 (3AH) , DS= 2000H , CX= 0 ,

(20106H)= 64 (40H) , (2010FH)= 03H ,(20111H)= 07H ,

六、(10分)程序设计:

在以BLOCK为首址的内存区域中,存放着一组无符号的字节数据,数据个数存于COUNT

单元中,试编制程序段从中找出最大数和最小数,并分别存放于MAX和MIN单元中。

程序段为:

BLOCK DB a1,a2, ┉ an

COUNT DB N

MAX DB 0

MIN DB FFH

LEA SI, BLOCK

MOV CX, COUNT

AGAIN: MOV AL, [SI]

CMP AL, MAX

JBE NEXT1

MOV MAX, AL

NEXT1: CMP AL, MIN

JAE NEXT2

MOV MIN, AL

NEXT2: INC SI

LOOP AGAIN

HLT

综合练习二

一、选择题:

1、(78.625)10= C

A (116.A)16

B (1111000. 101)2

C (4E.A)16

D (01111000.1010)BCD

2、若X=-0110101,Y=+1011010,则 [X]补=C(1), [Y]补=B(2) ,

[-Y/2]补=D(3)。

(1)A B 00110101 C D

(2)A B 01011010 C D 00100110

(3) A 00101101 B C D

3、若8088 CPU的寄存器AL和BL中分别存放了两个单字节带符号数A9H和6FH,若

要判别两数的大小,应先做减法操作,然后根据标志位D(1)进行判别。当CPU执

行比较指令CMP AL, BL 后,标志位OF和SF分别为C(2)。

(1) A CF B SF C OF D SF和OF

(2) A 0和0 B 0和1 C 1和0 D 1和1

4、已知CS=1000H ,DS=2000H ,ES=3000H ,BX=0200H,SI=0300H,8086/8088CPU 执行指令MOV AX,[BX+SI],应从A(1)逻辑段中取出源操作数,该操作数所在单元的逻辑地址为C(2),执行该指令时,CPU的20根地址线上出现的信号为B(3)。

(1)A 数据段 B 代码段 C 堆栈段 D 附加段

(2)A 1000H∶0500H B 3000H∶0500H C 2000H∶0500H

D 20500H

(3)A 10500H B 20500H C 30500H D 00500H

5、8253外接频率为1MHZ的时钟信号,若控制字设置为35H,则8253将工作于(1)C,可定时的最大时间为B(2),应写入计数器的16位计数初值是(3)A。

(1) A 计数通道0的方式1,按二进制计数 B 计数通道0的方式2,按二进制计数

C 计数通道0的方式2,按BCD码计数

D 计数通道1的方式2,按BCD码计数(2)

A 9.999ms

B 10ms

C 65.535ms

D 65.536ms

(3) A 0B 1 C 0100H D FFFFH

8253 控制字

SC1 SC0 RL1 RL0 M2 M1 M0 BCD

0 0 通道0 0 0 计数器锁存0 0 0 方式0 0 二进制计数

0 1 通道1 0 1 读/写低字节0 0 1方式1 1 BCD码计数

1 0 通道

2 1 0 读/写高字节0 1 0方式2

1 1 先读/写低字节0 1 1方式3

后读/写高字节 1 0 0方式4

1 0 1方式5

6、典型的8088单CPU模式微机系统由C (1) 组成,8088CPU主要由D(2)

组成。

(1) A 运算器、控制器、存储器及I/O设备;

B 8088CPU、时钟发生器、地址锁存器、存储器、总线

C 8088CPU、时钟发生器、地址锁存器、总线驱动器、存储器、I/O设备及总线

D 8088CPU、运算器、控制器、时钟发生器、地址锁存器、总线驱动器、存储器、

I/O设备及总线

(2) A 通用寄存器、专用寄存器和ALU B ALU、FR及8个16位通用寄存器

C CS、ES、SS、DS及IP、指令队列

D EU和BIU

7、一微机系统采用一片8259A 构成中断系统,若8259A设置为普通全嵌套、非缓冲、

非自动中断结束等方式,并将ICW2设置为18H,系统可有B (1) 级中断优先权,

各中断源的优先权是A(2),IR2引脚上中断源的中断类型码为C(3),该中断源的中断服务程序入口地址应存于中断向量表中首址为B(4)的4个单元内。(1)A 2 B 8 C 15 D 64

(2)A 固定不变,IR0优先权最高,IR7优先权最低

B 固定不变,IR7优先权最高,IR0优先权最低

C 固定不变,可设置IRi优先权最高

D 自动循环,

(3)A 18H B 19H C 1AH D 20H

(4)A 60H B 68H C 6AH D 80H

二、填空题:

1、某80X86微处理器有20根地址线和16根数据线,,由该CPU构成的微机系统的最大存储器容量可达1MB,内存首末地址分别为00000H和FFFFFH,该微机系统被称为16位微机。

2、若8088系统中,CS=1000H,DS= 2000H,SS=3000H,SP= 0100H,AX=1234H,BX=5678H 该系统当前堆栈段的物理地址范围为30000H—3FFFFH,栈顶物理地址为30100H,当执行PUSH AX指令后,AX= 1234H,SP= 00FEH 。

3、若CS=2000H, SS=3000H, DS=4000H, 一个字数据F69BH存放于数据段中偏移地址为1C50H开始的单元中,其中低字节9BH存放单元的物理地址为41C50H,高字节F6H 存放单元的物理地址为41C51H。

4、I/O接口是连接CPU和输入、输出外设进行数据交换的硬件电路,I/O接口的主要功能有实现电器特性的匹配、对输入输出数据进行缓冲、隔离等。通常一个外设接口电路包括3类端口:数据端口、状态端口和控制端口。一般外设的查询方式接口电路应包括数据端口和状态端口。

5、中断源是指引起中断的原因或发出中断申请的来源,8086/8088的中断系统可处理256 个中断源,它们分为硬件中断(外部中断)和软件中断(内部中断)两种类型,这些中断源的中断类型码的范围为00H—FFH。

6、8086/8088CPU响应可屏蔽中断的条件是INTR引脚有中断请求有效信号、CPU 开中断(IF=1)和执行当前指令完毕。CPU响应中断后,将在第二个中断响应周期内从数

据线上获取中断类型码。

三、采用以下给出的存储器芯片为8088 CPU设计存储器系统,根据要求回

答以下问题。

U1 U2

1、请说出图中给出U1和U2两种存贮器芯片的类型、容量、特点及其作用。(6分)

2、若系统要求配置16KB 的存储器,其中8KB 的ROM 存储器和8KB 的RAM ,ROM 存储器首地址为22000H ,RAM 存储器地址在ROM 后连续,如采用以上给出的U1、U2芯片,各需要多少片? 请写出各片芯片的地址范围。(6分)

1、U1为ROM 类型存储器芯片,其容量为4KB ,一般在系统运行中只能读出U1中单元的内容,不能将内容写入U1的单元中,但掉电后内容不会丢失。U1 的作用是存放用户程序或固定不变的参数、数据等。

U2为RAM 类型存储器芯片,其容量为2KB ,一般在系统运行中能读取U2中单元的内容,也能将内容写入U2的单元中,但掉电后内容会丢失。U2的作用是存放系统运行中输入/输出的数据、中间结果等。

2、采用2片U1芯片和4片U2芯片。

#1 U1芯片地址范围为: 22000H – 22FFFH ;#2 U1芯片地址范围为: 23000H – 23FFFH #1 U2芯片地址范围为: 24000H – 247FFH ;#2 U2芯片地址范围为: 24800H – 24FFFH #3 U2芯片地址范围为: 25000H – 257FFH ;#4 U2芯片地址范围为: 25800H – 25FFFH

四、以下为8088系统中以8255A 为输入设备和输出设备的查询方式接口电路的部分硬件图。

1、试述8088CPU 和输出设备进行数据传送的工作过程。(6分)

输出设备根据STB 引脚状态,若为1,则处理数据,处理完毕后通过ACK 发出一个负脉冲将状态触发器清零;若STB 引脚状态为0,则等待。

CPU 要不断查询设备的状态,执行读8255A C 口操作,判断从C 口读入数据的D2位是1还是0,若为1表示输出设备未准备好,则等待后再查询;若为0表示设备已处理数据完毕, CPU 可将数据写入8255A 的 B 口,然后通过PC 7输出正脉冲将状态触发器至1。之后重复以上的操作,周而复始。

2、以下是8088CPU 从输入设备依次读取100个数据并存于以BUF 为首址的内存单元区域中的程序段,请在划线处填入内容。(每格1分 ,共12分)

BUF DB 100 DUP (?)

COUNT EQU $-BUF

START: LEA SI, BUF ;置数据单元首址指针

MOV CX , COUNT

MOV DX,383H ;8255A 初始化设置

MOV AL, 91H

OUT DX, AL

LOP: MOV DX, 383H ;置PC6为低电平

MOV AL, 0CH

OUT DX, AL

A0 ┅┅ A11 CE OE D0 ┅ D7 A0 ┅┅ A10 OE CE D0 ┅ D7 WE

NOP

NOP

MOV AL, 0DH;置PC6为高电平

OUT DX, AL

AGAIN: MOV DX, 382H;查询输入设备状态

IN AL, DX

TEST AL, 02H

JZ AGAIN

MOV DX, 380H;从输入设备读取数据

IN AL, DX

MOV [SI], AL ;将数据存入内存单元

INC SI

LOOP LOP;控制读取100个数据

RET

8255A方式控制字 8255A C口复位/置位控制字

1 D6 D5 D4 D3 D

2 D1 D0 0 0 0 0 D

3 D2 D1 D0 A口方式

00 方式0 A口C口下半口

01 方式1 0 输出0 输出PC0 0复位1×方式2 1 输入 1 输入001 PC1 1 置位

B口010 PC2

C口上半口B口方式0 输出∶∶

0 输出0 方式0 1 输入111 PC7

1 输入 1 方式1

五、分析以下汇编语言源程序,根据要求在划线处填上适当内容:

DATA SEGMENT AT 2000H

BLOCK DB 0,0D8H,78H,89H,0E3H,65H,34H,0FFH,1FH,0ABH

COUNT EQU $-BLOCK

MAX DB0

MIN DB0

DATA ENDS

STACK SEGMENT PARA STACK 'STACK'

TOP DB 100 DUP(?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK

MAIN PROC FAR

PUSH DS

MOV AX,0

PUSH AX

MOV AX,DATA

MOV DS,AX

MOV ES,AX

MOV SI,OFFSET BLCOK

MOV DI,OFFSET MIN

MOV CX,COUNT

CLD

LODSB

DEC CX

LOOP1: CMP AL,[SI]

JLE NEXT

MOV AL,[SI]

NEXT: INC SI

LOOP LOOP1

MOV [DI],AL

RET

MAIN ENDP

CODE ENDS

END MAIN

(1) 画出数据段中数据定义语句实现的内存分配图。

(2) 执行程序后,结果为:(每空格1分,共8分)

OFFSET BLOCK = 0000H,SEGMENT MAX = 2000H ,

AL= 89H , DS=2000H , CX= 0000H ,

(20005H)= 65H , (2000AH)= 00H ,(2000BH)= 89H ,

六、程序设计:

从STRING开始的内存单元中存放了一个字符串,该字符串以回车键(ASC码为0DH)结束,请编写程序段统计字符串的实际长度(不包括回车键),并将结果存于CH中。程序段为:

STRING DB ' X NGHJ…… T ',0DH

LEA SI , STRING

MOV CH , 0

AGAIN: MOV AL , [SI]

CMP AL , 0DH ;回车ASC码

JZ EXIT

INC CH

INC SI

JMP AGAIN

EXIT: HLT

相关主题