微机原理及应用复习习题及答案2013 下载本文

安徽工程大学计算机与信息学院

《微机原理及应用》综合复习资料

第一章计算机概述

一、填空题

1. 在计算机中:1Byte= bit。 2. 在计算机中, 1word= byte。 3. 在计算机中, 1KB= byte。

4. 对于十六进制表示的数码19.8H,转换为十进制数时为: ;用二进制数表示

时为: B;该数码用压缩BCD码表示时数据为: 。

5. 对于十进制数66,当它用二进制数表示时为 ,用十六进制数表示时为 H;用BCD码

表示时为: 。

6. 对于二进制数101001.101B,用十进制数表示时为: ;用十六进制数表示时为: H。 7. 设机器字长为8位,最高位是符号位。则十进制数–13所对应的原码为: 。 8. 已知某数的原码是10110110B,则其反码是 ;补码是 。 9. 一个8位二进制数用补码方式表示的有符号数的范围是 。 10. 软件通常分为 和 两大类。

11. 第一代计算机采用的电子器件是 ,第四代计算机采用的是 。

二、单选题

1. 下列数据中最大的数为_____

A. (11011001)2 B. (75)10 C. (37)8 D. (27)16

2. 在 表示中,二进制数11111111表示十进制数-1。

A.原码 B.反码 C.补码 D.移码

3. 用8位二进制的补码形式表示一个带符号数,它能表示的整数范围是:

A.-127~+127 B.-128~+128 C.-127~+128 D.-128~+127

4. 某补码表示的8位二进制整数由5个1和3个0组成,则其可表示的最小值是 。

A.-120 B.-15 C.-113 D.-121 5. 微型计算机中主要包括有________。

A.微处理器、存储器和I/O接口 B.微处理器、运算器和存储器 C.控制器、运算器和寄存器组 D.微处理器、运算器和寄存器

安徽工程大学计算机与信息学院

6. 一个完整的计算机系统通常应包括 。

A.系统软件和应用软件 B.计算机及其外部设备 C.硬件系统和软件系统 D.系统硬件和系统软件

三、分析简答题

1. 8086 CPU的总线根据其中信息传送的类型可分为几种?哪几种?

2. 写出-25的原码、反码、补码,并将补码转换成十六进制数(设机器字长为8位)。 3. 举例说明什么是机器数,什么是真值?

安徽工程大学计算机与信息学院

第二章(一) 8086微处理器的结构和组成

一、填空题

1. 8086/8088 CPU从功能上分为 和 两部分。8086/8088CPU中执行部件的功能是

负责 的执行。

2. 8086中的BIU中有 个 位的段寄存器、一个 位的指令指针、 字节指令

队列、 位的地址加法器。

3. 8086 可以访问 位和 位的寄存器。

4. 8086CPU从偶地址读出两个字节时,需要 个总线周期;从奇地址读出两个字节时,需要

个总线周期。

二、单选题

1. 8088/8086 CPU中,指令指针(IP)中存放的是 。

A.指令 B.指令地址 C.操作数 D.操作数地址 2. 下面的说法中, 是正确的。

A.指令周期等于机器周期 B.指令周期大于机器周期 C.指令周期是机器周期的两倍

三、分析简答题

1. 8086/8088微处理器内部有那些寄存器,它们的主要作用是什么? 2. 8086/8088 CPU内部包含有哪6个专用寄存器?它们的主要功能是什么? 3. 8086CPU状态标志位有哪些?说明其符号、名称和含义 4. 执行下面两个数相加: 1010 0011 0100 1101 + 0011 0010 0001 1001

分析其结果对下列标志位有何影响:

(SF)= (ZF)= (AF)= (PF)= (CF)= (OF)=

安徽工程大学计算机与信息学院

第二章8086微处理器(二)

一、填空题

1. 8086CPU对外的数据线是 根,地址线是 根,数据线和地址线是以 方式轮流使

用的。

2. 8086的ALE引脚的作用是 。

3. 8086/8088CPU的最小工作模式是指 ,它是通过将MN/MX引脚接 来实现的。 4. 8086/8088CPU上电复位后,执行第一条指令的地址是 H。

5. 8086/8088CPU构成的微机中,每个主存单元对应两种地址: 和 。 6. CPU访问存储器时,在地址总线上送出的地址称为 地址。

7. 对于8086CPU,逻辑地址是由 和 组成,设有逻辑地址1000H:2345H,试写出

其对应的物理地址 H 。

8. 段基址是由 存储。物理地址是指实际的 位主存单元地址。

9. 对于8086/8088CPU,设有物理地址00400H,试写出其两种不同的逻辑地 、 。 10. 8086系统最多可管理 字节存储单元。

11. 8086系统中,存储器分为奇、偶两个存储体,其中,奇地址存储体的数据信号线固定与数据

总线的 相连,偶地址存储体数据总线的 相连。

二、单选题

1. 8086CPU的地址总线和数据总线分别为 条。

A.16,8 B.20,16 C.24,12 D.32,24

2.~ 4.8086CPU可访问的存储器空间为1MB,实际上分为奇数存储体和偶数存储体两部分,奇数存储体的片选信号是 2 ,偶数存储体的选择信号是 3 ,对于存储体内每一个存储单元的选择信号是 4 。

2. A. ALE B.BHE C.A0 D.HOLD 3. A. HOLD B.A0 C.BHE D.HLDA 4. A. A19~A1 B.A18~A1 C.A19~A0 D.A16~A0 5. 当

M/IO=0,RD=0,WR=1时,CPU完成的操作是 。

A. 存储器读 B. I/O读 C.存储器写 D.I/O写 6. 8086/8088CPU经加电复位后,执行第一条指令的地址是 。

安徽工程大学计算机与信息学院

A.0000H B.FFFFH C.FFFF0H D.0FFFFH 7. 8088/8086CPU的复位信号至少维持 个时钟周期的高电平有效。

A.1 B.2 C.3 D.4

8.~10.8086 有两种工作模式,即最大和最小模式。它由 8 决定。最小模式的特点是 9 ,最大模式的特点是 10 。

8. A.BHE/S7 B.MN/MX C.INTA D. HOLD=1 9. A.CPU提供全部的控制信号 B.由编程进行模式设定

C.不需要8286收发器 D.需要总线控制器8288 10. A.引脚可以直接引用 B.由编程模式设定

C.需要总线控制器8288 D.适用于单一处理机系统 11. 微机中控制总线提供 。

A. 存储器和I/O设备的地址码

B. 所有存储器和I/O设备的时序信号和控制信号 C. 来自I/O设备和存储器的响应信号 D. 上述B、C

12. 现行数据段位于存储器BOOOOH到BOFFFH字节单元,则段寄存器DS的内容及该段长度(字节

数)分别为: 。

A.BOOOH,1000H B.O0OOH,OFFFH C.BOOOH,OFFFH D.BOOOH,OOFFH

13. 8086执行指令 MOV AL,[BX],其中(BX)=2041H时,BHE和A0的输出是 。

A.0,0 B.0,1 C.1,0 D.1,1

14. 8086在最小模式下,分时使用AD0~AD15,所以必须外接地址锁存器,当总线上为地址信息时,

通过 将地址送入地址锁存器。

A.DEN B.ALE C.BHE D.DT/ R 15. 计算机系统总线中,可用于传送读、写信号的是 。

A.地址总线 B.数据总线 C.控制总线 D.以上都不对

三、分析简答题

1. 8086对存储器的管理为什么采用分段的办法?最大段和最小段的存储空间分别是多大?20

位的物理地址是如何形成的?

安徽工程大学计算机与信息学院

2. 简述8086CPU最小工作方式含义。

3. 说明逻辑地址和物理地址的含义,两者之间有何关系?已知逻辑地址3000H:2345H,写出段

