《2022年微机原理课后作业题解答 .pdf》由会员分享,可在线阅读,更多相关《2022年微机原理课后作业题解答 .pdf(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第一章微型计算机系统概述1.2 到目前为止,微处理器的发展共经历了几代?从内部结构讲,历代微处理器有哪些不同?到目前为止,微处理器的发展共经历了五代。第一代 (19711973 年)为: 4 位和低档8 位微处理器和微计算机。其特点是:采用PMOS 工艺速度较低,基本指令执行时间为1020s,字长 4 位或 8 位,封装引脚为16 条、 24条,指令简单,运算功能较差。但价格低廉:主要用于面向消费的家用电器,计算器和进行简单控制等。第二代 (19731978 年)为:8 位的微处理器和微计算机。其特点是采用NMOS 工艺,采用10条双列直插引脚(DIP) , 集成度比第一代产品提高12 倍(8
2、080 为 4900 个晶体管 /片、MC6800为 6800 个晶体管 /片, Z80 为 10000 个晶体管 /片 ),运算速度提高一个数量级。基本指令执行时间为12s,指令系统比较完善,寻址能力有所增强。第三代 (19781981 年)为: 16 位微处器和微计算机。其特点是采用高性能的HMOS 工艺。各方面性能比第二代又提高一个数量级,基本指令时间为0.5 s。所组成的微计算机巳经达到或超过中档小型机(如 PDPII/45) 的水平。第四代 (19811989 年 )为: 32 位微处理器和计算机。这一代产品属超大规模集成电路SLSI(Super Large Scale lntegr
3、ation) 。采用新的NMOS 工艺,时钟频率高于20MHz ,微指令的执行时间可达55ns。1989 年出现的 80486 集成度可达100 万个晶体管 /片。第五代 (1990 年以后 )为: 64 位微处理器和微计算机。1993 年 3 月 Intel 公司推出新一代64位微处理器Pcntium、(简称 P5)集成度达310 万个晶体管 /片,其时钟频率达6066MHz ,组成 Pentium 586 微计算机1.4 什么是微处理器?微处理器一般具有哪些功能?微处理器主要由运算器和控制器组成,一般也称为中央处理器CPU,微处理器是微型计算机的核心,本身具有共同的特点。微处理器一般具有以
4、下功能:可以进行算术和逻辑运算;可保存少量数据;能对指令进行译码并执行规定的动作;能和存储器、外设交换数据;提供整个系统所需要的定时和控制;可以响应其他部件发来的中断请求。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 20 页 - - - - - - - - - 第二章计算机中的数制和编码2. 选择题 (1)十进制数38 的八位二进制补码是( B ) 。A) 0101 1011 B)1101 1010 C) 1101 1011 D)0101 1010 (2)将十六进制数
5、163. 5B 转换成二进制数是(D) 。A) 1101010101. 1111001 B)110101010. 11001011 C)1110101011. 1101011 D)101100011. 01011011 (3)将十进制数35 转换成二进制数是( A ) 。A) 100011 B)100111 C)111001 D) 110001 (4)将八进制数154 转换成二进制数是( A ) 。A) 1101100 B)111011 C)1110100 D)111101 (5)将二进制数101101101.111101 转换成十六进制数是( B ) 。A) 16A. F2 B)16D. F
6、4 C)16E.F2 D)16B.F2 (6)下列数据中( C )最小。A) 1011001B B)75D C)37O D)2A7H (7)带、号的数,如N1=1001010,称为( B )。A)无符号数B)真值C)浮点数D)机器数(8)表达式11*4096+6*512+5*64+3*8+3的结果以二进制表示时,含有( B )个“ 1” 。A) 10 B)11 C)12 D)13 (9)在( C )表示中,二进制数1111 1111表示十进制数1。A)原码B)反码C)补码D) BCD 码(10)十进制数205. 49 转换成二进制数为( C ) 。A) 1011 0111.101 B)1100
7、 1000.011 C)1100 1101.011 D)1011 0111.001 (11)补码 1011 0110 代表的是进制负数是( A ) 。A) 74 B) 68 C) 54 D) 48 (12)长度相同但格式不同的两种浮点数,假设前者阶码长,尾数短, 后者阶码短, 尾数长,其他规定均相同,则它们可表示的数的范围和精度为( B ) 。A)两者可表示的数的范围和精度相同B)前者可表示的数的范围大但精度低C)后者可表示的数的范围大且精度高D)前者可表示的数的范围大且精度高名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师
8、精心整理 - - - - - - - 第 2 页,共 20 页 - - - - - - - - - 第三章 8086 微处理器3.1 填空题(1)8088CPU内部结构按功能可分为总线接口部件和执行部件两部分。(2)根据功能不同,8086 的标志位可分为条件码标志和控制标志。(3)当存储器的读出时间大于CPU所要求的时间时,为了保证CPU与存储器的周期配合,就要利用 READY或数据未准备好信号,使 CPU插入一个 TW状态。(4)当复位信号( RESET)来到时, CPU便结束当前操作,并对标志寄存器、IP、DS、ES、SS及指令队列清零,而将CS设置为 0FFFF H. (5)8086/8
9、088 构成的微机中,每个主存单元对应两种地址:物理地址和逻辑地址。(6)逻辑地址由段基址和偏移地址组成。(7)8086 中执行部件的功能是负责指令执行。(8)CPU中的总线接口部件,根据 EU的要求,完成CPU与存储器或 I/O设备间的数据传送。(9)CPU从主存取出一条指令并执行该指令的时间称为总线周期。(10)在计算机出现溢出情况时,标志寄存器会记录这一情况。(11)8086CPU的物理地址是指实际的20 位主存单元地址,每个存储单元对应唯一的物理地址,其范围是 00000H0FFFFFH 。(12)将逻辑地址转换为物理地址的公式是物理地址 =段地址左移4 位+ 偏移地址。3.5 什么是
10、总线?什么是总线周期?总线是一簇公共的信号线。它是计算机中传递信息代码的干线。按照工作性质不同划分总线有:地址总线,数据总线和控制总线。8086 CPU 通过总线对存储器或I/O 端口进行一次访问所需要的时间称为一个总线周期。3.7 在 8086 的微机系统中,为什么常用AD0 作为低 8 位数据的选通信号?在 8086 系统中,常将AD0 信号作为低8 位数据的选通信号,因为每当CPU 和偶地址单元或偶地址端口进行数据交换时,在T1 状态, AD0 引脚传送的地址信号必定为低电平,在其他状态则用来传送数据。而CPU 的传输特性决定了只要是偶地址单元或偶地址端口交换数据,那么CPU 必定通过总
11、线的低8 位即 AD7AD0 传输数据。可见,如果在总线周期的 T1 状态, AD0 为低电平, 实际就指示了在这一总线周期中,CPU 将用总线低8 位和偶地址单元或偶地址端口交换数据。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 20 页 - - - - - - - - - 第四章 8086 指令系统1.判断下列指令的正误(DATA 、DATA1 均为变量名)(1)MOV ES,3F00H 错误立即数不能直接送段寄存器(2)PUSH AL 错误PUSH 是字操作指令堆
12、栈操作作为字操作AL 改为 AX (3)SHL AX , 2 错误移位次数大于1,则把移位次数置于CL 寄存器MOV CL ,2 SHL AX ,CL (4)IN AL , DX 正确从 DX 所指的端口中读取1 个字节(5)MOV BX , SI 错误不允许两个同为存储单元(6)JMP BX 正确(7)LEA BX ,DATA 正确(8)POP CS 错误禁止对 CS 寄存器赋值(9)MOV AL , BX+10H 正确(10)MOV DATA1 , DATA 错误不能两个内存单元之间直接交换数据(11)XCHG CS,AX 错误 CS和 IP 不能作为交换指令的源操作数也不能作为目的(12
13、)MOV BX , 1000 错误不能两个内存单元之间直接交换数据(13)XCHG BP,IP 错误同(11)(14)PUSH CS 正确CS 寄存器的值可以推入堆栈,但不能从堆栈中弹出1 个值到 CS (15)POP CS 错误不能从堆栈中弹出1 个值到 CS (16)IN BX,DX 错误只能是累加器AX (17)MOV BYTE PTR BX , 1000H 错误 1000超过了一个字节的范围(18)MOV DS, 1000H 错误 MOV AX, 1000H MOV DS, AX 不能直接向DS中送立即数(19)MOV CS, AX 错误不允许使用CS 寄存器(20)MOV BX DI
14、 ,10 错误必须指明是字节操作还是字操作(21)IN AL, N ( N255) 错误 I/O 地址由 DX 给出。(22)ADD AL, DATA BX 正确3.A 5. 实现两个十六进制二进制的加法。要求加数放在FIRST 开始的单元,被加数放在SECOND 开始的单元,和数放在SUM 单元。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 20 页 - - - - - - - - - MOV AX , FIRST MOV BX , SECOND ADD AX , B
15、X MOV SUM , AX 7. 指出下列指令中,源操作数的寻址方式。(1)MOV ES , 3F00H 直接寻址(2)PUSH AX 寄存器寻址(3)SHL AX , 1 立即数寻址(4)IN AL , DX 间接端口寻址(5)MOV BX , SI 寄存器间接寻址(6)JMP BX 段内间接寻址(7)LEA BX ,DATA 直接寻址(8)POP SI 固定寻址(9)MOV AL , BX+10H 寄存器相对寻址(10)MOV DX ,DATBX SI 基址变址寻址(11)XCHG BX ,AX 寄存器寻址(12)MOV AX ,1000 BP+DI 基址变址寻址(13)XCHG BX
16、,AX 寄存器寻址(14)PUSH BX 寄存器间接寻址(15)POP BX SI 固定寻址(16)INC BX 寄存器寻址(17)MOV BYTE PTR BX , 100 立即数寻址(18)MOV DS, 1000H SI 寄存器相对寻址(19)MOV ES, AX 寄存器寻址(20)MOV BYTE PTR BX DI ,10 立即数寻址(21)IN AL, N (N255) 直接端口寻址(22)ADD AL, DAT BX 寄存器相对寻址8(1).AX=FC2AH ,SF=1,ZF=0 ,CF=1,OF=0 (2) (13754H)=20H,CF=0, (13755H)=10H,OF=
17、0 14.串操作指令与寄存器SI( DI )及方向标志DF 密切相关。试列表说明指令MOVSB/MOVSW、CMPSB/CMPSW 、 SCASB/SCASW 、LODSB/LODSW 、STOSB/STOSW和 SI、DI 及 DF 的关系。MOVSB 传送一个字节,且SI、DI 自动1,DF=0时+1。MOVSW 传送一个字,且SI、DI 自动 2 CMPSB 比较两个字节,且SI、DI 自动 1。DF=0 时+1 CMPSW 比较两个字,且SI、DI 自动 2 SCASB AL中的字节与 ES:DI 所指的字节进行比较,不存结果,只要标志位,DI DI+1 。DF=0时, +1。SCAS
18、W AX中的字与 ES:DI 所指的字进行比较,不存结果,保留标志位,DI DI+2 。LODSB 从 DS:SI 指 定的存储单元取 一个 字节送入名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 20 页 - - - - - - - - - AL ,且 SI SI+1 。LODSW 从DS:SI指定的存储单元取一个字送入AX ,且SI SI+2 。STOSB 将AL 中的一个字节存入ES:DI 指定的内存单元,且 DI DI+1 。STOSW 将 AX 中的一个字存入E
19、S:DI 指定的内存单元,且 DI DI+2 。16.设当前 SS=2010H, SP=FE00H, BX=3457H , 计算当前栈顶地址为多少?当执行PUSH BX 后,栈顶地址和栈顶2 个字节的内容分别是什么?(1)当前栈顶地址为 SS*16+SP=20100+FE00= 2FF00H (2)执行 PUSH BX 后,栈顶地址为2FF00H22FEFEH 2FEFEH的内容为57, 2FEFFH 得内容为 34。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 20
20、页 - - - - - - - - - 第五章汇编语言程序设计5.1. 编写一个程序,从键盘接收10 个十进制数字字符,然后将这些数字加密存储在内存的缓冲区 BUFFER 中,加密表如下: 输入数字: 0,1,2,3,4,5,6,7,8,9 密码数字: 9,2,4,6,1,7,0,8,3,5 DATA SEGMENT TABLE DB 9,2,4,6,1,7,0,8,3,5 XX DB 7 YY DB ? DATA ENDS MOV BX,OFFSET TABLE MOV AH,0 MOV AL,XX ADD BX,AX MOV AL,BX MOV YY,AL 5.2. 编写一汇编语言程序,实
21、现将数据段中首地址为1000H (偏移地址)的100 个连续存放的字节数据搬移至该段内首地址为1050H (偏移地址)的连续的100 个内存单元中。 DATA SEGMENT ORG 1000H TABLE DB 9,2,4,6,1,7,0,8,3,5, DB 0,7,8,5,8,9,#.;100个字节 DATA ENDS MOV SI,1063H MOV DI,10B3H MOV CX,64H STD REP MOVSB 5.3 从 100 个带符号数中寻找最大值,结果放在MAX单元中。 DATA SEGMENT DAT DB 0,1,8,27,64,-9,-5,6,77,-56 MAX D
22、B ? COUNT EQU $-DAT DATA ENDS LEA BX,DAT MOV CX,COUNT-1 MOV AL,BX KKK: INC BX 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 20 页 - - - - - - - - - CMP AL,BX JL XX1 LOOP KKK JMP EXIT XX1: MOV AL,BX JMP KKK EXIT: MOV MAX,AL MOV AH,4CH INT 21H 5.4 统计从 01000H内存单元开
23、始的100 个字(WORD)符号数中的正数、 负数和零的字 (WORD)个数。 DATA SEGMENT ORG 1000H BUFFER DW 0,1,8,27,64,-9,-5,6,77,-56,9,34,-7,0 COUNT EQU 14 PLUS DB 0 ZERO DB 0 MINS DB 0 DATA ENDS LEA SI,BUFFER MOV CX,COUNT CLD CHECK:LODSW OR AL,AL JS XX1 JZ XX2 INC PLUS JMP NEXT XX1:INC MINS JMP NEXT XX2:INC ZERO NEXT:LOOP CHECK 5.
24、5 试编写一个汇编语言程序,求级数12+22+32+的前 n项和刚好大于1000 的项数 n。 CODE SEGMENT ASSUME CS:CODE START: MOV BX,0 MOV DX,0 LOP1: INC BX MOV CX,BX MOV AX,0 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 20 页 - - - - - - - - - LOP2: ADD AX,BX LOOP LOP2 ADD DX,AX CMP DX,1000 JBE LOP1 M
25、OV AH,4CH INT 21H CODE ENDS END START 5.6 设有两个数组A和 B,其中数据均为20 个,两数组中的数据都按自小到大的顺序存放,现在要将两个数组合并成一个数组C,使数组C的数据按自小到大的顺序存放。 DATA SEGMENT A DB 1,5,7,8,15 B DB 3,4,6,9,11 C DB 10 DUP(?) DATA ENDS LEA SI,A MOV CX,5 LEA BX,C KA: MOV AL,SI MOV BX,AL INC BX LOOP KA LEA SI,B MOV CX,5 KB: MOV AL,SI MOV BX,AL INC
26、 BX LOOP KB MOV CX,9 LOOP1: MOV DI,CX MOV BX,0 LOOP2: MOV AL,CBX CMP AL,CBX+1 JGE COTINUE XCHG AL,CBX+1 MOV CBX,AL COTINUE:INC BX LOOP LOOP2 MOV CX,DI LOOP LOOP1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 20 页 - - - - - - - - - 第六章存储器3. 用下列 RAM 芯片构成32K8的存储器
27、模块,各需要多少芯片? (1) 1K8(2) 4K8(3) 1K4(4) 16K4 解: (1) 32 个 (2)8个 (3) 64 个(4)4 个 4. 为 8086CPU扩充一存储器,假设使用芯片6116( 2K8 RAM ) ,要求: (1)地址从A0000H开始,存储容量为4K8位,地址连续。 (2)画出电路连接图。 (3)使用汇编语言在其存储区域内存入全“A”字符,然后再读出,验证其存储是否正确。A0A10OEWE61161#CERDOEWE61162#CED7D0A19A17A18A16A15A14A13A12A11WR与或非或或与非5. 型号为 1K4 的静态芯片,应有多少条地址
28、线?多少条数据线? 型号为 1K4 的静态芯片,应有10 条地址线;4条数据线? 6. 试用 10241 位的芯片组成1K8位存储空间, 设计一种与8 位 CPU连接的方案, 并画图说明。 7. 设计一个8086CPU与存储器连接图,要求: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 20 页 - - - - - - - - - (1)CPU工作在最小模式。 (2)EPROM 16K8,地址从00000H开始(连续) 。 (3)RAM 16K8,地址从0C000H开
29、始(连续)。 8 设某微型计算机的内存RAM 区的容量为128K,若用 2164 芯片构成这样的存储器,需要多少片2164?至少需要多少根地址线?其中多少用于片内寻址?多少根用于片间寻址?片内地址线是为了对存储器芯片中的每一个存储单元都能寻址,CPU 为其提供的地址线。比如 6264 为 8K8,那么片内地址线为13 根 A0A12 。2164 芯片为 64k 1bit,构成 128KB 那么需要16 片,其中八片一组,共两组。用于片内寻址的为 16 根,片间的为1 根,总共 17 根。 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - -
30、- - 名师精心整理 - - - - - - - 第 11 页,共 20 页 - - - - - - - - - 第七章输入 /输出接口3. 端口如何编址?在8086 微型计算机系统中,端口与内存是统一编址还是单独编址? 端口有两种编址方式:端口统一编址和端口独立编址。 端口统一编址是把每一个端口视为一个存储器单元,并赋以相应的存储器地址。 端口独立编址是把所有I/O 接口看作一个独立于存储的I/O 空间。 在 8086 微型计算机系统中,端口与内存是单独编址。 5.CPU与外设之间传输的信息有哪几类?各有何特点? CPU与外设之间传输的信息有三类:数据信息、状态信息、控制信息。 CPU和外部
31、设备交换的基本信息就是数据,数据通常为8 位或 16 位。 状态信息反映了当前外设所处的工作状态,是外设通过接口送往CPU的。 控制信息是CPU通过接口传送给外设的,CPU 通过发送控制信息,控制外设的工作。 6.CPU与外设之间传输信息的方式有哪几种?各有何特点? CPU与外设之间传输信息的方式一般有四种:无条件传输方式、程序查询传输方式、中断方式、 DMA方式。 无条件传送方式是指CPU对外设接口的读写随时都可以进行,不需要等待某种条件的满足。无条件传送方式仅局限于外部控制过程的各种动作时间是固定且是已知的前提下,直接用 IN 或 OUT指令与外设进行传送数据。 程序查询传送方式是指CPU
32、在与外设传递数据前首先查询外设的状态( 即条件 ) ,若外设准备好才传送,若未准备好,CPU 就等待。 CPU要不断查询外设状态,占用大量CPU时间。 在中断传送方式下,外设具有申请CPU服务的主动权, 当输入设备将数据准备好或输出设备可以接收数据时,外设就可以向CPU提出中断请求, 使 CPU暂时停下目前的工作而和外设进行一次数据传输。等输入操作和输出操作完成后,CPU继续进行原来的工作。 直接存储器存取方式DMA(Direct Memory Access) 。外设请求数据传送时,经过DMA控制器发出总线请求信号,CPU 响应后 DMA 控制器就控制了系统总线,送出存储器读写所需的地址和控制
33、信号,送出外设读写所需的控制信号,从而实现外设和存储器之间的直接数据传送。 7. 中断传输方式和查询传输方式相比较,有何优缺点?什么时候用查询传输方式?什么情况下使用中断传输方式? 中断传输方式和查询传输方式相比较,查询传输方式的优点是I/O 接口简单, 但是它的CPU利用率低, 不能满足实时控制系统对I/O 处理的要求。 而中断传送方式能具有如下特点:提高了 CPU的工作效率;外围设备具有申请服务的主动权;CPU可以可外设并行工作;可适合实时控制系统对I/O 处理的要求。 中断传输方式一般适合于外设数量多、速度中等以下、数据量少的场合。 CPU与外设不同步工作时,难以保证在CPU执行输入操作
34、时,外设已准备好,或执行输出操作时,外设施空闲状态,一般采用查询传输方式。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 20 页 - - - - - - - - - 第八章中断技术1. 选择题 (1)已知8259A 与 8086 CPU相连,其对应的终端类型码为40H 47H ,那么在初始化时,CPU送给 8259A 的 ICW2值和 IR3 中断源被响应时, 8259A 送给 CPU的中断类型分别为( C)。A)40H和 47H B )40H 和 40H C )40
35、H 和 43H D)43H 和 47H (2)8259A 内中断类型号的数据长度为(A) 。 A)8位 B)3 位 C)16 位 D)8 位或 16 位 (3)8259A 中断控制器级联的方法最多可用9片,则( C)。 A)最多可连接72 个中断源 B)最多可连接16 个中断源 C)最多可连接64 个中断源 2. 填空题 (1)单片 8359A 可管理 8 级可屏蔽中断,6片级联最多可管理 43 级。 (2)当中断控制器8259A 的A0 接向地址总线 A1 时,若其中一个口地址为0F2H ,若某外设的中断类型码为35H 时,则该中断源应加到8259A 中的中断请求寄存器 IIR 的 IR5
36、输入端。(3)8259A 有两类命令字,分别是 预置命令字 和 操作命令字 。 (4)若用两片中断控制器8259A 芯片构成主从级联形式,则这两片 8259A 芯片最多可直接管理 15 级外部中断源。 (5)在 8086 构成的系统中,利用8259A 管理外设产生16 级中断,则至少需要 3 片8259A 。 (6)在中断响应过程中,8086 往 8259A 发两个 INTA信号的作用是 一是使总线在此期间处于封锁状态;二是总线锁定信号lock 撤除。 。 (7)8259A 可采用级联的方式工作,在微机系统中可接 8 个从属的8259A 。 3.8259A 仅有两个端口,如何识别4 条 ICW
37、命令和 3 条 OCW 命令? 8259A的 7个命令字分别是: 4 个初始化命令字ICW1 ICW4 ,3个操作命令字OCW1OCW3。其中 ICW1 、OCW2 和 OCW3是写入偶地址的,它们依赖于命令字中的D4 、D3两个标志位来区分;ICW2 ICW4 都写入奇地址,它们总是紧跟于ICW1后写入的, 8259A 收到 ICW1后,便能根据 ICW1的内容逐一识别跟在后面的其他初始化命令字;OCW1 也是写入奇地址,但它是初始化设置后,在工作过程中的任意时刻都可以写入的,也就是说,在初始化完成后,写入奇地址的命令字都是OCW1。 另外还需要注意的是,在 8259A片内还有几个寄存器是可
38、以读的,它们是中断请求寄存器 IRR、中断服务寄存器ISR 和中断屏蔽寄存器IMR 。IMR 可以通过输入指令随时从奇地址端口获取,而IRR、ISR 则都是从偶地址端口读取的,但必须事先设置相应的OCW3。为了保证获取正确的信息,在每次读偶地址端口前,都要重新设置正确的OCW3。 4. 若某外设的中断类型码为68H时,试问: (1)该中断源对应的中断矢量表的入口地址为多少? (2)若该中断源对应的中断矢量表中对应得四个字节(从小到大地址顺序)的内容分别为00H ,66H ,88H ,0A0H ,则该中断源的中断服务程序入口地址为多少? 解: (1)68H 4=01A0H 该中断源对应的中断矢量
39、表的入口地址为0A10H 。 (2)偏移量IP 的值为 6600H ,段地址CS的值为 0A088H ,该中断源的中断服务程序入口地址为, 0A088 :6600。即0A6E80H 。 5. 什么是中断向量表? 若8086 的外部中断是通过8259A与 CPU连接的,在响应中断时完成哪些工作?如何进入中断服务程序的? 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 20 页 - - - - - - - - - 所谓中断向量, 实际上就是中断处理子程序的入口地址,每个中断
40、类型对应一个中断向量。8086 的中断系统是以位于内存0 段的 03FFH区域的中断向量表为基础的,中断向量表中最多可以容纳256 个中断向量。 8.8259A 的中断屏蔽寄存器IMR和 8086/8088 的中断允许标志IF 有什么区别? 在中断响应过程中,它们怎样配合起来工作? IF 是 8086 微处理器内部标志寄存器的一位,若IF=0,8086 就不响应外部可屏蔽中断请求 INTR引线上的请求信号。 8259A 有 8 个中断请求输入线, IMR 中的某位为1,就把对应这位的中断请求IR 禁止掉,无法被8259A 处理,也无法向8086 处理器产生INTR 请求。名师资料总结 - -
41、-精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 20 页 - - - - - - - - - 第九章可编程并行接口8255A 1. 填空题 (1)8255A 端口C按位置位复位控制字的 D1D2D3 位用来指定置位或复位的端口C的具体位置。 (2)8255A 端口C按位置位复位控制字的 D0 位决定对端口 C的某一位置位或复位。 (3)8255A 端口A工作在方式2 时,使用端口 C的 PC3-PC7 作为与 CPU 和外部设备的联络信号。 (4)8255A 与CPU 连接时,地址线一般于
42、CPU 的地址总线的 A0 连接。 (5)8255A 控制字的最高位 D7= 1 时,表示该控制字为方式控制字。 (6)8255A 的端口 A的工作方式是由方式控制字的 D4 位决定。 (7)8255A 的端口 B的工作方式由方式控制字的 D2 位决定。 (8)Intel8255A 是一个 可编程并行接口 芯片。 (9)8255A 内部有 三 个输入 / 输出端口。 (10)8255A 的三个端口中只有端口 C 没有输入锁存功能。 2. 8255A 的方式 0 一般使用在什么场合?在方式0 时,如果使用应答信号进行联络,应该怎么办?方式 0 的特点是只要RD、WR 信号有效,就有数据传送,一般
43、用在随时传送数据的场合。若使用在应答信号进行联络,可用C 口进行联络。对C 口进行操作,一般C 口高 4 位用作选通 STB 线, C 口低 4 位用作状态输入RDY 线。3. 当 8255A 工作在方式2 并采用中断时,CPU 如何区分是输入或输出引起的中断?在输入输出均允许中断的情况下,可在中断服务程序中查询状态字,判断OBF 和 IBF 的状态,当 OBF 有效时是输出,而当IBF 有效时便是输入。4. 设 8255A的 4 个寻址地址号为0060H 0063H,试编写下列各种情况下的初始化程序。 (1)将 A组和 B组设置成方式0,A 口、B 口为输入,C口为输出。 (2)将 A组工作
44、方式设置成方式2,B 组为方式1,B 口作为输出。 (3)将 A口和 B口均设置成方式1,均为输入, PC6 和 PC1为输出。 (4)将 A口工作在方式1,输入;B口工作在方式0,输出;C口高 4 位配合 A口工作低4位为输入。 解: (1)初始化程序: MOV DX ,0063H MOV AL ,92H OUT DX ,AL (2)初始化程序: MOV DX ,0063H MOV AL ,C4H OUT DX ,AL (3)初始化程序: MOV DX ,0063H MOV AL ,B6H OUT DX ,AL (4)初始化程序: MOV DX ,0063H MOV AL ,B8H OUT
45、DX ,AL 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 20 页 - - - - - - - - - 6. 若 8255A的端口 A定义为方式0,输入;端口B定义为方式1,输出;端口C的上半部定义为方式 0,输出。试编写初始化程序(口地址为80H 83H ) 。 MOV DX ,0083H MOV AL ,94H OUT DX ,AL MOV DX ,80H IN AL,DX MOV DX ,81H OUT AL ,DX MOV DX ,82H OUT AL ,D
46、X 7. 假设一片8255A 的使用情况如下: A口为方式0 输入,B口为方式0 输出。此时连接的CPU为 8086, 地址线的A1、 A2分别接至8255A的 A0、 A1, 而芯片的CS非来自 A3A4A5A6A7=00101,试完成 8255A的端口地址确定和初始化程序。 8255A的端口地址为A0A7 。控制字为90H 。 MOV AL ,90H MOV DX ,0A6H OUT AL ,DX MOV DX ,0A0H IN AL,DX MOV DX ,0A2H OUT AL ,DX 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - -
47、- - - 名师精心整理 - - - - - - - 第 16 页,共 20 页 - - - - - - - - - 第十章可编程定时器 /计数器 3. 对 8253 定时/ 计数器各通道的初始化包括哪些内容?设8253 的端口地址为360H ,362H ,364H ,366H ,试对其 3 个通道进行初始化编程,使计数器0 设置为方式1, 计数初值为2500H ;计数器 1 设置为方式2,计数初值为3000H ;计数器2 设置为方式3,计数初值为1000H 。 8253 定时 / 计数器各通道初始化主要包括设置控制字、赋初值、发锁存命令和读计数值。CLK 为时钟信号, GATE 为门控信号。
48、8253 的控制字格式D7 D6 D5 D4 D3 D2 D1 D0 SC1 SC0 RW1 RW0 M2 M1 M0 BCD 计数器 0 Mov al ,22H Mov dx, 366H Out dx, al Mov dx , 360H Mov al, 25H Mov dx, al 计数器 1 Mov al ,64H Mov dx, 366H Out dx,al Mov dx , 362H Mov al, 30H Mov dx, al 计数器 2 Mov al ,A7H Mov dx, 366H Out dx, al Mov dx , 364H Mov al, 10H Mov dx, al
49、4. 设某系统中的8253的端口地址为3F0H3F6H ,若要将计数器1 设置为方式2, CLK1为 2MHz ,要求 OUT1输出 1kHz 的连续脉冲;计数器2 设置为方式0,其 CLK2端输入外部计数事件,每计满 1000 个脉冲后向CPU发中断请求,使编写满足上述条件的初始化程序。 CLK1=2MHz,OUT1为 1kHz,初值 N1=2M/1K=2000 N2=1000 计数器 1 MOV AL ,65H MOV DX ,3F6H OUT DX ,AL MOV DX ,3F2H MOV AL ,20H OUT DX ,AL 名师资料总结 - - -精品资料欢迎下载 - - - - -
50、 - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 20 页 - - - - - - - - - 计数器 2 MOV AL ,0B1H MOV DX ,3F6H OUT DX ,AL MOV DX ,3F4H MOV AL ,00H OUT DX ,AL MOV AL ,10H OUT DX ,AL 5. 若将 8253 的计数 1 和计数 2 连续串接( OUT1和 CLK2 ) ,CLK1接 2MHz时钟脉冲,两计数器均工作于方式2,BCD计数,试计算OUT2输出信号的最大周期。 N1=10000 N2=10000 T1=100