北京大学信息科学技术学院考试试卷 科目:微机原理A姓名: 学号: 考试时间:2010年1月8日 任课教师: 题号 四五六|七 总分 分数 阅卷人 考场纪律 1.请持学生证入场考试,并按指定座位就座;除必要的文具和教师指定的用 具用书外,其他所有物品包括手机、呼机、MP3、电子词典、书籍、笔记 纸张等严禁带入座位,必须放在指定位置。凡有试题印制问题请向监考教 师提出,不得向其他考生询问。 2.认真、诚实、独立并在规定时间内完成答卷,严禁任何形式的违纪作弊行 为:否则,本答卷成绩以0分记,并根据《北京大学本科考试工作与学术 规范条例》给予纪律处分 3.提前交卷的考生不要在考场逗留,不要在门口、窗外大声喧哗。考试结束 时间到,请停止答卷,在座位等候监考教师收卷并清点完毕,方可离开考 答 场;考题和试卷不得带出考场。 第1页共9页
北京大学信息科学技术学院考试试卷 科目: 微机原理A 姓名: 学号: 装 考试时间: 2010 年 1月 8 日 任课教师: 王克义 订 线 内 请 勿 答 题 题号 一 二 三 四 五 六 七 八 总分 分数 阅卷人 2. 认真、诚实、独立并在规定时间内完成答卷,严禁任何形式的违纪作弊行 为;否则,本答卷成绩以 0 分记,并根据《北京大学本科考试工作与学术 规范条例》给予纪律处分。 3. 提前交卷的考生不要在考场逗留,不要在门口、窗外大声喧哗。考试结束 时间到,请停止答卷,在座位等候监考教师收卷并清点完毕,方可离开考 场;考题和试卷不得带出考场。 考 场 纪 律 1. 请持学生证入场考试,并按指定座位就座;除必要的文具和教师指定的用 具用书外,其他所有物品包括手机、呼机、MP3、电子词典、书籍、笔记、 纸张等严禁带入座位,必须放在指定位置。凡有试题印制问题请向监考教 师提出,不得向其他考生询问。 第 1 页 共 9 页
以下为试题和答题纸,共10页 、单选题(本大题共15小题,每小题1分,共15分) 1.在下列80x86指令中,合法的指令是(D) A. ADD [BX],OIH B. OUT AL, DX C RoL CL, BX D N AL, DX 2.指令“ MOV AX,[BⅪ”源操作数的寻址方式为(B)。 A.寄存器寻址 B寄存器间接寻址 C.寄存器相对寻址D.基址变址寻址 3.一个无符号二进制数逻辑左移一位相当于将其(B) A.乘以1B.乘以2C.除以1D.除以2 4.8255A的“端口C按位置1/置0控制字”应写入(D) A.A口B.B口C.C口D.控制口 5.若位容量为32K位的SRAM芯片具有8条数据线,则它具有的地址线条数为 (B) A11 B 12 C 13 D.14 6.若定义 DAT DD87654321H,则DAT+2字节单元的数据是(B)。 A.87HB.65HC.43H D. 21H 7.若程序中的数据定义如下 ORG 30H DATI DB 10 DUP(?) DAT2 EQU 12H DAT3 EQU 34H DAT4 DW 56H. $+2 则数据项$+2的值为(C) A. 003CH B. 003DH C. 003EH D. 003FH 8.要禁止8259A的IR的中断请求,则中断屏蔽操作命令字OCW1应为(A)。 A.80H C. 78H D. IBH 9.若主程序中已使中断标志IF置“1”(中断允许),则响应中断请求、进入中断服务 程序并返回主程序后,IF标志位(A) A.一定为“1” B.一定为“0” C.可能为“1”,也可能为“0”D.以上均不对 10.2片8237级联,最多可提供的DMA通道数为(D)。 10B.9C.8D.7 11.对8259A进行初始化时,必须设置的两个初始化命令字为(A) A. ICWl. ICW2 B. ICW1. ICW3 C. ICWl. ICW4 D. ICW2. ICW4 中断向量可提供(D) A.被选中设备的地址 B.传送数据的起始地址 C.主程序的断点地址 D.中断服务程序的入口地址 13.设异步传输时的波特率为4800bps,若每个字符对应七位有效数据位,一位校验位 一位停止位,则每秒钟传输的最大字符数为(B)。 A.240B.480C.720D.960 14.在程序执行过程中, Cache与主存之间的映射是(C) 第2页共9页
以下为试题和答题纸,共 10 页 一、单选题(本大题共 15 小题,每小题 1 分,共 15 分) 1. 在下列 80x86 指令中,合法的指令是( D )。 A. ADD [BX],01H B. OUT AL,DX C. ROL CL,BX D. IN AL,DX 2. 指令“MOV AX,[BX]”源操作数的寻址方式为( B )。 A. 寄存器寻址 B.寄存器间接寻址 C. 寄存器相对寻址 D. 基址变址寻址 3. 一个无符号二进制数逻辑左移一位相当于将其 ( B ) A. 乘以 1 B. 乘以 2 C. 除以 1 D. 除以 2 4. 8255A 的“端口 C 按位置 1/置 0 控制字”应写入( D )。 A. A 口 B. B 口 C. C 口 D. 控制口 5. 若位容量为 32K 位的 SRAM 芯片具有 8 条数据线,则它具有的地址线条数为 ( B )。 A. 11 B. 12 C. 13 D. 14 6. 若定义 DAT DD 87654321H,则 DAT+2 字节单元的数据是( B )。 A. 87H B. 65H C. 43H D. 21H 7. 若程序中的数据定义如下: ORG 30H DAT1 DB 10 DUP (?) DAT2 EQU 12H DAT3 EQU 34H DAT4 DW 56H , $+2 则数据项$+2 的值为 ( C ) A. 003CH B. 003DH C. 003EH D. 003FH 8. 要禁止 8259A的IR0的中断请求,则中断屏蔽操作命令字OCW1 应为( A )。 A. 80H B. 28H C. 78H D. 1BH 9. 若主程序中已使中断标志 IF 置“1”(中断允许),则响应中断请求、进入中断服务 程序并返回主程序后,IF 标志位( A )。 A. 一定为“1” B. 一定为“0” C. 可能为“1”,也可能为“0” D. 以上均不对 10. 2 片 8237 级联,最多可提供的 DMA 通道数为( D )。 A. 10 B. 9 C. 8 D. 7 11. 对 8259A 进行初始化时,必须设置的两个初始化命令字为( A ) 。 A. ICW1, ICW2 B. ICW1, ICW3 C. ICW1, ICW4 D. ICW2, ICW4 12. 中断向量可提供( D ) A. 被选中设备的地址 B. 传送数据的起始地址 C. 主程序的断点地址 D. 中断服务程序的入口地址 13. 设异步传输时的波特率为 4800bps, 若每个字符对应七位有效数据位,一位校验位, 一位停止位,则每秒钟传输的最大字符数为( B )。 A. 240 B. 480 C. 720 D. 960 14. 在程序执行过程中,Cache 与主存之间的映射是( C )。 第 2 页 共 9 页
A.程序员调度的 B.操作系统管理的 C.由硬件自动完成的 D.以上均不对 15.8086系统的中断向量表中,若从0000H:003CH单元开始由低地址到高地址依次 存放34H、FEH、00H和FOH四个字节,则相应的中断类型码和中断服务程序的入口 地址分别为(C)。 A. OEH, 34FEH: O0FOH B. OEH FE34H C. OFH, FO0OH: FE34H D. OFH 34FEH 、填空题(每空0.5分,共15分) 1.微型计算机主要由微处理器、存储器_、_O接口等部件组成,各部件之间 通过系统总线相互连接与通信。 2.为了把下一条指令从存储器中取出,控制器通常把PC的内容加上一个数值,以形成 下一条指令的地址,但在遇到转移指令时,控制器则把转移目标地址 送入PC。 3.若干条微指令组成一小段微程序,解释执行一条微指令,并事先将其存入微指令 控制存储器中。 内 4.一条微指令通常由两个字段构成,一个是微操作控制字段,另一个是顺序控制 字段 5.80x86CPU从HOLD_引脚接收总线请求信号,若其同意放弃总线控制权,则 将从HLDA引脚发出总线响应信号 6.设(CS)=2500H,(DS)=2400H,(SS)=2430H,(ES)=2520H,(BP)=0200H (S)=0010H,(D)=0206H,则指令“MOⅤAX,[BP+SI+4]”源操作数的有效地 址为0214H,物理地址为_24514H 指令“ MOV AX DH+100”源操作数的有效地址为 物理地址为 勿 24306H 7.8086CPU的9个标志位中,有6位为状态标志,它们是OF,SF,AF,PF及 ZF、CF 8.主机与外设之间的数据传送控制方式通常有三种,它们是程序控制方式,中断方式 答 及DMA方式 ,其中, DMA 方式的数据传输率最高。 9.一个中断向量占4个字节单元,其中低地址的两个字节单元存放中断服务程序入口 地址的偏移量,高地址的两个字节单元存放中段服务程序入口地址的段基值 10.若8259AICW2的初始值为18H,则在中断响应周期数据总线上出现的与R相对 应的中断类型码为1DH 1l.现用2K×8位的静态RAM芯片构成&K×32位的存储器,共需此种芯片16片 若CPU输出的地址信号为20位,则可用于进行片选译码的片外地址为9位 12.当所用的存储器或O设备的速度比较慢时,可通过将 READY引脚信号变为有 效电平来通知CPU在当前总线周期中插入等待状态 13.DMA控制器的工作方式通常有单字节传输方式、块传输方式及请求传输模式_, 其中,块传输模式。的数据传输率较高。 14.中断返回指令IRET总是安排在中段服务程序的末尾_,执行该指令时,将从堆栈 弹出IP、CS、FR(或PSW),以使CPU返回到主程序断点处继续执行后续指令。 15.若在8259A初始化时将其设置为普通中断结束方式,则必须在中断服务程序结束时 向其发出操作命令字OCW2,并令其中的OL位为1,以使ISR寄存器的相 应位清0。 16.基本的总线仲裁方式有两种,即串行总线仲裁和并行总线仲裁 第3页共9页
A. 程序员调度的 B. 操作系统管理的 C. 由硬件自动完成的 D. 以上均不对 15. 8086 系统的中断向量表中,若从 0000H:003CH 单元开始由低地址到高地址依次 存放 34H、FEH、00H 和 F0H 四个字节,则相应的中断类型码和中断服务程序的入口 地址分别为( C )。 装 订 线 内 请 勿 答 题 A.0EH,34FEH:00F0H B.0EH,F000H:FE34H C.0FH,F000H:FE34H D.0FH,00F0H:34FEH 二、填空题(每空 0.5 分,共 15 分) 1.微型计算机主要由微处理器、 存储器 、 I/O接口 等部件组成,各部件之间 通过 系统总线 相互连接与通信。 2.为了把下一条指令从存储器中取出,控制器通常把PC的内容加上一个数值,以形成 下一条指令的地址,但在遇到转移指令时,控制器则把 转移目标地址 送入 PC。 3.若干条微指令组成一小段微程序,解释执行一条微指令,并事先将其存入 微指令 控制存储器 中。 4. 一条微指令通常由两个字段构成,一个是微操作控制字段,另一个是 顺序控制 字段 。 5.80x86 CPU从 HOLD 引脚接收总线请求信号,若其同意放弃总线控制权,则 将从 HLDA 引脚发出总线响应信号。 6. 设(CS)=2500H,(DS)=2400H,(SS)=2430H,(ES)=2520H,(BP)=0200H, (SI)=0010H,(DI)=0206H,则指令“MOV AX,[BP+SI+4]”源操作数的有效地 址为 0214H ,物理地址为 24514H ;指令“MOV AX, [DI+100H] ”源操作数的有效地址为 0306H ,物理地址为 24306H 。 7. 8086 CPU的 9 个标志位中, 有 6 位为状态标志,它们是OF, SF, AF, PF及 ZF、CF 。 8. 主机与外设之间的数据传送控制方式通常有三种,它们是程序控制方式,中断方式 及 DMA方式 ,其中, DMA 方式的数据传输率最高。 9. 一个中断向量占 4 个字节单元,其中低地址的两个字节单元存放 中断服务程序入口 地址的偏移量 ,高地址的两个字节单元存放 中段服务程序入口地址的段基值 。 10. 若 8259A ICW2 的初始值为 18H,则在中断响应周期数据总线上出现的与IR5相对 应的中断类型码为 1DH 。 11. 现用 2K×8 位的静态RAM芯片构成 8K×32 位的存储器,共需此种芯片 16 片, 若CPU输出的地址信号为 20 位,则可用于进行片选译码的片外地址为 9 位。 12. 当所用的存储器或I/O设备的速度比较慢时,可通过将 READY 引脚信号变为有 效电平来通知CPU在当前总线周期中插入等待状态。 13. DMA控制器的工作方式通常有单字节传输方式、块传输方式及 请求传输模式 , 其中, 块传输模式 的数据传输率较高。 14. 中断返回指令IRET总是安排在 中段服务程序的末尾 ,执行该指令时,将从堆栈 弹出 IP、CS、FR(或PSW) ,以使CPU返回到主程序断点处继续执行后续指令。 15. 若在 8259A初始化时将其设置为普通中断结束方式,则必须在中断服务程序结束时 向其发出操作命令字 OCW2 ,并令其中的 EOI 位为 1,以使ISR寄存器的相 应位清 0。 16. 基本的总线仲裁方式有两种,即 串行总线仲裁 和 并行总线仲裁 。 第 3 页 共 9 页
三、简答题(本大题共4小题,每小题5分,共20分) 1.画出硬连线控制器的基本组成框图,说明这种控制器的优缺点。 基本框图如下: 环形脉冲发生器 T1 T2 微指令编码器 R 指令译码 END 微命令信号 优点:执行指令的速度快 缺点:不规整,不易扩充 2.说明CPU响应可屏蔽中断(INTR)和非屏蔽中断(NMI)的区别。 答:区别:(1)响应INTR需首先检测中断标志IF的状态,而响应NMI无需检测 IF的状态 (2)响应INTR时,需从外部读取中断型码,而响应NM时CPU内部自动形成 相应的中断类型码 3.说明DMA控制器(DMAC)的基本结构(指出内部主要有哪些寄存器,外部主要 有哪些控制信号线)。 答:DMA控制器(DMAC)的内部结构主要有:控制寄存器,状态寄存器,地址寄 存器和字节计数寄存 外部控制信号线有:数据总线,地址总线,控制总线(含总线请求,总线应答信号线) 以及计数结束信号线(可作为中段请求信号) 4.试计算 Cache控制器832385采用“两路组相联”比“直接映像”方式所增加的硬件 开销(以位为计量单位)。设处理器环境为80386,“直接映像”方式下外部 Cache大小为 32KB,“两路组相联方式下外部 Cache的 BANKA和 bANKB均为16KB,并在内部每一对 目录项中配置一位“最近最少使用”LRU位。主存与 Cache的映像单位为行,每行32位。 第4页共9页
三、简答题(本大题共 4 小题,每小题 5 分,共 20 分) 1. 画出硬连线控制器的基本组成框图,说明这种控制器的优缺点。 基本框图如下: . . I R 指 令 译 码 微指令编码器 环形脉冲发生器 …. …. T1 T2 Tn 微命令信号 END 优点: 执行指令的速度快 缺点: 不规整,不易扩充 2. 说明 CPU 响应可屏蔽中断(INTR)和非屏蔽中断(NMI)的区别。 答:区别:(1)响应 INTR 需首先检测中断标志 IF 的状态,而响应 NMI 无需检测 IF 的状态; (2)响应 INTR 时,需从外部读取中断型码,而响应 NMI 时 CPU 内部自动形成 相应的中断类型码 3. 说明 DMA 控制器(DMAC)的基本结构(指出内部主要有哪些寄存器,外部主要 有哪些控制信号线)。 答:DMA 控制器(DMAC)的内部结构主要有: 控制寄存器,状态寄存器,地址寄 存器和字节计数寄存; 外部控制信号线有:数据总线,地址总线,控制总线(含总线请求,总线应答信号线) 以及计数结束信号线(可作为中段请求信号); 4. 试计算 Cache 控制器 82385 采用“两路组相联”比“直接映像”方式所增加的硬件 开销(以位为计量单位)。设处理器环境为 80386,“直接映像”方式下外部 Cache 大小为 32KB,“两路组相联方式下外部 Cache 的 BANKA 和 BANKB 均为 16KB,并在内部每一对 目录项中配置一位“最近最少使用”LRU 位。主存与 Cache 的映像单位为行,每行 32 位。 第 4 页 共 9 页
答:两路组相连比直接映像方式所增加的硬件开销为: 27位x2x512+512位(LRU)-26位x1024=1024+512=1536位 四、汇编语言编程(每小题6分,共18分) 1.将下列伪指令语句定义的数据填充到图示的存储单元中。(注:A的ASCⅡ码为41H, B的ASCⅢ码为42H)。 ONE DB“A',B TWO DB‘AB DATA DW 100H, 9AH ARRAY DB 2 DUP (0, 1, ?, 2) ARRAY OOH DATA OOH ONE OIH TWO 41H 9AH 42H 00H OIH 02H 2.在下面的汇编语言程序横线处填空,使语句完整,保证程序正确执行。 DSEG SEGMENT DlDB-1,5,2,6,-7,4 CNT EQU $-DI RLT DW DSEG ENDS SSEG SEGMENT STACK DB 256 DUP(O) SSEG ENDS CSEG SEGMENT ASSUME CS: CSEG DS: DSEG SS: SSEG START: MOV AX, DSEG MOV DS. AX MOV B OFFSET D MOV CX, CNT LP: MOV AV,0 CMP AL 第5页共9页
答:两路组相连比直接映像方式所增加的硬件开销为: 27 位 x 2 x 512 + 512 位(LRU)-26 位 x1024 = 1024 + 512 = 1536 位 四、汇编语言编程(每小题 6 分,共 18 分) 1. 将下列伪指令语句定义的数据填充到图示的存储单元中。(注:A 的 ASCII 码为 41H, B 的 ASCII 码为 42H)。 ONE DB ‘A’, ‘B’ TWO DB ‘AB’ DATA DW 100H,9AH ARRAY DB 2 DUP (0,1,?,2) 41H 42H 41H 42H 2. 在下面的汇编语言程序横线处填空,使语句完整,保证程序正确执行。 DSEG SEGMENT Dl DB –1,5,2,6,–7,4 CNT EQU $–Dl RLT DW ? DSEG ENDS SSEG SEGMENT STACK DB 256 DUP(0) SSEG ENDS CSEG SEGMENT ASSUME CS: CSEG, DS: DSEG, SS: SSEG START: MOV AX, DSEG MOV DS, AX MOV BX ,OFFSET Dl MOV CX, CNT MOV DX, 0 LP: MOV AL, [BX] CMP AL, 0 ONE TWO 00H 01H ? 02H 00H 01H ? 02H 00H 01H 9AH 00H DATA ARRAY 第 5 页 共 9 页
JL CONT INC DX CONT: INC BX LOOP LP MOV RLT DX MOV AH 4CH INT 21H CSEG ENDS END START 上述程序执行后,RLT的内容是0004H (用16进制表示);若将程序中的 “ JL CONT”指令改为“ JGE CONT”指令,则该程序执行后,RLT的内容是0002H 线 (用16进制表示) 3.阅读下列程序段,在必要的地方加简要注释,并指出程序运行后,A单元的内容为 0250H DSEG SEGMENT 定义数据段 请 CDW230H.20H.54H DSEG ENDS SSEG SEGMENT STACK 定义堆栈段 DB 256 DUP(?) SSEG ENDS CSEG SEGMENT 定义代码段 ASSUME CS: CSEG DS: DSEG, SS: SSEG START: MOV AX DSEG MOV DS. AX MOV BX OFFSET C 将C的偏移地址传送给BX MOV AX, BX 将BX所指向的字单元内容传送给AX MOV B. AX 将AX中的内容存入B中,B的内容为0230H MOV AX,[BX+2]将BX+2所指向的字单元内容送AX,AX=0020H ADD AX. B 指令执行后,AX为0250H 题 MOVA. AX CSEG ENDS 代码段结束 END START 程序结束 五、设计与应用(本大题共4小题,每小题8分,共32分) 某存储子系统如下图所示,与之接口的CPU的地址总线信号共20位。 第6页共9页
JL CONT INC DX 装 CONT: INC BX 订 线 内 请 勿 答 题 LOOP LP MOV RLT, DX MOV AH, 4CH INT 21H CSEG ENDS END START 上述程序执行后,RLT的内容是 0004H (用 16 进制表示);若将程序中的 “JL CONT”指令改为“JGE CONT”指令,则该程序执行后,RLT的内容是 0002H (用 16 进制表示)。 3. 阅读下列程序段,在必要的地方加简要注释,并指出程序运行后,A单元的内容为 0250H 。 DSEG SEGMENT ;定义数据段 A DW 0 B DW 0 C DW 230H , 20H , 54H DSEG ENDS SSEG SEGMENT STACK ;定义堆栈段 DB 256 DUP(?) SSEG ENDS CSEG SEGMENT ;定义代码段 ASSUME CS: CSEG, DS: DSEG, SS: SSEG START: MOV AX, DSEG MOV DS, AX MOV BX, OFFSET C ;将 C 的偏移地址传送给 BX MOV AX, [BX] ;将 BX 所指向的字单元内容传送给 AX MOV B, AX ;将 AX 中的内容存入 B 中,B 的内容为 0230H MOV AX , [BX+2] ;将 BX+2 所指向的字单元内容送 AX,AX=0020H ADD AX, B ;指令执行后,AX 为 0250H MOV A, AX CSEG ENDS ;代码段结束 END START ; 程序结束 五、设计与应用(本大题共 4 小题,每小题 8 分,共 32 分) 1. 某存储子系统如下图所示,与之接口的 CPU 的地址总线信号共 20 位。 第 6 页 共 9 页
wAAA 74LS138 EPROM RAM A10~A CPU G_GcBA A 试指出 (1)该存储器的总存储容量为6K國或6*2-⊥ 字 (2)SRAM的地址范围为F900OH-F97FFH或F9800H-F9FFH(以16进制表示), 片选译码的特点为。部分译码∧"未参与RAM的地址译码]有地址重叠现象]_。 (3) EPROM的地址范围为FD000H~ FDFFFE (以16进制表示), 片选译码的特点为全译码每个存储单元有唯一确定的地址]。 2.利用可编程计数器/定时器8253产生周期为10s的方波信号,设外部时钟频率F= 1MHz,8253的端口地址为80H-~83H 要求:(1)画出连线简图;(2)编写8253的初始化程序,并加简要注释 F=IM HZ 外部 时钟 系统总线 GAtE OUTO 第7页共9页
试指出: ⑴ 该存储器的总存储容量为 6K[或 6*210] 字节; ⑵ SRAM的地址范围为 F9000H~F97FFH或F9800H~F9FFFH (以 16 进制表示), 片选译码的特点为 部分译码[A11未参与RAM的地址译码][有地址重叠现象] 。 ⑶ EPROM的地址范围为 FD000H~FDFFFH (以 16 进制表示), 片选译码的特点为 全译码[每个存储单元有唯一确定的地址] 。 2.利用可编程计数器/定时器 8253 产生周期为 10μs的方波信号,设外部时钟频率F= 1 MHZ , 8253 的端口地址为 80H~83H。 要求:(1) 画出连线简图 ; (2) 编写 8253 的初始化程序,并加简要注释。 连线图: CLK0 GATE0 OUT0 外 部 时 钟 系 统 总 线 F=1M HZ +5V 第 7 页 共 9 页
初始化程序: MOVAL 17H OUT83H,AL;写通道0控制字 MOVAL IOH OUT8OH,AL;写通道0计数初值 HLT 注:若使用通道1或2,则值有可能不同 装 3.利用可编程并行接口片8255A实现下述功能 读入接于A口的8位开关状态码,将该状态码的低4位求反,高4位保 持不变,然后从C口送出 要求:(1)画出连线简图; (2)编写8255A的初始化程序及有关控制程序,并加简要注释。 8255A的端口地址为280H-283H。(控制字中无关的位,置0) 解:(1)连线简图:(2分) (2)初始化程序及相关控制程序:(6分) MOV AL,90H;)8255A初始化:A组方式0,A 内 MOV DX,283H;}口输入,PC7PC4输出:B组方式 uDxA,,BCPC输出(2分) )V DX. 280 N AL, DX;从A口读入8位开关状态码(2分) XOR AL,0FH低4位求反,高4位保持不变 MOV DX. 282H OUT DX,AL;从C口送出 (2分) 答 55A 第8页共9页 R KAZ PAZ
初始化程序: MOV AL, 17H OUT 83H, AL ; 写通道 0 控制字 MOV AL, 10H OUT 80H, AL ; 写通道 0 计数初值 HLT 装 注:若使用通道 1 或 2,则值有可能不同 订 线 内 请 勿 答 题 3.利用可编程并行接口片 8255A 实现下述功能: 读入接于 A 口的 8 位开关状态码,将该状态码的低 4 位求反,高 4 位保 持不变 ,然后从 C 口送出。 要求:(1) 画出连线简图; (2) 编写 8255A 的初始化程序及有关控制程序,并加简要注释。 8255A 的端口地址为 280H~283H 。(控制字中无关的位, 置 0) 解:(1)连线简图:(2 分) (2)初始化程序及相关控制程序:(6 分) MOV DX, 280H IN AL, DX ;从 A 口读入 8 位开关状态码 (2 分) XOR AL, 0FH;低 4 位求反,高 4 位保持不变 MOV DX, 282H OUT DX, AL ; 从 C 口送出 (2 分) HLT MOV AL, 90H ; 8255A 初始化:A 组方式 0,A MOV DX, 283H ; 口输入,PC7~PC4输出;B组方式 OUT DX, AL ; 0,PC3~PC0输出(2 分) 第 8 页 共 9 页
4.阅读下面有关Inte8251A的一段程序,指出其功能,并做出简要注释。其中,51H为8251A 的控制口地址,50H为8251A的数据口地址。 MOV AL, OEEH 注释(3分) OUT 5IH, AL 写8251A方式选择控制字 MOV AL. 15H OUT5H,AL:写8251A操作命令字 CHKRX: IN AL, 51H 读状态字 ROR AL, I ROR AL, 1 循环右移2位 JNC CHKRX 若 RXRDY位=0,则转 CHKRX(继续读状态) AL, 50H 若 RXRDY位=1,则从数据口读数据 NOT AL 将读进来的数据按位求反 MOV BL, AL 暂存于BL CHKTX: IN AL. 51H 读状态字 ROR AL 循环右移1位 JNC CHKIX 若 IXRDY位=0,则转 CHKTX MOV AL, BL OUT 50H, AL 将求反后的数据输出 JMP CHKRX 该程序段的功能为_以査询方式从8251A数据口接收8位数据,求反后再以查询 i式发送出 。(5分) 第9页共9页
4. 阅读下面有关 Intel 8251A 的一段程序,指出其功能,并做出简要注释。其中,51H 为 8251A 的控制口地址,50H 为 8251A 的数据口地址。 MOV AL,0EEH ; 注释(3 分) OUT 51H,AL ; 写 8251A 方式选择控制字 MOV AL, 15H ; OUT 51H,AL ; 写 8251A 操作命令字 CHKRX: IN AL,51H ;读状态字 ROR AL,1 ; ROR AL,1 ; 循环右移 2 位 JNC CHKRX ;若 RxRDY 位=0,则转 CHKRX(继续读状态) IN AL,50H ;若 RxRDY 位=1,则从数据口读数据 NOT AL ;将读进来的数据按位求反 MOV BL,AL ;暂存于 BL CHKTX: IN AL, 51H ;读状态字 ROR AL, ;循环右移 1 位 JNC CHKTX ;若 TxRDY 位=0,则转 CHKTX MOV AL,BL ; OUT 50H, AL ;将求反后的数据输出 JMP CHKRX 该程序段的功能为 以查询方式从 8251A数据口接收 8 位数据,求反后再以查询 方式发送出去 。(5 分) 第 9 页 共 9 页