地址、物理地址、偏移地址。 4. 计算题:

某微机系统中内存的首地址为3400H,末地址为67FFH,求其内存容量并以K表示。 5. 8086/8088为什么采用地址/数据引线复用技术?

答:考虑到芯片成本,8086/8088采用40条引线的封装结构。40条引线引出8086/8088的所有信号是不够用的,采用地址/数据线复用引线方法可以解决这一矛盾,从逻辑角度,地址与数据信号不会同时出现,二者可以分时复用同一组引线。

安徽工程大学计算机与信息学院

第三章 (一) 8086/8088CPU寻址方式及指令系统

一、填空题

1. 计算机的指令通常包含 和 两部分。

2. 设SP为0100H,SS为1000H,则执行PUSH AX 后,SP= H,SS= H。 3. 8086系统中,栈底在堆栈的 (最高地址端、最低地址端)。

4. 如果VAL为数据段中0056H单元的符号名,其中存放的内容为0FF2H,当执行指令:

MOV BX,VAL后,BX= ;

而执行: LEA BX,VAL后,则BX= 。

5. 设CS=2500H,DS=2400H,SS=2430H,ES=2520H,BP=0200H,SI=0010H,DI=0206H则:指令

MOV AX,[BP+SI+4]源操作数的有效地址为 ,物理地址为 。指令MOV AX,[DI+100H]源操作数的有效地址为 ,物理地址为 。

6. 设AX=2000H,BX=2002H,则在执行了指令CMP AX,BX后,标志位CF为 ,

AX= 。

7. 执行指令“XOR AX,AX”后,标志位ZF的值为 。

8. 若(AL)=10011000B,(BL)=01100111B,则执行指令“ADD AL,BL”后,(AL)= ;

执行指令“AND AL,BL”后,(AL)= 。

9. 在使用8086间接输入/输出指令时,必须在执行该指令之前将相应的端口地址送入 寄

存器中。

二、单选题

1. 下列指令中,不合法的指令是: 。

A.PUSH BL B.ADD BX,[DI] C.INT 21H D.IN AX,09H 2. 完成将AX清零,并使标志位CF清零,下面错误的指令是: 。

A.SUB AX,BX B.XOR AX,AX C.MOV AX,00H D.AND AX,00H

3. 下列8086指令中,对AX的结果与其他三条指令不同的是 。

A.MOV AX,0 B.XOR AX,AX C.SUB AX,AX D.OR AX,0

4. 若寄存器AX,BX,CX,DX的内容分别为11,12,13,14时,依次执行PUSH AX,PUSH BX,

POP CX,POP DX,PUSH CX,PUSH DX,POP AX,POP BX后,则寄存器AX和BX的内容分别为: 。

安徽工程大学计算机与信息学院

A.11,12 B.12,13 C.13,14 D.11,14 5. 假设VAR为变量,MOV BX,OFFSET VAR的寻址方式是: 。

A.直接寻址 B.间接寻址 C.立即寻址 D.存储器寻址

6.~9.基址加变址的寻址方式中,基址寄存器是指 6. ,变址寄存器是指 7. ,如执行指令MOV AX,[BX+SI+2]后,操作数的地址位移量EA为 8. ,其实际物理地址为 9. 。 6. A.AX B.BX C.CX D.SI 7. A.SI B.AX C.BX D.DX 8. A.EA=(AX)+(BX)+2 B.EA=(BX)+(SI)+2

C.EA=(AX)+(SI)+2 D.EA=(BX)+(SI)

9. A.(SS)+EA B.(ES)*10H+EA C.(CS)+EA*10H D.(DS)*10H+EA

10.~ 12.设8086/8088CPU的(SS)=1050H,(SP)=0008H,(AX)=1234H,当执行一条: PUSH AX 指令时(SS)=___10__,(SP)=__11____,1234H存放的实际地址是__12___,请选择正确答案。

10. A.1050H B.1052H C.104EH D.1058H 11. A.0008H B.0006H C.000AH D.0005H 12. A.(10508H)=12H,(10507H)=34H B.(01506H)=34H,(01507H)=12H C.(10506H)=12H,(10507H)=34H D.(10506H)=34H,(10507H)=12H 13. 下面指令中,源操作数的寻址方式为寄存器相对寻址的指令是: 。

A.INC WORD PTR [BX+SI] B.MOV CX,[SI+COUNT] C.NEG BYTE PTR [BX] D.ADD AX,BX

14. 设(AX)=1000H,(BX)=2000H,则在执行了指令“SUB AX,BX”后,标志位CF和ZF的值

分别为: 。

A.0,0 B.0,1 C.1,0 D.1,1

15. 已知CF=0,PF=0,AX=0FFFFH,则执行语句INC AX后,标志位情况为________。

A.CF=0,PF=0 B.CF=1,PF=0 C.CF=0,PF=1 D.CF=1,PF=1 16. 下列指令中,能完成将AL寄存器清零的有_____条。

CMP AL,AL ; SUB AL,AL ; XOR AL,AL ; MOV AL,0 A.1 B.2 C.3 D.4 17. CPU执行算术运算指令不会影响的标志位是 。

A.溢出标志 B.符号标志 C.零标志 D.方向标志

安徽工程大学计算机与信息学院

18. 设(AX)=ABDFH,则在执行指令“AND AX,0001H”后,AX寄存器的内容为: 。

A.ABDEH B.FFFFH C.0001H D.0000H

19. 在堆栈内,有效地址为2500H到2505H单元内依次存放10H、20H、30H、40H、50H、60H六个

数,已知SP=2502H,执行POP BX指令后,有 。。

A.SP=2502H,BX=1020H B.SP=2504H、BX=4030H C.SP=2504H,BX=3040H D.SP=2500H,BX=2010H

三、分析简答题

1. 写出至少3种指令,使AX寄存器置零 2. 用单条指令或程序片段,实现下述功能

(1)将AX高8位取反,低四位置1,其余位不变。 (2)将AL的高四位与低四位互换。 (3)将BX、AX内容互换。

3. 堆栈存储区由哪两个寄存器管理?简述数据压栈和弹栈的过程。 4. 举例说明与数据有关的寻址方式有哪些? 5. 输入输出的寻址方式有哪几种?举例说明

6. 如果TABLE为数据段中0020H单元的符号名,在该单元中存放着3412H,请指出以下两条指

令有什么区别?每条指令执行后AX寄存器中的内容是多少?

MOV AX,TABLE LEA AX,TABLE

7. 分别指出下列指令中的源操作数的寻址方式。 (1)MOV CX,[300H] (2)MOV [BP][DI],300H (3)MOV AX,BX (4)MOV AX,[BP+DI] (5)MOV AX,10[BX][DI] (6)MOV AX,10[SI] (7)MOV AX,[DI] (8)JMP BX (9)IN AL,23H (10)IN AL,DX 8. 指出下列指令的错误

安徽工程大学计算机与信息学院

(1)MOV AH,BX (2)ADD 15H,BX (3)MOV CS,AX

(4)MOV AX,[SI][DI] (5)MOV BYTE PTR[BX],1000 (6)MOV [SI],[BX] (7)MOV DS,0200H (8)IN BL,05H (9)MOV AX,IP (10)MOV SI,[DX] (11)PUSH AL

9. 设8086/8088CPU的SS=1050H,SP=0008H,AX=1234H,当执行指令:PUSH AX后,SS、SP、AX内容分别是什么?画图说明1234H在内存中的存放情况。 10. 假设(DS)=2000H,(BX)=1256H,(SI)=528FH;位移量TABLE=20A1H,

(232F7H)=3280H,(264E5H)=2450H,则; ① 执行指令JMP BX后,(IP)= ? ② 执行指令JMP TABLE[BX]后,(IP)= ? ③ 执行指令JMP [BX][SI]后,(IP)= ?

