《微型计算机原理及应用》试题库及答案
一、 填空 1.数制转换
A)125D=(0111 1101 )B =(175 )O=( 7D )H=(0001 0010 0101 )BCD B)10110110B=( 182 )D =(266)O=( B6 )H=(0001 1000 0010)BCD
2.下述机器数形式可表示的数值范围是(请用十进制形式写出):单字节无符号整数 0~ 255 ;单字节有符号整数 -127 ~ 127 。
(注:微型计算机的有符号整数机器码采用补码表示,单字节有符号整数的范围为-128~+127。)
3.完成下列各式补码式的运算,并根据计算结果设置标志位SF、ZF、CF、OF。指出运算结果有效否。
A)00101101+10011100=11001001B SF=1 ZF=0 CF=0 OF=0 B)11011101+10110011=10010000B SF=1 ZF=0 CF=1 OF=0
4.十六进制数2B.4H转换为二进制数是_0010 1011.0100B ,转换为十进制数是_43.25。
5.在浮点加法运算中,在尾数求和之前,一般需要 操作,求和之后还需要进行 和舍入等步骤。
6.三态门有三种输出状态: 低电平 、 高电平 、 高阻态 状态。
7.字符“A”的ASCII码为41H,因而字符“E”的ASCII码为 45H ,前面加上偶校验位后代码为 。
8.数在计算机中的二进制表示形式称为 机器数 。
9.在计算机中,无符号书最常用于表示 。
10.正数的反码与原码 相等 。
11.在计算机中浮点数的表示形式有 整数 和 小数 两部分组成。
12.微处理器中对每个字所包含的二进制位数叫 字节 。
13.MISP是微处理的主要指标之一,它表示微处理器在1秒钟内可执行多少
14.PC机主存储器状基本存储单元的长度是 .
15.一台计算机所用的二进制代码的位数称为__字长_______,8位二进制数称为_8位机 ___。
16.微型计算机由 微处理器 、 存储器 和 总线 组成。
17.8086CPU寄存器中负责与I/O端口交换数据的寄存器为 、 。
18.总线有数据总线、地址总线、控制总线组成,数据总线是从微处理器向内存储器、I/O接口传送数据的通路;反之,它也是从内存储器、I/O接口向微处理器传送数据的通路,因而它可以在两个方向上往返传送数据,称为 双向传递 。
19.一个微机系统所具有的物理地址空间是由 总线 决定的,8086系统的物理地址间 2M 字节
20.运算器包括算术逻辑部件 ALU ,用来对数据进行算术、逻辑运算,运算结果的一些特征由 寄存器 存储。
21.控制寄存器包括指令寄存器、指令译码器以及定时与控制电路。根据 的结果,以一定的时序发出相应的控制信号,用来控制指令的执行。
22.根据功能不同,8086的标志为可分为 标志和 标志位。
23.8086/8088CPU内部有 个 的寄存器。
24.在8086/8088的16位寄存器中,有(4)各寄存器可拆分为8位寄存器使用。他们是 ,他们又被称为 。
25.8086/8088构成的微机中,每个主存单元对应两种地址段地址和 偏移地址 。
26.物理地址是指实际的 为主存储单元地址,每个存储单元对应唯一的物理地址,其范围是 00000H FFFFFH 。
27.8088的ALE引脚的作用是 。
28.在8088读存储器周期中,采样Ready线的目的是 。
29.8088在访问4个当前段时,代码段、数据段及堆栈段的偏移量分别由 、 和 提供。
30.堆栈按照__先进后出_ _原则工作,使用SP_指明栈顶位置。
31.在IBM-PC/XT中,外设是通过 I/O 器件对CPU产生中断请求。这些中断的中断类型码为 00到FFH 。
32.8086最多能处理 256 种中断。
33.8086/8088的中断响应了两个总线周期,从 INTA 引脚输出两个负脉冲,第一个总线周期完成,中断请求 ,
第二个总线周期完成 数据传送
34.8088中的指令INT n用 指定中断类型。
35.一片8255A端口A有 7 种工作方式,端口B有 7 种工作方式。
36.宏汇编语言程序被汇编时, 基本 语句产生代码指令, 伪指令 语句不产生代码指令, 语句可能产生也可能不产生代码指令。
37.调用程序、子程序传送参数的方法通常有 变量 、 寄存器 和 堆栈 三种方法。(还有地址表)
38.伪指令EQU、DB、DW、MACRO的标号名字域必须有名字或标号的伪指令为 MACRO 。
39.虽在本模块无定义,却可以被单独引用的名字或标号,必须用 伪指令给以说明。
40.PENTIUM的工作模式有 、 、 。
41..乘法指令MUL的指令格式只有一个源操作数,若源操作数的类型属性为字节,则目的操作数 在 AL 中,若源操作数的类型属性为字,则目的操作数在 AX 中。 (注:将题中的目的操作数改为乘积更确切一些。)
42.请给出标志寄存器中标志位OF、IF、SF、ZF、PF、CF的说明: OF 、IF 、SF 、ZF 、PF 、CF 。
43.堆栈是按照 先进后出 原则组织的一片连续的存储区域。
44.变址寻址的有效地址是变址寄存器的内容与 基址寄存器的内容 代数和。
45.指令XLAT通常用于查表操作,在使用该指令前,应把表首的偏移首地址送入 ,待转换的代码在表中的序号送 。
46.若要求不产生汇编错误,则字符串'ABC'只能出现在伪指令 中。
47.实模式下,对于指令 MOV AX,DS:[BX] 执行前DS=1000H,BX=11H,
则操作数DS:[BX]的有效地址为 11H 。 (注:有效地址指段内的偏移量。)
48.为下述情况各举一例。
⑴寄存器与存储单元内容相加送寄存器 ADD AX,[BX] 。 ⑵寄存器互送 MOV AX,BX 。 ⑶将标志寄存器进栈 PUSH CF 。
⑷立即数与寄存器内容相加送寄存器 ADD AX,1000H 。
⑸将48H、5AH存入字节数据区ARRAYB MOVSB 。
二、单项选择题
1. CPU包括( C )两部分。
A、ALU和累加器 B、ALU和控制器 C、运算器和控制器 D、ALU和主存储器
2. 财务会计方面的计算机应用属于( B )。
A、科学计算 B、数据处理 C、辅助设计 D、实时控制
3. 采用十六进制书写二进制数,位数可以减少到原来的( C )。 A、1/2 B、1/3 C、1/4 D、1/5
4. 用二一十进制数表示一位十进制数的二进制位是( D )。 A、1位 B、2位 C、3位 D、4位
5. 如果指令中的地址码就是操作数的有效地址,那么这种寻址方式称为( A )。 A、立即寻址 B、直接寻址 C、间接寻址 D、寄存器寻址
6. Cache的主要特点之—是( B )。
A、存储量大 B、存取速度快 C、价格便宜 D、价格便宜但容量小
7. 在主机与外围设备进行数据交换时,为解决两者之间的同步与协调、数据格式转换等问 题,必须要引入( B )。
A、数据缓冲寄存器 B、I/O总线 C、I/O接口 D、串并移位器
8. 在采用DMA方式的I/O系统中,其基本思想是在以下部件或设备之间建立直接的数据 通路,这指的是( B )。
A、CPU与外围设备 B、主存与外围设备 C、外设与外设 D、CPU与主存
9. 集成电路计算机属于第( )代计算机。
A .“一” B .“二” C .“三” D .“四”
10. 堆栈是一种( B )存贮器。
A .顺序 B .先进后出 C .只读 D .先进先出
11. 在多级存储体系中,“ cache —主存”结构的作用是解决( D )的问题。
A .主存容量不足 B .主存与辅存速度不匹配 C .辅存与 CPU 速度不匹配 D .主存与 CPU 速度不匹配
12. 如指令中的地址码就是操作数,那么这种寻址方式称为( A )。 A .立即寻址 B .直接寻址 C .间接寻址 D .寄存器寻址
13. 数控机床方面的计算机应用属于( B )。
A .科学计算 B .辅助设计 C .数据处理 D .实时控制
14. 某数在计算机中用 8421BCD 码表示为 0011 1001 1000 ,其真值为( A )。
A . 398 B . 398H C . 1630Q D . 1110011000B 15. 字符的编码,目前在微机中最普遍采用的是( C )。 A.BCD码 B.16进制 C.ASCⅡ码 D.格雷码
16. 在存储体系中,辅存的作用是( )
A.弥补主存的存取速度不足 B.缩短主存的读写周期 C.减少CPU访问内存的次数 D.弥补主存容量不足的缺陷
17. 以下叙述正确的是( )
A.ASCII编码可以表示汉字的编码 B.汉字输入编码都是根据字音进行的编码
C.汉字输入码可以根据汉字字形编码 D.汉字字形码都是将汉字分解成若干“点”组成的点阵
18. [x]补=11011100B,则x的真值为( A ) A.-36D B.92D C.-28D D.5CH
19. 计算机软件是指(C)
A.操作系统 B.汇编程序 C.用户程序 D.所有程序及文档的统称
20. 目前微型机系统上广泛使用的机械式鼠标是一种( A )
A.输入设备 B.输出设备 C.输入输出设备 D.显示设备组成之一
21. 二进制数1001101B的十进制数表示为( C )
A.4DH B.95D C.77D D.9AD
22. 十进制小数转换成十六进制数可采用( )
A.除基(10)取余法 B.除基(16)取余法 C.乘基(10)取整法 D.乘基(16)取整法
23. 家用电脑是指( D )
A.家用电器 B.家庭电影院 C.家庭音响设备 D.家用计算机
24. 在8421码表示的二—十进制数中,代码1001表示( C ) A.3 B.6 C.9 D.1
25. 目前普遍使用的微型计算机采用的电路是( D )
A.电子管 B.晶体管 C.集成电路 D.超大规模集电成路
26. 8位定点原码整数10100011B的真值为( B )
A.+0100011 B. -0100011 C.+1011101 D. -1011101
27. 现代计算机通常是将处理程序存放在连续的内存单元中,CPU在执行这个处理程序时,使
用一个寄存器来指示程序的执行顺序,这个寄存器为( D )。 A.指令寄存器 B.指令译码器 C.指令缓冲寄存器 D.指令指针寄存器
28. 某计算机字长为16位,其内存容量为1024K字节,按字编址,它的寻址空间为( A )。
A. 512KB B. 512K C. 1024KB D. 1024K
29.若指令的运算结果不为0且低8位中“1”的个数为偶数,则标志寄存器中ZF和PF的状态为( B )。
A. 0,0 B.0,1 C.1,0 D.1,1
30.指令“MOV AX,[BX+20H]”源操作数的寻址方式为( C )。
A.寄存器寻址 B.寄存器间接寻址 C.寄存器相对寻址 D.以上均不对
31. 根据下面定义的数据段: DSEG SEGMENT
DAT1 DB `1234` DAT2 DW 5678H
DAT3 DD 12345678H ADDR EQU DAT3-DAT1 DSEG ENDS
执行指令MOV AX, ADDR后,AX寄存器中的内容是( )。 A. 5678H B. 0008H C. 0006H D. 0004H
32.在8086系统的中断向量表中,若从0000H:005CH单元开始由低地址到高地址依次存放10H、20H、30H和40H四个字节,则相应的中断类型码和中断服务程序的入口地址分别为( )。 A.17H,4030H:2010H B.17H,2010H:4030H C.16H,4030H:2010H D.16H,2010H:4030H
33.在DMA控制器8237控制下进行“写传送”时,8237需先后向I/O接口和存储器发出的控制信号是( D )。
A. IOR,MEMR B. IOW,MEMR
C. IOR,MEMW D. IOW,MEMW
34.下面是关于可编程中断控制器8259A的叙述,其中错误的是( )。
A. 8259A具有优先级管理的功能 B. 8259A具有辨认中断源的功能
C. 8259A具有向CPU提供中断向量的功能 D. 一片8259A可管理8级中断
35. CPU和主存之间增设高速缓存(Cache)的主要目的是( B )。
A. 扩大主存容量 B. 解决CPU和主存之间的速度匹配问题 C. 提高存储器的可靠性 D. 以上均不对
36. 中断向量可提供( D )
A. 被选中设备的地址 B. 传送数据的起始地址 C. 主程序的断点地址 D. 中断服务程序的入口地址
37. 3片8259A级联,最多可管理( )级中断。 A. 24 B. 23 C. 22 D. 21
38. 按照USB 1.0 规范,一台主机最多可连接( )个外设装置(含USB集线器—USB Hub)。 A. 120 B.122 C. 123 D. 127
三.判断题(你认为正确的,请在题末的括号内打“√”,错的打“×”。 1、8086的Ready信号是由外部硬件产生的。( × )
2、8088的M/IO引脚的低电平表明选通的是I/O接口。( √ )
3、8086 的数据可以存放在几个不连续的段中。( √ )
4、8086 中,取指令和执行指令可以重叠操作。( √ ) 5、8255 只有三个普通I/O端口,所以它不可作为一个外部中断源去向8086申请中断(
6、多个外设可以通过一条中断请求线,向CPU发中断请求。( √ )
7、8253 的每个计数器只能按二进制计数。( × )
8、8253的计数器是对机器的CLK脉冲计数。( )
9、8086的可屏蔽外部中断源的中断类型号是用软件设置的。( )
10、8086的中断入口地址只能放到内存的最低端,即0——3FFH区域。( 11、/及HOLD、HLDA信号是与系统中其它总线主设备有关的信号。(
12.8088的信号可用作中断矢量的读选通信号。( )
13、8088 的可屏蔽中断的优先权高于非屏蔽中断。( )
14、8255A中端口A使用的是INTR,及等线是端口C的线。( )
15、串行异步接口的双向工作方式指的是在串行接口上可同时发送和接收串行数据。(
16、EPROM 虽然是只读存储器,但在编程时可向内部写入数据。( )
17、中断服务程序可放在用户可用的内存的任何区域。……(√)
18、字长越长,计算机处理数据的速度越快; ( √ )
19.汇编语言是面向机器的语言。 ( √20.任何一个十进制小数都可以用二进制精确表示。 ( × )
) ) )
) )
21.计算机的内存与外存都可以直接与CPU交换数据。( × )
22.复位影响片内RAM存放的内容。 ( × ) 23.定时器/计数器溢出中断可以由硬件产生,也可以由软件产生。( √ ) 四、简答题
1.8086的总线接口部件有哪些功能?由哪几部分组成?请逐一说明。8086的执行部件有什么功能?由哪几部分组成?
答:8086的总线接口部件的功能是负责完成CPU与存储器或I/O设备之间的数据传送。 8086的总线接口部件由:4个16位段地址寄存器(DS、DS、SS、ES),16位指令指针IP,6字节指令队列缓冲器,20位地址加法器和总线控制器几部分组成。
8086的执行部件的功能就是负责执行指令,它由16位的算术逻辑单元(ALU)、16位的标志寄存器F、数据暂存寄存器、通用寄存器组、EU控制电路组成。 2.8086 的中断系统分为哪几种类型的中断?其优先顺序如何?
答:8086 的中断系统分为外部中断(可屏蔽中断和不可屏蔽中断)和内部中断。
其优先顺序是:除单步中断以外,所有的内部中断优先权都比外部中断优先权高,在外部中断中,不可屏蔽中断比可屏蔽中断优先权高。
3 .什么叫中断向量?它放在哪里?对应于lCH的中断向量存放在哪里?如果1CH的中断处理子程序从5110H:2030H开始,则中断向量应怎样存放?
答:中断向量是用来提供中断入口地址的一个地址指针;对应于lCH的中断向量存放在1CH×4=70H开始的4个单元
如果1CH的中断处理子程序从5110H:2030H开始,则中断向量应如下存放: 0070H:30H 0071H:20H 0072H:10H 0073H:51H
4.计算机分那几类?各有什么特点?
答:传统上分为三类:大型主机、小型机、微型机。大型主机一般为高性能的并行处理系统, 存储容量大,事物处理能力强,可为众多用户提供服务。小型机具有一定的数据处理能力,提供一定用户规模的信息服务,作为部门的信息服务中心。微型机一般指在办公室或家庭的桌面或可移动的计算系统,体积小、价格低、具有工业化标准体系结构,兼容性好。 5.简述微处理器、微计算机及微计算机系统三个术语的内涵。
答:微处理器是微计算机系统的核心硬件部件,对系统的性能起决定性的影响。微计算机包括微处理器、存储器、I/O接口电路及系统总线。微计算机系统是在微计算机的基础上配上相应的外部设备和各种软件,形成一个完整的、独立的信息处理系统。 6.80X86微处理器有几代?各代的名称是什么?
答:从体系结构上可分为3代: 8080/8085:8位机。 8086/8088/80286:16位机。 80386/80486:32位机。
7.8086是多少位的微处理器?为什么?
答:8086是16位的微处理器,其内部数据通路为16位,对外的数据总线也是16位。 8.EU与BIU各自的功能是什么?如何协同工作?
答:EU是执行部件,主要的功能是执行指令。BIU是总线接口部件,与片外存储器及I/O接口电路传输数据。EU经过BIU进行片外操作数的访问,BIU为EU提供将要执行的指令。EU与BIU可分别独立工作,当EU不需BIU提供服务时,BIU可进行填充指令队列的操作。 9.8086/8088与其前一代微处理器8085相比,内部操作有什么改进?
答:8085为8位机,在执行指令过程中,取指令与执行执令都是串行的。8086/8088由于内部
有EU和BIU两个功能部件,可重叠操作,提高了处理器的性能。 10.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共同形成下一条指令的物理地址。
11.8086对存储器的管理为什么采用分段的办法?
答:8086是一个16位的结构,采用分段管理办法可形成超过16位的存储器物理地址,扩大对存储器的寻址范围 (1MB,20位地址)。若不用分段方法,16位地址只能寻址64KB空间。 12.在8086中,逻辑地址、偏移地址、物理地址分别指的是什么?具体说明。 答:逻辑地址是在程序中对存储器地址的一种表示方法,由段地址和段内偏移地址两部分组成,如1234H:0088H。偏移地址是指段内某个存储单元相对该段首地址的差值,是一个16位的二进制代码。物理地址是8086芯片引线送出的20位地址码,用来指出一个特定的存储单元。 13.给定一个存放数据的内存单元的偏移地址是20C0H,(DS)=0C00EH,求出该内存单元的物理地址。
答:物理地址:320F8H。
14.8086/8088为什么采用地址/数据引线复用技术?
答:考虑到芯片成本,8086/8088采用40条引线的封装结构。40条引线引出8086/8088的所有信号是不够用的,采用地址/数据线复用引线方法可以解决这一矛盾,从逻辑角度,地址与数据信号不会同时出现,二者可以分时复用同一组引线。 15.8086与8088的主要区别是什么? 答:8086有16条数据信号引线,8088只有8条;8086片内指令预取缓冲器深度为6字节,8088只有4字节。
16.怎样确定8086的最大或最小工作模式?最大、最小模式产生控制信号的方法有何不同 答:引线MN/MX#的逻辑状态决定8086的工作模式,MN/MX#引线接高电平,8086被设定为最小模式,MN/MX#引线接低电平,8086被设定为最大模式。
最小模式下的控制信号由相关引线直接提供;最大模式下控制信号由8288专用芯片译码后提供,8288的输入为8086的S2#~S0#三条状态信号引线提供。
17.8086被复位以后,有关寄存器的状态是什么?微处理器从何处开始执行程序?
答:标志寄存器、IP、DS、SS、ES和指令队列置0,CS置全1。处理器从FFFFOH存储单元取指令并开始执行。
18.8086基本总线周期是如何组成的?各状态中完成什么基本操作?
答:基本总线周期由4个时钟(CLK)周期组成,按时间顺序定义为T1、T2、T3、T4。在T1期间8086发出访问目的地的地址信号和地址锁存选通信号ALE;T2期间发出读写命令信号RD#、WR#及其它相关信号;T3期间完成数据的访问;T4结束该总线周期。
19.结合8086最小模式下总线操作时序图,说明ALE、M/IO#、DT/R#、RD#、READY信号的功能。 答:ALE为外部地址锁存器的选通脉冲,在T1期间输出;M/IO#确定总线操作的对象是存储器还是I/O接口电路,在T1输出;DT/R#为数据总线缓冲器的方向控制信号,在T1输出;RD#为读命令信号;在T2输出;READY信号为存储器或I/O接口“准备好”信号,在T3期间给出,否则8086要在T3与T4间插入Tw等待状态。 20.8086中断分哪两类?8086可处理多少种中断?
答:8086中断可分为硬件中断和软件中断两类。8086可处理256种类型的中断。 21.8086可屏蔽中断请求输入线是什么?“可屏蔽”的涵义是什么?
答:可屏蔽中断请求输入线为INTR;“可屏蔽”是指该中断请求可经软件清除标志寄存器中IF位而被禁止。
22.8086的中断向量表如何组成?作用是什么?
答:把内存0段中0~3FFH区域作为中断向量表的专用存储区。该区域存放256种中断的处理程序的入口地址,每个入口地址占用4个存储单元,分别存放入口的段地址与偏移地址。 23.8086如何响应一个可屏蔽中断请求?简述响应过程。
答:当8086收到INTR的高电平信号时,在当前指令执行完且IF=1的条件下,8086在两个总线周期中分别发出INTA#有效信号;在第二个INTA#期间,8086收到中断源发来的一字节中断类型码;8086完成保护现场的操作,CS、IP内容进入堆栈,请除IF、TF;8086将类型码乘4后得到中断向量表的入口地址,从此地址开始读取4字节的中断处理程序的入口地址,8086从此地址开始执行程序,完成了INTR中断请求的响应过程。
24.什么是总线请求?8086在最小工作模式下,有关总线请求的信号引脚是什么?
答:系统中若存在多个可控制总线的主模块时,其中之一若要使用总线进行数据传输时,需向系统请求总线的控制权,这就是一个总线请求的过程。8086在最小工作模式下有关总线请求的信号引脚是HOLD与HLDA。
25.简述在最小工作模式下,8086如何响应一个总线请求? 答:外部总线主控模块经HOLD引线向8086发出总线请求信号;8086在每个时钟周期的上升沿采样HOLD引线;若发现HOLD=1则在当前总线周期结束时(T4结束)发出总线请求的响应信号HLDA;8086使地址、数据及控制总线进入高阻状态,让出总线控制权,完成响应过程。 26.在基于8086的微计算机系统中,存储器是如何组织的?是如何与处理器总线连接的? BHE信号起什么作用?
答:8086为16位处理器,可访问1M字节的存储器空间;1M字节的存储器分为两个512K字节的存储体,命名为偶字节体和奇字节体;偶体的数据线连接D7~D0,“片选”信号接地址线A0;奇体的数据线连接D15~D8,“片选”信号接BHE信号;BHE信号有效时允许访问奇体中的高字节存储单元,实现8086的低字节访问、高字节访问及字访问。
27.“80386是一个32位微处理器”,这句话的涵义主要指的是什么?
答:指80386的数据总线为32位,片内寄存器和主要功能部件均为32位,片内数据通路为32位。
28.80X86系列微处理器采取与先前的微处理器兼容的技术路线,有什么好处?有什么不足? 答:好处是先前开发的软件可以在新处理器组成的系统中运行,保护了软件投资。缺点是处理器的结构发展受到兼容的约束,为了保持兼容性增加了硅资源的开销,增加了结构的复杂性。 29.80386内部结构由哪几部分组成?简述各部分的作用。 答:80386内部结构由执行部件(EU)、存储器管理部件(MMU)和总线接口部件(BIU)三部分组成。EU包括指令预取部件、指令译码部件、控制部件、运算部件及保护检测部件,主要功能是执行指令。存储器管理部件包括分段部件、分页部件,实现对存储器的分段分页式的管理,将逻辑地址转换成物理地址。总线接口部件作用是进行片外访问:对存储器及I/O接口的访问、预取指令;另外的作用是进行总线及中断请求的控制 30.80386有几种存储器管理模式?都是什么?
答:80386有三种存储器管理模式,分别是实地址方式、保护方式和虚拟8086方式 31.在不同的存储器管理模式下,80386的段寄存器的作用是什么?
答:在实地址方式下,段寄存器与8086相同,存放段基地址。在保护方式下,每个段寄存器还有一个对应的64位段描述符寄存器,段寄存器作为选择器存放选择符。在虚拟8086方式下,段寄存器的作用与8086相同。 32.80386对中断如何分类?
答:80386把中断分为外部中断和内部中断两大类,外部中断经NMI和INTR引线输入请求信号。内部中断也叫内部异常中断,分为陷阱中断、内部故障异常中断、异常终止中断。 33.80386在保护方式下中断描述符表与8086的中断向量表有什么不同?
答:8086工作在实地址方式,向量表是在存储器的0段中最低1024字节内存中。80386在保护方式下要通过中断描述符表中的描述符访问虚拟空间的中断向量,中断描述符表的位置不是固定的,要由IDTR寄存器实现在虚拟空间的定位。 简述80386在保护方式下的中断处理过程。 答:80386响应中断后,接收由中断源提供的类型码并将其乘8,与IDTR寄存器中基地址相加,指出中断描述符的位置,读出中断描述符,依其中的段选择符及条件决定从两个描述符表LDT或GDT中的一个得到段描述符,形成中断服务程序入口所在存储器单元的线性地址。
34.8086CPU的字节寻址范围有多大?为什么?存储器为什么分段?20位物理地址的形成过程是怎样的?
答:8086CPU寻址范围1MB。因为8086CPU地址线为20条,2^20=1024KB,即1MB。8086系统中,指令仅给出16位地址,与寻址地址有关的寄存器也只有16位长,因此寻址范围只有64KB,为了寻址1MB,所以分成四个逻辑段。当CPU访问内存时,寄存器的内容(段基址)自动左移4位(二进制),与段内16位地址偏移量相加,形成20位的物理地址。 35.使用中断有什么好处?
答: (1)解决快速CPU与慢速外设之间的矛盾,使CPU可以与外设同时工作,甚至可以与几个外设同时工作。
(2)计算机实现对控制对象的实时处理。 (3)计算机可以对故障自行处理。 36.什么是伪指令?
答:伪指令语句在形式上与指令语句很相似,但它不产生任何目标代码,只对汇编程序在汇编过程中提供必要的控制信息。
37.简述行列式键盘矩阵的读入方法。
答:将行线接输出口,列线接输入口,采用行扫描法,先将某一行输出为低电平,其它行输出为高电平,用输入口来查询列线上的电平,逐次读入列值,如果行线上的值为0时,列线上的值也为0,则表明有键按下。否则,接着读入下一列,直到找到该行有按下的键为止。如该行没有找到有键按下,就按此方法逐行找下去,直到扫描完全部的行和列。 38.简述用反转法实现键的识别的基本方法。 答: 将题目中的键改为闭合键。 用反转法识别闭合键,需要用可编程的并行接口。行线和列线分别接在PA和PB 2个并行口上,首先让行线上的PA口工作在输出方式,列线上的PB口工作在输入方式,通过编程使PA口都输出低电平,然后读取PB口的列线值,如果某一列线上的值为0,则判定该列有某一键按下。为了确定是哪一行要对PA和PB进行反转,即对PA口重新进行初始化工作在输入方式,列线上的PB口工作在输出方式,并将刚读取的列线值从列线所接的PB口输出,再读取行线所接的PA口,取得行线上的输入值,在闭合键所在的行线上的值必定为0。这样,当一个键被按下时,必定可读得一对唯一的行值和列值。根据这一对行值和列值就可判断是哪一行哪一列的键被按下。 39.LED数码管显示器共阴极和共阳极的接法主要区别是什么? 答:LED数码管显示器共阴极的接法是发光二极管的阴极接地,当数码管的笔划发光二极管的阳极为高电平时,该笔划被点亮。共阳极的接法是发光二极管的阳极接高电平,当数码管的笔划发光二极管的阴极为低电平时,该笔划被点亮。总之,主要区别在于LED数码管的接法和驱动笔划的数据电平的不同。
40.试绘图说明LED数码管显示器的动态显示原理。
答: 使用书上的图7.8
在图中LED数码管是共阴极的,总共可带动8位这样的LED数码管。动态驱动显示接口与静态驱动显示接口的一个明显特点是:动态驱动法将多位LED同名段的选择线都并联在一起,即8位中的所有同名段a接在一起,所有b段都接在一起……,这样只要一个8位的锁存器来控制段码a,b,c,d,e,f,g就够了。另外用一个锁存器来控制点亮的位。因此需要2个8位的I/O端口。 由于所有位的位选择码是用一个I/O端口控制,所有段的段选择码也是用一个I/O端口控制,因此在每个瞬间,8位LED只可能显示相同的字符。要想每位显示不同的字符,必须要采用扫描的显示方式。即在每一瞬间只能使某一位显示相应的字符,在此瞬间,由位选择控制的I/O端口在要显示的位上送入选通电平(共阴极接法送入低电平,共阳极接法送入高电平),以保证让该位显示字符;再由段选择控制的I/O端口输出相应字符的段选择码。如此循环下去,使每一位都显示该位应显示的字符,并保持延时一段时间,然后再选中下一位,利用发光显示器的余辉及人眼的视觉暂留特点,给人一种显示器同时被点亮的效果。段选择码,位选择码在每送入一次后一般需要延时1~5ms时间。
五、按要求编写指令或程序段(本大题共3小题,每小题4分,共12分) 1.用两种方法将存储器1000H的内容(1EH)扩大到原来的8倍。 答:第一种方法:MOV BX,1000H MOV AL,[BX] MOV CL,08H
MUL CL
MOV [BX],AL
第二种方法:MOV BX,1000H MOV AL,[BX] MOV CL,03H
ROL AL,CL MOV [BX],AL
2.写出用一条指令就可使AL寄存器清零的指令;还写出用一条指令就可使AL寄存器为全1的指令(尽可能多地正确地写)。
答:用一条指令就可使AL寄存器清零的指令;用一条指令就可使AL寄存器为全1的指令 (1)MOV AX,0000H (1) MOV AL,0FFH (2)AND AX,0000H (2) OR AL,0FFH (3)XOR AX,AX
3.将存储器1000H到10FFH的连续单元中都放着一字节无符号数,将其中的最大无符号数放到偏移地址为1000H的单元中。 答: MOV BX,1000H MOV CL,0FFH MOV AL,[BX] ABC:INC BX
CMP AL,[BX] JNC BCD
MOV AL,[BX] BCD:DEC CL JNZ ABC
MOV BX,1000H MOV [BX],AL
JMP $
4.设计一个分支程序
1 X>0
Y = 0 X=0 -1 X<0 程序为:
MOV AL ,X CMP AL,0 JGE BIG MOV Y,-1 JMP EXIT BIG:JE EQUL
MOV Y,1 JMP EXIT EQUL:MOV Y,0
JMP $
5.编写程序段, 比较两个5字节的字符串OLDS和NEWS, 如果OLDS字符串与NEWS不同, 则执行NEW_LESS, 否则顺序执行程序。 LEA SI, OLDS LEA DI, NEWS MOV CX, 5 CLD
REPZ CMPSB JNZ NEW_LESS
6.变量N1和N2均为2字节的非压缩BCD数码,请写出计算N1与N2之差的指令序列。 MOV AX, 0 MOV AL, N1+1 SUB AL, N2+1 AAS
MOV DL, AL MOV AL, N1 SBB AL, N2 AAS
MOV DH, AL
7.试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。 abc: mov ah,1 int 21h sub al,20h mov dl,al mov ah,2 int 21h jmp abc sto: ret
8.把AX寄存器清零。 ①MOV AX,0 ②XOR AX,AX ③AND AX,0 ④SUB AX,AX
9.把AL中的数x乘10
因为10=8+2=23+21,所以可用移位实现乘10操作。程序如下:
MOV CL,3
SAL AL,1 ; 2x MOV AH,AL
SAL AL,1 ; 4x SAL AL,1 ; 8x
ADD AL,AH ; 8x+2x = 10x 10.按下述要求写出指令序列:
(1) DATAX和DATAY中的两个字数据相加, 和存放在DATAY和DATAY+2中。 (2) DATAX和DATAY中的两个双字数据相加, 和存放在DATAY开始的字单元中。 (3) DATAX和DATAY两个字数据相乘(用MUL)。 (4) DATAX和DATAY两个双字数据相乘(用MUL)。 (5) DATAX除以23(用DIV)。
(6) DATAX双字除以字DATAY(用DIV)。
DATAX和DATAY中的两个字数据相加, 和存放在DATAY和DATAY+2中。 (1) MOV AX, DATAX
ADD AX, DATAY MOV BX, DATAX+2 ADD BX, DATAY+2 MOV DATAY, AX MOV DATAY+2, BX
DATAX和DATAY中的两个双字数据相加, 和存放在DATAY开始的字单元中。 (2) MOV AX, DATAX
ADD DATAY, AX MOV AX, DATAX+2 ADC DATAY+2, AX
DATAX和DATAY两个字数据相乘(用MUL)。 (3) MOV AX, DATAX
MUL DATAY MOV DATAY,AX MOV DATAY+2,DX
DATAX和DATAY两个双字数据相乘(用MUL)。 (4)
MOV AX,WORD PTR DATAX MOV BX,WORD PTR DATAY MUL BX MOV RESULT,AX MOV RESULT+2,DX
MOV AX,WORD PTR DATAX MOV AX,WORD PTR DATAY+2 MUL BX ADD RESULT+2,AX ADC RESULT+4,DX MOV AX,WORD PTR DATAX+2 MOV BX,WORD PTR DATAY MUL BX ADD RESULT+2,AX ADC RESULT+4,DX MOV AX,WORD PTR DATAX+2 MOV BX,WORD PTR DATAY+2 MUL BX ADD RESULT+4,AX ADC RESULT+6,DX DATAX除以23(用DIV)。 (5) MOV AX, DATAX
MOV BL, 23 DIV BL MOV BL,AH MOV AH, 0
MOV DATAY, AX ;存放商 MOV AL,BL
MOV DATAY+2, AX ;存放余数
DATAX双字除以字DATAY(用DIV)。 (6) MOV AX, DATAX
MOV DX, DATAX+2 DIV DATAY MOV DATAY, AX MOV DATAY+2, DX
五、软件设计
1、以BUF1和BUF2开头的2个字符串开头的2个字符串,其长度相等,试编程实现将两个字符串的内容对调。
DDD0 SEGMENT BUF1 DB “QWERTYUIOPASDFGHJKLR” BUF2 DB “A1234567890ZXCVBNMPJ” LEN EQU LENGTH BLOCK1 DDD0 ENDS ESEG SEGMENT
BUF3 DB 20 DUP(?) ESEG ENDS CSEG SEGMENT
ASSUME CS:CSEG,DS:DDD0,ES:ESEG
START: CLD MOV AX,DDD0 MOV DS,AX MOV AX,ESEG MOV ES,AX MOV CX,LEN LEA SI, BUF1 LEA DI, BUF3 REP MOVSB
MOV CX,LEN LEA SI, BUF2 LEA DI, BUF1 REP MOVSB MOV CX,LEN LEA SI, BUF3
LEA DI, BUF2 REP MOVSB CSEG ENDS END START
2、 在ABC和BCD两地址起,各有5个字节的无符号数,试编程实现这两个无符号数的加法并将结果分别存放到CBA开始的存储单元中去。
DDD0 SEGMENT
ABC DB 9FH,26H,12H,5AH,23H BCD DH 74H,D3H,54H,43H,7DH CBA DB 6 DUP(?) DDD0 ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DDD0 START: MOV AX,DDD0 MOV DS,AX MOV CX,5 CLC LEA SI,ABC;可做间址寄存器的有SI,DI,BX,BP及它们的组合 LEA DI,BCD LEA BX,CBA XYZ: MOV AL,[SI] ADC AL,[DI] MOV [BX],AL INC SI INC DI INC BX LOOP XYZ MOV AL,0 ADC AL,0
MOV[BX],AL LEA BX,CBA MOV [BX],AX CSEG ENDS END START
3. 把0-100之间的30个数,存入首地址为GRAD的字数组中,GRAD+i表示学号为i+1的学生成绩。另一个数组RANK是30个学生的名次表,其中RANK+I的内容是学号为i+1的学生的名次。试编写程序,根据GRAD中的学生成绩,将排列的名次填入RANK数组中(提示:一个学生的名次等于成绩高于这个学生的人数加1)。 dseg segment grade dw 30 dup(?) rank dw 30 dup(?) dseg ends
cseg segment main proc far
assume cs:cseg, ds:dseg, es:dseg start: push ds sub ax,ax push ax mov ax,dseg mov ds,ax mov es,ax begin: mov di,0 mov cx,30 loop1: push cx mov cx,30 mov si,0 mov ax,grade[di] mov dx,0 loop2: cmp grade[si],ax jbe go_on inc dx go_on: add si,2 loop loop2 pop cx inc dx mov rank[di],dx sdd di,2
loop loop1 ret main endp cseg ends end start
六、设计硬件电路及相应程序(23分)
1. 设计一个8088最小系统,扩展一片6264(6分),扩展一片8255可编程接口芯片(6分),画出电路逻辑框图。写出6264的地址范围(3分),并将其所有RAM单元清零(4分)将8255的PA口为基本输入方式, PB口、PC口为基本输出方式,编程实现(4分)
答: 电路逻辑框图如下
8 D0~D7 D0~D7 D0~D7 RST A0~A12 A0~A12 RESET PA A0 A0 A1 PB 6264 A1 8255
A14 cs PC cs A13 WR WR WR RD RD RD
答:6264的地址范围是:04000H~05FFFH; 并将其所有RAM单元清零的程序是: MOV CX,2000H MOV BX,4000H MOV AX,0000H MOV DS,AX
ABC: MOV (BX),00H INC BX LOOP ABC
将8255的PA口为基本输入方式, PB口、PC口为基本输出方式,命令字是:90H 写入命令字: MOV AL,90H MOV DX,2003H OUT DX AL
因篇幅问题不能全部显示,请点此查看更多更全内容