11. 已知8086 CPU各寄存器和有关内存单元内容如下:

指出执行下列指令后AX寄存器的内容: MEMORY AX0 2 0 0 H1 0 0 0 HCS: CX0 4 0 0 H2 0 0 0 HDS:DX0 3 0 0 H3 0 0 0 HSS20100H1 2 H BX0 1 0 0 H4 0 0 0 HES20101H3 4 HSP1 0 0 0 H0 2 1 0 HI P20102H5 6 H BP2 0 0 0 H20103H7 8 HSI1 2 0 2 H: :DI1 2 0 3 H21200H9 A H 21201HB C H21202HD E H 21203HE F H 4 3 H:: 21300H2 1 H

21301H4 3 H21302H6 5 H21303H8 7 H

::寄存器

安徽工程大学计算机与信息学院

(1) (2) (3) (4) (5)

MOV AX,1200H MOV AX,[1203H] MOV AX,[BX] MOV AX,1100H[BX] MOV AX,[BX][SI]

安徽工程大学计算机与信息学院

第三章(二) 汇编语言程序设计

一、填空题

1. 若定义DA1 DB ‘abcdef’,则 (DA1+3) 存放的数据是 。

2. 指令“AND AX,STR1 AND STR2”中,STR1和STR2是两个已赋值的变量,两个AND 的区别

是 。

3. 对于指令:MOV AX,15 GE 1111B, 汇编结果为: MOV AX, 。 4. 对于指令:MOV BX,15 MOD 4, 汇编结果为: MOV BX, 。

5. 在汇编语言中,一个过程有NEARA和FAR两种属性。NEAR属性表明主程序和子程序

在 , FAR属性表示主程序和子程序在 。

二、单选题

1. 在8086/8088汇编语言中, 用于定义常数、变量、内存空间的定位。

A.伪指令 B.机器指令 C.宏指令 D.微指令 2. 在下列伪指令中定义字节变量的是 。

A.DB B.DW C.DD D.DT

3. 如 VAR DW 1,2,$+5,3,4 在汇编时VAR分配的偏移地址是0075H,则偏移地址为0079H

的单元中的内容是 。

A.00H B.7CH C.84H D.7EH

4.~5.对于指令:MOV BX,((PORT1 LT 5)AND 50)OR ((PORT1 GE 5) AND 40)则当PORT1<5时,汇编结果为: MOV BX, 4. ;否则,汇编结果为: MOV BX, 5. 。 4. A.40 B.50 C.5 D.90 5. A.40 B.50 C.5 D.90.

三、分析简答题

1. 汇编语言中的伪指令与执行指令有何不同?

2. 试举例说明一条汇编语句可以有哪几部分组成?各部分之间采用何种分隔符(定界符)相隔

离?

3. 指出下面程序片段中的错误。

MYDATA SEGMENT A DB 12 24 34

安徽工程大学计算机与信息学院

B: DW ‘12’ MYDATA ENDS MYCODE SEGMENT

ASSUME DS:MYDATA,CS:MYCODE MOV DS,MYDATA MOV AH,A MOV AL,B MOV CX,A

MOV IP,B

4. 改正下面程序片段中的错误或指出错误原因。 DATA SEGMENT

A DB 12、24、34

B DW ‘12’,‘ABCD’

DATA ENDS CODE SEGMENT

ASSUME DS:DATA,CS:CODE

MOV DS,DATA

MOV DX,OFFSET A

MOV AL,[DX+2] MOV BL,CX 5. 指出下面程序片段中的错误。 A1:DB ? A2 DW 10 K1 EQU 1024

?? MOV DS,1200H

MOV AX,80 MOV K1,AX MOV AL,A2 MOV BX,A1

安徽工程大学计算机与信息学院

MOV A1,K1

6. 假设某程序段中的数据定义如下:

DA1 DW ?,2DUP(1) DA2 DB 32H,25H DA3 DB ? CUNT EQU $-DA1 问:(1) 画出内存分配图

(2) 变量DA1、DA2、DA3各占用几个字节?CUNT的值是多少?它表示什么意义?

7. 假设某程序段中的数据定义如下:

A1 DW 3 DUP( 2 DUP(1,2)) A2 DB ‘5678H’ A3 DD ? L EQU $-A1

问:A1、A2、A3在数据段中各占用几个字节?L的值是多少?它表示什么意义?

8. 对下面两个数据段,请分析偏移地址为10H和11H的两个字节中的数据是一样的吗?为什么?

DTSEG SEGMENT ORG

10H

| | | |

DTSEG SEGMENT ORG

10H

DATA1 DB 72H

DB 04H

DATA1 DW 7204H DTSEG ENDS

DTSEG ENDS |

9. 若STR是字符串的首地址,指出下列程序的功能,并将语句加上注解。

LEA

BX,STR ;_________

MOV CX,20 ;_________

LP: CMP [BX],‘*’

JNZ NEXT ;_________ MOV [BX],‘$’ ;_________

BX ;_________ LP ;_________

NEXT: INC

LOOP HLT

程序的功能:

安徽工程大学计算机与信息学院

10. 填入适当指令或指令的一部分,完成指定功能。

设有100个字节数据(无符号数),存放在数据段中EA=2000H的存储区内。以下程序片断应能从该数据区中找出最大的一个数并存入同一数据段EA=21OOH的单元中,请完成该程序。 MAX: MOV BX, M0V AL,[BX] M0V CX,

LOOP1: INC BX

CMP AL,[BX] MOV AL,[BX]

LOOP2: DEC CX

JNZ M0V ,AL

11. 指出下列程序的功能,并将有分号(;)的语句加上简要注解

BUF DB 100 DUP(?)

MOV BX,OFFSET BUF ; MOV CL,64H

LP: MOV BYTE PTR[BX],0 ;

INC BX ; DEC CL ; JNZ LP ;

程序的功能: 12. 分析填空

MOV BL,09H ;执行后 BL=_________ MOV AL,05H ;执行后 AL=_________ ADD AL,BL ;执行后 AL=_________ DAA ;执行后 AL=_________

BL=_________

13. 分析填空

MOV AX,00H ;执行后 AX=_________

安徽工程大学计算机与信息学院

PUSH AX POP BX

;执行后 AX=_________

;执行后 BX=_________

MOV AX,3F5FH ;执行后 AL=_________

MOV CX,4 ROR AL,CL AND AL,0FH

;执行后 AL=_________

;执行后 AL=_________

14. 分析填空

假设(BL)=0E3H,变量VALUE中存放的内容79H,确定下列各条指令单独执行后的结果。 (1)XOR BL,VALUE BL= (2)OR BL,VALUE BL= (3)XOR BL,0FFH BL= (4)AND BL, 0 BL= (5)SHL BL,1 BL= 15. 阅读程序回答问题

DATA SEGMENT

BLOCK DB 51,30,43,107,89,90,200,197,70,64 COUNT EQU $-BLOCK RESULT DB 0

DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX, * MOV DS,AX MOV SI, **

MOV CX,COUNT CON:MOV AL,[SI]

TEST AL,01H JZ NEXT INC RESULT NEXT:INC SI

安徽工程大学计算机与信息学院

LOOP CON

MOV AH,4CH INT 21H

CODE ENDS END START

问题:(1)该程序的功能是 。

(2)程序执行后,RESULT单元的内容是 。 (3)第3行汇编后COUNT= 。

(4)* 处的完整指令应是 。

(5)** 处的完整指令应是 ,该指令也可以用 指令代替

四、程序设计题

1. 内存中有X、Y两个数:X=32,Y=-78 利用汇编语言编写完整的程序,计算这两个数之和,并

将结果存入内存S,即:S=X+Y

2. 编程检测从外设端口71H输入的字节数据,若该数据≤20,则向73H端口送0H;若该数据>20,

则向73H端口送0FFH。请写出完整的汇编源程序。

3. 编程检测80H端口输入的字节数据,若为正,将BL清0;若为负,将BL置为FFH。请写出完

整的汇编源程序。

4. 内存中有X、Y两个数组:X=32、-43、76,Y=-78、127、-128 利用汇编语言编写完整的程序,

计算这两个数组之和,即S(i)=X(i)+Y(i)

5. 在BLOCK开始有一个字节型数组,共有15个元素,利用汇编语言编写完整的程序,计算这个

数组中奇数的个数,并将结果存入内存SUM单元。

6. 在BUF开始有一个字节型数组,共有50个元素,利用汇编语言编写完整的程序,将该数组全

部元素清零。

7. 在BUF开始有一个字节型数组,共有100个元素,利用汇编语言编写完整的程序,计算这个

数组中负数的个数,并将结果存入内存COUNT单元。

安徽工程大学计算机与信息学院

第四章 半导体存贮器

一、填空题

1. 内存按存储器性质分类通常分为 和 。

2. 若用2K×8的RAM芯片组成12KB的内存总容量,则共需 个这样的芯片。

3. 要组成容量为4K×8位的存储器,需要 片4K×1位的静态RAM芯片并联,或者需要

片1K×8位的静态RAM芯片串联。

二、单选题

1. 和外存相比,内存的特点是 。

A. 容量小、速度快、成本高 B. 容量小、速度快、成本低 C. 容量大、速度快、成本高 D. 容量大、速度快、成本低 2. 下列说法中, 是正确的。

A.EPROM是不能改写的

B.EPROM是可改写的,但它不能作为读/写存储器 C.EPROM是可改写的,所以也是一种读/写存储器 D.EPROM只能改写一次

3. 若256KB的RAM具有8条数据线,则它具有 条地址线。 A.10 B.15 C.20 D.18

4. 若256K位(bit)的SRAM芯片具有8条数据线,则它具有的地址线条数为 。

A.14 B.15 C.17 D.18

5.~6.已知某微机系统的存储器由三个芯片组组成,每个芯片组容量为4K字节,总容量为12K字节。试问:为满足其编址范围,至少需要地址总线中的 5 根?其中 6 根用于每个芯片的片内地址输入。

5. A.12 B.13 C.14 D.15 6. A.11 B.14 C.12 D.13

7. RAM 6116芯片有2K×8位的容量,它的片内地址选择线和数据线分别是 。

A.A0~A15和D0~D15 B.A0~A10和D0~D7 C.A0~A11和D0~D7 D.A0~A11和D0~D15

三、分析简答题

1. 在对存储器芯片进行片选时,全译码方式、部分译码方式和线选方式各有何特点?

安徽工程大学计算机与信息学院

四、硬件接口设计题

1. 下图为8088 CPU和某存储器电路连接图,请回答以下问题:

(1) 将CPU的控制信号线与存储器相连。

(2) 存储器的类型(RAM、ROM)是什么?总容量为多少?各存储芯片的地址范围分别是多少?

A11 A12 A13 M/IO A14 A15 A10~0 WR RD D7~0 A Y0 B Y1 C Y2 Y3 Y4 G1 Y5 G2A Y6 G2B Y7 CS0 CS1

A10~0 WE OE A10~0 WE OE 8088 CPU 0# CS0 D7~0 1# CS1 D7~0 74LS138 2. 某系统的存储器采用2K×8的芯片构成,并采用74LS138译码器输出作为片选信号。如下图

所示:(假设系统地址总线为16位)求:

1) 存储器的类型(RAM、ROM)是什么?总容量为多少? 2) 写出1#、2#、3#存储器芯片的地址范围

A10~A0 A11 A12 A13 A14 A15 M/IO A Y6 B Y5 C Y4 G2A G2B G1 Y3 Y2 Y1 Y0 D7~D0 RD WR OE D7~D0 WE (1#) CS A10~A0 OE D7~D0 WE (2#) CS A10~A0 OE D7~D0 WE (3#) CS A10~A0

安徽工程大学计算机与信息学院

3. 下图是与8088 CPU相连的用Intel 2114 构成的RAM存储器区。 3) 说明一片2114的存储容量为多少? 4) 计算该存储器区的总容量为多少? 5) 说明每一组2114的地址范围

安徽工程大学计算机与信息学院

安徽工程大学计算机与信息学院

第五章 输入/输出方法及常用的接口电路

一、填空题

1. 计算机对I/O端口的编址方法有 、 两种。8086CPU中一般采用 编址

方法。

2. CPU与I/O接口间的信息一般包括 、 、 三种类型。 3. CPU与外设的数据传送方式有 、 、 三种方式。 4. 可编程接口芯片8255A含有 个 位的I/O口。

5. 可编程接口芯片8255A的 I/O口可以通过编程的方式来设定其工作方式,其中A口工作方

式有 种;B口工作方式有 种。。

6. 8086/8088CPU可访问2个独立的地址空间,一个为I/O地址空间,其大小为 字

节;另一个为 ,其大小为 字节。

7. 设计输入/输出接口时,应遵守的基本原则是:输入 ;输出 。

二、单选题

1.~3.8086/8088CPU有一个与存储器完全独立的空间供连接输入/输出设备使用,占有的I/O空间为 1. ,使用的地址信号线为 2. 。8086/8088在最小模式下,对I/O进行读操作期间,其有效控制信号为 3. 。

1. A.256byte B.512byte C.64KB D.128KB 2. A.A7~A0 B.A15~A0 C.A15~A1 D.A19~A0 3. A.RD低电平,WR三态,IO/M低电平

B.RD三态,WR低电平,IO/M高电平 C.RD低电平,WR三态,IO/M高电平 D.RD三态,WR低电平,IO/M低电平

4. 假定对8255A进行初始化时所访问的端口是0CBH,并将其A口设定为工作方式1输出,问A

口的地址是多少

A.0C8H B.0CAH C.0CCH D.0CEH 5. 8086的内存空间和I/O空间是 。

A、单独编址的,分别是1MB和64KB B、单独编址的,都是1MB

安徽工程大学计算机与信息学院

C、统一编址的,都是64KB D、统一编址的,都是1MB

6.~8.8255A可编程并行输入/输出接口芯片共有3个8位输入/输出端口,其中可用作位控方式输入/输出的是 6 。当A口被编程为方式2时,端口A就为一个8位的 7 ,此时端口B只能编程为 8 。

6. A.A口 B.B口 C.C口 D.控制口 7. A.位控输入/输出端口 B.选通输入端口 C.选通输出端口 D.双向总线端口

8. A.方式0或方式1 B.方式1 C.方式0 D.方式2

三、分析简答题

1. 计算机对I/O端口编址时采用哪两种方法?在8086CPU中一般采用哪种编址方法? 2. 设计计算机接口要遵循的原则是什么?为什么? 3. 微机输入/输出的主要设备有哪些?至少写出三种

四、硬件接口及程序设计题

1. INTEL 8255A接口芯片

(1) 现给出INTEL 8255A 的应用电路如下,系统分配给8255的地址为60H~63H。试分析该电路中8255的A、B口分别是作为输入口,还是输出口?

(2) 现给出8255A 工作方式控制字格式如下,请编写程序片段对8255进行初始化,并读取电路中的开关量,用LED发光二极管显示其对应的开关状态(注:LED显示器“亮”,表示开关“断开”)。

A组PC7~40: OUT 1: INPUT0: OUT 1: INPUT1D6D5D4D3D2D1D0B组PC3~00: OUT 1: INPUT0: OUT 1: INPUTPB7~0PB工作方式0:0工作方式1:1工作方式PA7~0PA工作方式00:0工作方式01:1工作方式1x:2工作方式

安徽工程大学计算机与信息学院

2. 根据下面的接口电路图,回答下列问题:

(1) 这是一个什么接口电路图?

(2) 写出下列芯片的名称或功能(锁存、缓冲):

U1:

U2:

(3) 电路图中的1、2、3、4、应接到何处?写出符号。 3. 根据下面的接口电路图,回答下列问题:

(1) 这是一个什么接口电路图? (2) 写出下列芯片名称:

U1:

U2:

(3) 电路图中的1、2、3、4、5、6应接到何处?写出符号。

安徽工程大学计算机与信息学院

第六章 中断处理

一、填空题

1. 8086/8088 CPU 的中断分成 和 两大类,8086系统中硬件中断可分

为 和 两种。

2. 8086系统最多能识别 种不同类型的中断,每种中断在中断向量表中分配有

个字节单元,用以指示中断服务程序的入口地址。

3. 8086提供的可接受外部中断请求信号的引脚是 和 。两种请求信号的不同之

处在于 。

4. 若中断类型码N=2H,则对应的中断向量在中断向量表中第一个字节单元地址为 。 5. 可屏蔽中断从CPU的 引脚进入,只有当中断允许标志IF为 时,该中断才

能得到响应。

6. 8086/8088 CPU响应一个外部可屏蔽硬件中断的条件是:一、外设有 ;二、

是开放的;三、必须在 结束后。

7. 采用级联方式,用9片8259A可管理 级中断。

二、单选题

1. 中断向量可以提供 。

A. 被选中设备的地址 B.要传送数据的起始地址 C. 中断服务程序入口地址 D.主程序的断点地址

2. 下面是某8086微机内存中的部分数据,则中断类型号为11H的中断服务程序的入口地址是

_____。

0000:0040 B3 18 8A CC 4D F8 00 F0 41 F8 00 F0 C5 18 8A CC 0000:0050 39 E7 00 F0 A0 19 8A CC 2E E8 00 F0 D2 EF 00 F0

A.F000:F84D B.A019:8ACC C.CC8A:19A0 D.4DF8:00F0 3. 8086 CPU的NMI引脚上输入的信号是_____。

A.可屏蔽中断请求 B.非屏蔽中断请求 C.中断响应 D.总线请求 4. 已知(SP)=1310H,执行IRET指令后(SP)为: 。

A.1316H B.1314H C.1312H D.1304H 5. 6片8259A级联最多可以管理 个中断。

A.48 B.40 C.44 D.43

安徽工程大学计算机与信息学院

三、分析简答题

1. 8086可屏蔽中断请求输入线是什么?“可屏蔽”的涵义是什么? 2. 计算机使用中断有什么好处?

3. 写出下列中断类型的中断优先级,按顺序排列。

①单步中断,②除法出错,③可屏蔽中断,④不可屏蔽中断。

4. 什么是中断类型码、中断向量、中断向量表?在基于8086/8088的微机系统中,中断类型

码和中断向量之间有什么关系? 5. 写出两种8086中断向量表的建立方法。 6. 说明8086 CPU中断和调用子程序过程的异同。

安徽工程大学微机原理综合练习题答案

参考答案

第一章计算机概述

一、填空题 12. 8 13. 2 14. 1024

15. 25.5、11001.1、00100101.0101B 16. 1000010B、42H、66H 17. 41.625、29.AH 18. 10001101B

19. 11001001、11001010 20. -128 ~ +127 21. 系统软件、应用软件 22. 电子管、超大规模集成电路 二、单选题

1. A 2. C 3. D 4. C 5. A 6. C 三、分析简答题

4. 8086 CPU的总线根据其中信息传送的类型可分为几种?哪几种? 答:8086 CPU的总线根据其中信息传送的类型可分为三种种,

分别是:数据总线、地址总线和控制总线

5. 写出-25的原码、反码、补码,并将补码转换成十六进制数(设机器字长为8位)。 答:X=-25=-11001B

X原码:10011001B X反码:11100110B X补码:11100111B = E7H

6. 举例说明什么是机器数,什么是真值? 答:将符号数值化了的数称为机器数。

如:-18=-10010B(真值);机器数为:10010010B

《微机原理及应用》第 27 页 共 48 页

安徽工程大学微机原理综合练习题答案

第二章(一) 微型计算机及微处理器的结构和组成

一、填空题

1. BIU、EU、指令的译码和指令执行 2. 4、16、16、6、20 3. 8、16 4. 1、2 二、单选题

1. B 2. B 三、分析简答题

6. 8086/8088微处理器内部有那些寄存器,它们的主要作用是什么?

答:执行部件有8个16位寄存器,AX、BX、CX、DX、SP、BP、DI、SI。AX、BX、CX、 DX一般作为通用数据寄存器。SP为堆栈指针存器,BP、DI、SI在间接寻址时作为地址寄存器或变址寄存器。总线接口部件设有段寄存器CS、DS、SS、ES和指令指针寄存器IP。段寄存器存放段地址,与偏移地址共同形成存储器的物理地址。IP的内容为下一条将要执行指令的偏移地址,与CS共同形成下一条指令的物理地址。

7. 8086/8088 CPU内部包含有哪6个专用寄存器?它们的主要功能是什么? 答:有CS、DS、ES、SS、IP、PSW

CS(代码段寄存器):用来存放当前代码段的基地址。

DS(数据段寄存器):用来存放供程序使用的数据的一段存储区的基地址。 ES(附加段寄存器):附加的数据段的基地址, SS(堆栈段寄存器):堆栈段的基地址。

IP:16位寄存器。指示代码段存储区域中下一条指令的段内偏移量。 PSW:标志寄存器,用来指示微处理器的状态并控制其操作。

8. 8086CPU状态标志位有哪些?说明其符号、名称和含义

答:(SF):符号标志位,本次运算结果的最高位为1时,SF=1,否则SF=0 (ZF):全零标志位,本次运算结果的为0时,ZF=1,否则ZF=0

(AF):辅助进位标志位,本次运算中低4位向最4位有进位或借位时,AF=1,否则AF=0 (PF):奇偶校验标志位,本次运算结果低8位中有偶数个“1”时,PF=1,否则PF=0

《微机原理及应用》第 28 页 共 48 页

安徽工程大学微机原理综合练习题答案

(CF):进位标志位,本次运算中最高位有进位或借位时,CF=1,否则CF=0 (OF):溢出标志位,本次运算过程中产生溢出时,OF=1,否则OF=0 9. 执行下面两个数相加: 1010 0011 0100 1101 + 0011 0010 0001 1001 1101 0101 0110 0110

分析其结果对下列标志位有何影响:(6分)

(SF)= 1 (ZF)= 0 (AF)= 1 (PF)= 1 (CF)= 0 (OF)= 0

第二章(二) 8086/8088CPU的引脚功能、系统组成及时序

一、填空题

1. 16、20、分时复用 2. 锁存地址

3. 系统中只有一个处理器,CPU提供全部的控制信号;高电平 4. FFFF0H

5. 逻辑地址、物理地址 6. 物理地址

7. 段基址、偏移地址、12345H 8. 段寄存器、20

9. 0000H:0400H;0020H:0200H 10. 1M

11. 高8位、低8位

《微机原理及应用》第 29 页 共 48 页

安徽工程大学微机原理综合练习题答案

二、单选题

1. B 2. B 3. B 4. A 5. B 6. C 7. D 8. B 9. A 10. C 11. D 12. A 13. B 14. B 15. C 三、分析简答题

5. 8086对存储器的管理为什么采用分段的办法?最大段和最小段的存储空间分别是多大?20

位的物理地址是如何形成的?

答:8086CPU是一个16位的结构,内部寄存器及数据总线均为16位,16位地址只能寻址64KB空间。无法送出外部所需的20位物理地址。因此采用分段管理办法,来形成超过16位的存储器物理地址,扩大对存储器的寻址范围 (1MB,20位地址)。 最大段:64KB 最小段:16B

当CPU访问内存时,段寄存器的内容(段基址)自动左移4位(二进制),与段内16位地址偏移量相加,形成20位的物理地址。 6. 简述8086CPU最小工作方式含义。

答:8086CPU的最小工作方式是指:系统中只有一个微处理器,即8086CPU,该方式构成的为单机系统,系统中所需要的控制信号全部由CPU提供,实现和存储器及I/O接口电路的连接,无需总线控制器8288的参与。

7. 说明逻辑地址和物理地址的含义,两者之间有何关系?已知逻辑地址3000H:2345H,写出段

地址、物理地址、偏移地址。

答:逻辑地址是在程序中对存储器地址的一种表示方法,由段地址和段内偏移地址两部分组成。偏移地址是指段内某个存储单元相对该段首地址的差值,是一个16位的二进制代码。 物理地址是8086芯片引线送出的20位实际的地址码,用来指出一个特定的存储单元。 物理地址= 段基址*10H+偏移地址

段地址 3000H、偏移地址 2345H、物理地址 3000H*10H+2345H=32345H 8. 计算题:

某微机系统中内存的首地址为3400H,末地址为67FFH,求其内存容量并以K表示。 答:内存容量=末地址-首地址+1=67FFH-3400H+1=3400H(字节)=13KB 9. 8086/8088为什么采用地址/数据引线复用技术?

答:考虑到芯片成本,8086/8088采用40条引线的封装结构。40条引线引出8086/8088的所有信号是不够用的,采用地址/数据线复用引线方法可以解决这一矛盾,从逻辑角度,地址与数据信号

《微机原理及应用》第 30 页 共 48 页

安徽工程大学微机原理综合练习题答案

不会同时出现,二者可以分时复用同一组引线。

第三章(一) 8086/8088CPU寻址方式及指令系统

一、填空题 10. 操作码、操作数 11. 00FEH、1000H 12. 最高地址端 13. 0FF2H、0056H

14. 0214H、24514H、0306H、24306H 15. 1、2000H 16. 1 17. 0FFH、00H 18. DX 二、单选题

1. A 2. C 3. D 4. A 5. C 6. B 7. A 8. B 9. D 10. A 11. B 12. D 13. B 14. C 15. C 16. C 17. D 18. C 19. B 三、分析简答题

12. 写出至少3种指令,使AX寄存器置零

MOV AX,00 SUB AX,AX XOR AX,AX AND AX,00H 13. 用单条指令或程序片段,实现下述功能

(1)XOR AX,0FF00H OR AX,000FH (2)MOV CL,4 ROR AL,CL(或ROL AL,CL) (3)XCHG AX,BX

14. 堆栈存储区由哪两个寄存器管理?简述数据压栈和弹栈的过程。

答:堆栈存储区由两个寄存器管理:堆栈指针(SP)和堆栈段寄存器(SS)。当一个字数据被压入堆栈时,SP首先减2,然后对栈顶存储单元进行16位字的写操作;其高 8位数据被放在SP-1单元中,低8位数据被放在 SP-2单元中。当数据从堆栈中弹出时,低8位从SP单元移出,高8

《微机原理及应用》第 31 页 共 48 页

安徽工程大学微机原理综合练习题答案

位从SP+1单元移出,然后SP+2。

15. 举例说明与数据有关的寻址方式有哪些?

答:立即寻址、寄存器寻址、直接寻址、寄存器间接寻址、寄存器相对寻址、基址加变址寻址、

相对基址加变址寻址;例子略。 16. 输入输出的寻址方式有哪几种?举例说明 答:有两种:直接端口寻址,如 IN AL,05H;

间接端口寻址,如 MOV DX,05H IN AL,DX

17. 答:MOV指令是将源操作数即内存单元的内容传送到目的操作寄存器中;而LEA为取偏移量

指令,它是将源操作数所在内存单元的偏移地址取出送目的寄存器;

MOV AX,TABLE ;AX=3412H LEA AX,TABLE ;AX=0020H

18. 分别指出下列指令中的源操作数的寻址方式。 (1)直接寻址 (2)立即寻址 (3)寄存器寻址 (4)基址加变址 (5)相对基址加变址寻址 (6)寄存器相对寻址 (7)寄存器间接寻址 (8)段内间接寻址 (9)直接端口寻址 (10)间接端口寻址 19. 指出下列指令的错误

(1)源、目的操作数长度不匹配 (2)立即数不能做目的操作数 (3)CS不能做目的操作数

(4)SI、DI不能同时出现在一个[]中 (5)源、目的操作数长度不匹配

(6)源、目的操作数不能均为存储器操作数 (7)立即数不能直接送至段寄存器

《微机原理及应用》第 32 页 共 48 页

安徽工程大学微机原理综合练习题答案

(8)IN指令中目的操作数不能用BL(只能用AL或AX) (9)IP不能做目的操作数

(10)DX不能间接寻址,可改为 MOV SI,[BX]

(11)PUSH指令的操作数必须为16位(即:按字操作)

20. 设8086/8088CPU的SS=1050H,SP=0008H,AX=1234H,当执行指令:PUSH AX后, 寄存器

SS、SP、AX内容分别是什么?画图说明1234H在内存中的存放情况。

SS=1050H SP=0006H AX=1234H (10506H)=34H (10507H)=12H

21. 假设(DS)=2000H,(BX)=1256H,(SI)=528FH;位移量TABLE=20A1H,

(232F7H)=3280H,(264E5H)=2450H,则; (1) IP = 1256H (2) IP = 3280H (3) IP = 2450H

22. 已知8086 CPU各寄存器和有关内存单元内容如下:指出执行下列指令后AX寄存器的内容:

(1) AX= 1200H (2) AX= 43EFH (3) AX= 3412H (4) AX= BC9AH (5) AX= 8765H

第三章 (二) 汇编语言程序设计

一、填空题 6. ‘d’

7. 第一个AND是逻辑指令,第二个AND 是逻辑与操作符 8. 0FFFFH 9. 03H

10. 同一代码段内、不同代码段 二、单选题

1. A 2. A 3. D 4. B 5. A 三、分析简答题

16. 汇编语言中的伪指令与执行指令有何不同?

答:伪指令的功能主要用于完成变量定义、段定义等,变量名称后不能带‘:’,它仅仅在汇编过程中告诉汇编程序应如何汇编,而不生成机器代码,即由汇编程序进行处理;执行指令可以完成

《微机原理及应用》第 33 页 共 48 页

安徽工程大学微机原理综合练习题答案

数据传送、各种运算、字符串处理、程序控制等功能,标号后要跟‘:’,这种指令由汇编程序翻译成对应的机器代码,最终由CPU执行处理。

17. 试举例说明一条汇编语句可以有哪几部分组成?各部分之间采用何种分隔符(定界符)相隔

离? 答:略。

18. 指出下面程序片段中的错误。

MYDATA SEGMENT

A DB 12 24 34 错误1:多个操作数之间必须用“,”分开 B: DW ‘12’ 错误2:变量后面不能带冒号“:” MYDATA ENDS MYCODE SEGMENT

ASSUME DS:MYDATA,CS:MYCODE

MOV DS,MYDATA 错误3:立即数不能直接送进段寄存器 MOV AH,A

MOV AL,B 错误4:源、目的操作数字长不一致 MOV CX,A 错误5:源、目的操作数字长不一致

MOV AX,B

MOV IP,B 错误6:MOV 指令中IP不能做操作数

19. 改正下面程序片段中的错误或指出错误原因。

DATA SEGMENT

A DB 12、24、34

错误1:多个操作数之间用“,”分开

B DW ‘12’, ‘ABCD’ 错误2:‘ABCD’改为‘AB’,‘CD’

DATA ENDS CODE SEGMENT

ASSUME DS:DATA,CS:CODE

MOV DS,DATA 错误3:立即数不能直接送进段寄存器 MOV DX,OFFSET A 错误4:DX不能用于间接寻址,可改为BX

MOV AL,[DX+2] 错误5:DX不能用于间接寻址,可改为BX MOV BL,CX 错误6:源、目的操作数字长不一致 20. 指出下面程序片段中的错误。

《微机原理及应用》第 34 页 共 48 页

安徽工程大学微机原理综合练习题答案

A1:DB ? 错误1:变量后面不能带冒号“:” A2 DW 10 K1 EQU 1024 MOV AX,80

MOV K1,AX 错误2:K1为立即数,不能做目的操作数 MOV AL,A2 错误3:源、目的操作数字长不一致 MOV BX,A1 错误4:源、目的操作数字长不一致

MOV A1,K1 错误5:A1为字节变量,K1超出的范围

21. 假设某程序段中的数据定义如下:

(1)

? DA1 ?? ?? 01 00 01 00 DA2 32 25 DA3 ?? ? (2) 变量DA1、DA2、DA3占用字节数分别为:6、2、1;

COUNT=9 表示数据段的长度为9个字节

22. 假设某程序段中的数据定义如下:

A1占24个字节 A2占5个字节 A3占4个字节 L的值为33

L表示的意义:变量A1、A2、A3所占的字节总数

《微机原理及应用》第 35 页 共 48 页

安徽工程大学微机原理综合练习题答案

23. 对下面两个数据段,请分析偏移地址为10H和11H的两个字节中的数据是一样的吗?为什么? 答:不一样. 分别是72H, 04H和04H, 72H.

因为字存储时低8位存放在低字节,高8位存在高字节。

24. 若STR是字符串的首地址,指出下列程序的功能,并将语句加上注解。

LEA

BX,STR ;取STR 的偏移量放到BX中

MOV CX,20 ;_设置循环次数________

LP: CMP [BX],‘*’

JNZ NEXT ;BX所指单元内容不为‘*’,则转移至NEXT MOV [BX],‘$’ ;将BX所指单元用‘$’替代

BX ;BX加1,指向下一个单元

LP ;CX-1不等于0则转移至LP处,继续循环

NEXT: INC

LOOP HLT

程序的功能:将STR开始的前20个字符中的‘*’用‘$’替代

25. 填入适当指令或指令的一部分,完成指定功能。

MAX: MOV BX, 2000H M0V AL,[BX]

M0V CX, 63H(或99)

LOOP1: INC BX

CMP AL,[BX] JAE LOOP2 MOV AL,[BX]

LOOP2: DEC CX

JNZ LOOP1 M0V [2100H] ,AL

26. 指出下列程序的功能,并将有分号(;)的语句加上简要注解

BUF DB 100 DUP(?)

MOV BX,OFFSET BUF ; 取BUF的偏移地址,设置地址指针BX MOV CL,64H

LP: MOV BYTE PTR[BX],0 ; 将BX所指向的内存单元清0

INC BX ; BX内容加1,指向下一个内存单元

《微机原理及应用》第 36 页 共 48 页

安徽工程大学微机原理综合练习题答案

DEC CL ; CL内容减1 JNZ LP ; 若计数器CL的内容不为0则转向LP 继续循环 程序的功能:将BUF单元开始的100个字节的存储单元全部清0

27. 分析填空

MOV BL,09H ;执行后 BL=___09H______ MOV AL,05H ;执行后 AL=___05H______ ADD AL,BL ;执行后 AL=___0EH______ DAA ;执行后 AL=___14H______

BL=___09H______

28. 分析填空

MOV AX,00H ;执行后 AX= 00H

PUSH AX POP BX

;执行后 AX= 00H

;执行后 BX= 00H

MOV AX,3F5FH ;执行后 AL= 5FH

MOV CX,4 ROR AL,CL AND AL,0FH

;执行后 AL= 0F5H

;执行后 AL= 05H

29. 分析填空

假设(BL)=0E3H,变量VALUE中存放的内容79H,确定下列各条指令单独执行后的结果。 (1)BL=9AH (2)BL =FBH (3)BL =1CH (4)BL =00H (5)BL =C6H 30. 阅读程序回答问题

(1)该程序的功能是 计算BLOCK 数据元素中奇数的个数,并存入RESULT中 。 (2)程序执行后,RESULT单元的内容是 5(奇数的个数) 。 (3)第3行汇编后COUNT= 10(BLOCK数组元素的个数 。 (4)* 处的完整指令应是 MOV AX,DATA 。

(5)** 处的完整指令应是 MOV SI,OFFSET BLOCK ,该指令也可以用 LEA SI,BOLCK 指

《微机原理及应用》第 37 页 共 48 页

安徽工程大学微机原理综合练习题答案

令代替 四、程序设计题

8. 内存中有X、Y两个数:X=32,Y=-78 利用汇编语言编写完整的程序,计算这两个数之和,并

将结果存入内存S,即:S=X+Y 参考程序:

DATA SEGMENT X DB 32 Y DB -78 S DB ? DATA ENDS

CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX

MOV AL,X ADD AL,Y

MOV S,AL

MOV AH,4CH INT 21H CODE ENDS

END START

9. 编程检测从外设端口71H输入的字节数据,若该数据≤20,则向73H端口送0H;若该数据>20,

则向73H端口送0FFH。请写出完整的汇编源程序。 参考程序如下所示:

CODE SEGMENT ASSUME CS:CODE START:IN AL,71H CMP AL,20 JNG K1

《微机原理及应用》第 38 页 共 48 页

安徽工程大学微机原理综合练习题答案

MOV AL,0FFH JMP K2 K1:MOV AL,00H

K2:OUT 73H,AL MOV AH,4CH INT 21H CODE ENDS END START

10. 编程检测80H端口输入的字节数据,若为正,将BL清0;若为负,将BL置为FFH。请写出完

整的汇编源程序。 参考程序如下所示: CODE SEGMENT

ASSUME CS:CODE START:IN AL,80H TEST AL,80H JZ APOS MOV BL,0FFH JMP EXIT APOS:MOV BL,00H EXIT:MOV AH,4CH INT 21H CODE ENDS END START

11. 内存中有X、Y两个数组:X=32、-43、76,Y=-78、127、-128 利用汇编语言编写完整的程序,

计算这两个数组之和,即S(i)=X(i)+Y(i) 参考程序:

DATA SEGMENT X DB 32,-43,76 Y DB -78,127,-128 S DB 3 DUP(0)

《微机原理及应用》第 39 页 共 48 页

安徽工程大学微机原理综合练习题答案

DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV BX,00H MOV CX,3

AGAIN:MOV AL,X[BX] ADD AL,Y[BX] MOV S[BX],AL

INC BX LOOP AGAIN MOV AH,4CH INT 21H CODE ENDS END START

12. 在BLOCK开始有一个字节型数组,共有15个元素,利用汇编语言编写完整的程序,计算这个

数组中奇数的个数,并将结果存入内存SUM单元。 DATA SEGMENT BLOCK DB 15 DUP (?) SUM DB 00 DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX

MOV SI, OFFSET BLOCK MOV CX,15 CON:MOV AL,[SI]

TEST AL,01H

《微机原理及应用》第 40 页 共 48 页

安徽工程大学微机原理综合练习题答案

JZ NEXT INC SUM NEXT:INC SI LOOP CON

MOV AH,4CH INT 21H

CODE ENDS END START

13. 在BUF开始有一个字节型数组,共有50个元素,利用汇编语言编写完整的程序,将该数组全

部元素清零。 DATA SEGMENT BUF DB 50 DUP (?) DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX

MOV SI, OFFSET BUF MOV CX,50 CON:MOV [SI],00H INC SI LOOP CON

MOV AH,4CH INT 21H

CODE ENDS

END START

14. 在BUF开始有一个字节型数组,共有100个元素,利用汇编语言编写完整的程序,计算这个

数组中负数的个数,并将结果存入内存COUNT单元。 DATA SEGMENT BUF DB 100 DUP (?)

《微机原理及应用》第 41 页 共 48 页

安徽工程大学微机原理综合练习题答案

COUNT DB 00 DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX

MOV SI, OFFSET BUF MOV CX,100 CON:MOV AL,[SI]

TEST AL,80H JZ NEXT INC COUNT NEXT:INC SI LOOP CON

MOV AH,4CH INT 21H

CODE ENDS END START

《微机原理及应用》第 42 页 共 48 页

安徽工程大学微机原理综合练习题答案

第四章 半导体存贮器

一、填空题 4. ROM、RAM 5. 6个 6. 8、4 二、单选题

1. A 2. B 3. D 4. B 5. C 6. C 7. B 三、分析简答题

2. 在对存储器芯片进行片选时,全译码方式、部分译码方式和线选方式各有何特点?

答:①全译码方式:存储器芯片中的每一个存储单元对应一个唯一的地址。译码需要的器件多; ②部分译码方式:存储器芯片中的一个存储单元有多个地址。译码简单;

③线选:存储器芯片中的一个存储单元有多个地址。地址有可能不连续。不需要译码。 四、硬件接口设计题 1. 答:(1)

A10~0 A10~0 WE A10~0 8088 CPU RD D7~0 WR OE 0# CS0 D7~0 Y4 WE OE 1# CS1 D7~0 Y5 (2) 存储器类型为RAM 总容量为 4K×8 地址范围: 0# 2000H-27FFH

1# 2800H-2FFFH

2. 答:(9分) (1) 存储器类型:RAM

该系统的存储器容量为:6K×8位(或:6K字节) (2) 1#芯片的地址范围:1000H ~ 17FFH

《微机原理及应用》第 43 页 共 48 页

安徽工程大学微机原理综合练习题答案

2#芯片的地址范围:0800H ~ 0FFFH

3#芯片的地址范围:0000H ~ 07FFH 3. 1)1K×4 2)2K×8或2KB

3)地址分配范围

第一组 : A19~ A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0

最小地址 0 ~ 0 0 0 0 0 0 0 0 0 0 0 00000H~ 最大地址 0 ~ 0 1 1 1 1 1 1 1 1 1 1 003FFH 第二组: 0 ~ 1 0 0 0 0 0 0 0 0 0 0 00400H~ 0 ~ 1 1 1 1 1 1 1 1 1 1 1 007FFH

《微机原理及应用》第 44 页 共 48 页

安徽工程大学微机原理综合练习题答案

第五章 输入/输出方法及常用的接口电路

一、填空题

8. 统一编址、独立编址、独立编址 9. 数据信息、状态信息、控制信息 10. 程序控制方式、中断方式、DMA方式 11. 3、8 12. 3种、2种

13. 64K、存储器地址空间、1M 14. 输入要缓冲、输出要锁存 二、单选题

1. C 2. B 3. A 4. A 5. A 6. C 7. D 8. A 三、分析简答题

4. 计算机对I/O端口编址时采用哪两种方法?在8086CPU中一般采用哪种编址方法? 答:统一编址(或存储器映象寻址)

I/O独立编址(单独编址) 8086CPU中一般采用I/O独立编址

5. 设计计算机接口要遵循的原则是什么?为什么? 答:输出要锁存,输入要缓冲。

因为计算机的运行速度比较快,输出数据通常要经过锁存才能被外设读取;外设的数据线通过缓冲器与CPU的数据线相连接,从而保证CPU在读取一个外设数据时不会因其它外设的存在而出错。

6. 微机输入/输出的主要设备有哪些?至少写出三种 答:键盘、鼠标、扫描仪、显示器、打印机等 四、硬件接口及程序设计题 4. INTEL 8255A接口芯片

答:(1)A口作为输入口,B口作为输出口 (2)初始化:

A口作为输入口,B口作为输出口,均工作于方式0,则控制字为:90H(不唯一)

《微机原理及应用》第 45 页 共 48 页

安徽工程大学微机原理综合练习题答案

参考程序片段:

??.

MOV AL,90H OUT 63H,AL IN AL,60H OUT 61H,AL

5. 根据下面的接口电路图,回答下列问题:

答:(1) 查询式输入接口电路图

(2) U1:锁存器 U2:三态缓冲器(或三态门) (3)1. RD

2. M / IO 3. 地址线A15~A0 4. RD

6. 根据下面的接口电路图,回答下列问题: 答:(1)查询式输出接口电路图

(2) U1:锁存器(

U2:三态缓冲器(或三态门)

(3) 电路图中的1、2、3、4、5、6应接到何处?写出符号。

1. WR 2. IO/M 3. 地址译码器输出 注:1.、2.、3.次序可以颠倒 4. RD 5. IO/M 6.地址译码器输出

《微机原理及应用》第 46 页 共 48 页

安徽工程大学微机原理综合练习题答案

第六章 中断处理

一、填空题

8. 内部中断、外部中断,可屏蔽中断、非屏蔽中断 9. 256、4

10. INTR、NMI、是否可被屏蔽 11. 00008H 12. INTR、IF=1

13. 中断请求、中断是开放的、当前指令结束后 14. 64 二、单选题

1. C 2. A 3. B 4. A 5. D 三、分析简答题

7. 8086可屏蔽中断请求输入线是什么?“可屏蔽”的涵义是什么?

答:可屏蔽中断请求输入线为INTR;“可屏蔽”是指该中断请求可经软件清除标志寄存器中IF位而被禁止。

8. 计算机使用中断有什么好处?

答:(1)解决快速CPU与慢速外设之间的矛盾,使CPU可以与外设同时工作,甚至可以与几个外设同时工作。

(2)计算机实现对控制对象的实时处理。 (3)计算机可以对故障自行处理。

9. 答:除法出错,不可屏蔽中断,可屏蔽中断,单步中断。

10. 什么是中断类型码、中断向量、中断向量表?在基于8086/8088的微机系统中,中断类型

码和中断向量之间有什么关系?

答:处理机可处理的每种中断的编号为中断类型码。

中断向量是指中断处理程序的入口地址,由处理机自动寻址。

中断向量表是存放所有类型中断处理程序入口地址的一个默认的内存区域。

8086系统中,中断类型码乘4得到向量表的入口,从此处读出4字节内容即为中断向量。

《微机原理及应用》第 47 页 共 48 页

安徽工程大学微机原理综合练习题答案

11. 写出两种8086中断向量表的建立方法。 设中断类型号为80H(00H~FFH均可)

a. MOV AX,0 ;向量表段地址

MOV ES,AX

MOV DI,80H*4 ;向量表地址送DI MOV AX,OFFSET INTER1 CLD STOSW

MOV AX,SEG INTER1

STOSW

b. MOV AX,0 ;向量表段地址

MOV DS,AX

MOV SI,80H*4 ;向量表地址送SI MOV AX,OFFSET INTER1 MOV [SI],AX MOV AX,SEG INTER1

MOV [SI+2],AX

12. 说明8086 CPU中断和调用子程序过程的异同。 相同点:二者都是在需要时,用户用相应的指令实现

不同点: 调用子程序时,指令已经指明子程序的入口地址,而中断则需要根据指令中提供的中断类型号,查中断向量表才能得到中断服务程序的入口地址;调用子程序时,系统只是保护断点处的地址,而软中断,系统不仅保护断点处的地址,而且还保存PSW寄存器的内容。

《微机原理及应用》第 48 页 共 48 页