首页 微机原理课后详细答案______徐惠民版

微机原理课后详细答案______徐惠民版

举报
开通vip

微机原理课后详细答案______徐惠民版微机原理课后详细答案______徐惠民版 第1章 微型计算机系统概述 习 题 1-1.微型计算机包括哪几个主要组成部分,各部分的基本功能是什么 答: 微型计算机由CPU,存储器,输入/输出接口及系统总线组成. CPU是微型计算机的核心部件,一般具有下列功能:进行算术和逻辑运算.暂存少量 数据.对指令译码并执行指令所规定的操作.与存储器和外设进行数据交换的能力.提供整 个系统所需要的定时和控制信号.响应其他部件发出的中断请求;总线是计算机系统各功能 模块间传递信息的公共通道,一般由总线控制器,总线发送器,总...

微机原理课后详细答案______徐惠民版
微机原理课后详细答案______徐惠民版 第1章 微型计算机系统概述 习 题 1-1.微型计算机包括哪几个主要组成部分,各部分的基本功能是什么 答: 微型计算机由CPU,存储器,输入/输出接口及系统总线组成. CPU是微型计算机的核心部件,一般具有下列功能:进行算术和逻辑运算.暂存少量 数据.对指令译码并执行指令所规定的操作.与存储器和外设进行数据交换的能力.提供整 个系统所需要的定时和控制信号.响应其他部件发出的中断请求;总线是计算机系统各功能 模块间传递信息的公共通道,一般由总线控制器,总线发送器,总线接收器以及一组导线组 成;存储器是用来存储数据,程序的部件;I/O接口是微型计算机的重要组成部件,在CPU 和外设之间起适配作用. 1-2.CPU执行指令的工作过程. 答: 取指令,执行指令. 指令执行的基本过程: (1)开始执行程序时,程序计数器中保存第一条指令的地址,指明当前将要执行的指令 存放在存储器的哪个 单元 初级会计实务单元训练题天津单元检测卷六年级下册数学单元教学设计框架单元教学设计的基本步骤主题单元教学设计 . (2)控制器:将程序计数器中的地址送至地址寄存器MAR,并发出读命令.存储器根 据此地址取出一条指令,经过数据总线进入指令寄存器IR. (3)指令译码器译码,控制逻辑阵列发操作命令,执行指令操作码规定的操作. (4)修改程序计数器的内容. 1-3.果微处理器的地址总线为20位,它的最大寻址空间为多少 答:202=1048576=1MB 1-4.处理器,微型计算机和微型计算机系统之间有什么关系 答: 微处理器是微型计算机的核心部件.微处理器配上存储器,输入/输出接口及相应的外 设构成完整的微型计算机.以微型计算机为主体,配上系统软件和外部设备以后,就构成了 完整的微型计算机系统. 1-5.下面十进制数分别转换为二进制,八进制和十六进制数: 128,65535,1024 答: 128,二进制:10000000B,八进制:200O,十六进制:80H 65535,二进制:1111111111111111B,八进制:177777O,十六进制:FFFFH 1024, 二进制:10000000000B,八进制:2000O,十六进制:400H 1-6.下面二进制数分别转换为十进制及十六进制数: 1011.1010B,1111101.11 B 答: 1011.1010B,十进制:11.625,十六进制:B.AH 1111101.11B,十进制:125.75,十六进制:7D.CH 1-7.(5487)10=( 0101010010000111)BCD= 1010101101111 B 1-8.设字长为8位,请写出下列数的原码,反码,补码和移码: 15,-20,-27/32 答: [+15]原=00001111,[+15]反=00001111,[+15]补=00001111,[+15]移=10001111 [-20]原=10010100,[-20]反=11101011,[-20]补=11101100,[-20]移=01101100 [-27/32]原=1.1101100,[-27/32]反=1.0010011,[-27/32]补=1.0010100, [-27/32]移=0.0010100 第2章 微型计算机系统的微处理器 习 题 2-1.086/8088 CPU的功能结构由哪两部分组成 它们的主要功能是什么 答: 8086/8088 CPU 的功能结构由以下两部分组成:总线接口单元BIU(Bus Interface Unit), 执行部件EU (Execution Unit). 总线接口单元BIU的主要功能是:负责与存储器,I/O 端口进行数据传送.具体讲:取 指令:总线接口部件从内存中取出指令后送到指令队列.预取指令.配合EU执行指令,存 取操作数和运算结果. 执行部件EU主要功能是:负责指令执行. 2-2.086 CPU指令部件(队列)的作用是什么 地址 加法 100以内进位加法和退位减法100以内进位加法题100以内进位加法100以内进位加法竖式整数加法运算定律推广到小数说课 器的作用是什么 答: 8086/8088的指令队列分别为6/4个字节,存储预取的指令. 地址加法器用来产生20位物理地址.8086/8088可用20位地址寻址1M字节的内存空间, 而CPU内部的寄存器都是16 位,因此需要由一个附加的机构来计算出20位的物理地址,这 个机构就是20位的地址加法器. 2-3.据8086 CPU的结构,简述程序的执行过程. 答: 设程序的指令代码已存放在存贮器中.为执行程序,CPU按照时钟节拍,产生一系列控 制信号,有规则地重复进行以下过程. (1)BIU从存贮器中取出一条指令存入指令队列. (2)EU从指令队列取指令并执行指令.BIU利用总线空闲时间,从内存取第二条指令 或取第三条指令存入指令队列. (3)EU执行下一条指令.如果前面一条指令有写存贮器的要求,则通知BIU把前条指 令结果写到存贮器中,然后再取指令存入指令队列. (4)如指令执行要求读取操作数,由BIU完成. (5)EU执行再下一条指令,返回(1)处继续执行上述操作过程.所以,程序的执行过 程就是CPU取指令,分析指令,执行指令,再取指令这样一个循环重复过程. 在指令执行过程中,利用EU分析指令操作码和执行指令时不占用总线操作时间的特 点,BIU自动地通过总线读取存贮器中的指令码存入BIU指令队列,从而使BIU与EU并 行工作,提高CPU执行指令的速度. 2-4.什么是总线周期 8086/8088的基本总线周期由几个时钟周期组成 若CPU的主 时钟频率为10 MHz,则一个时钟周期为多少 一个基本总线周期为多少 答: 总线周期:BIU通过系统总线对存储器或I/O端口进行一次读/写操作的过程称为一个 总线周期. 8086/8088CPU的一个基本总线周期由4个时钟周期(T1~T4)组成,也称4个T状态. 若CPU的主时钟频率为10MHz,则一个时钟周期为-710s,一个基本总线周期为 4× -710s. 2-5.复位信号RESET到来后,8086/8088 CPU的内部状态有何特征 系统从何处开 始执行指令 答: 8086/8088系统中,复位信号RESET到来后,处理器内部的各寄存器和标志寄存器 的内容自动设置为: CS FFFFH DS 0000H SS 0000H ES 0000H IP 0000H 指令队列空 FR 0000H (禁止中断) 因CS=FFFFH,IP=0000,所以8086/8088将从地址FFFF0H开始执行指令. 2-6.在总线周期的T1,T4状态,CPU分别执行什么操作 在CPU的读/写总线周期 中,数据在哪个状态出现在数据总线上 答: CPU在每个时钟周期内完成若干个基本操作,具体是: T1状态:CPU向多路复用总线上发送地址信息指出要寻址的存储单元或外设端口地址. T2状态:CPU从总线上撤消地址,使总线的低16位置为高阻抗状态,为传输数据作 准备.总线的高4位输出本总线周期状态信息.这些状态信息用来表示中断允许状态,当前 正在使用的段寄存器等. T3状态:CPU在总线的高4位继续输出总线周期状态信号.在总线的低16位出现由 CPU写出的数据,或者从存储器或I/O端口读入的数据. T4状态:总线周期结束. 在CPU的读/写总线周期中,数据在T3状态出现在数据总线上. 2-7.8086/8088 读/写总线周期,微处理器是在( B )时刻采样READY信号,以便决 定是否插入Tw . A.T2 B.T3 C.T3 下降沿 D. T2 上升沿 2-8.8086/8088系统中为什么要有地址锁存器 需要锁存哪些信息 答: 因8086/8088系统中地址线,数据线是复用的,所以要有地址锁存器锁存T1状态输出 的地址.8086系统锁存20位地址及BHE信号, 8088系统锁存20位地址. 2-9.8086/8088的最大模式系统配置与最小模式系统配置在结构上有何区别 总线控 制器8288的作用是什么 答: 最大模式系统配置在结构上与最小模式系统的主要区别是增加了一个总线控制器8288 和一个总线仲裁器8289. 总线控制器8288的作用是:对来自8086/8088 CPU的总线状态信号S2,S1,S0译 码,与输入控制信号AEN,CEN和IOB相互配合,产生总线命令信号和总线控制信号. 2-10.关于8086 最大工作模式的特点描述正确的是( D ). A.不需要总线控制器8288 B.适用于单一处理机系统 C.由编程进行模式设定 D. M/IO 引脚不可以直接引用 2-11.8086/8088有最小和最大模式两种工作模式,当( B )时为最小模式. A.MN/ MX=O B.MN/ MX=l B.INTR=l D.HOLD="1" 2-12.8086 最小工作模式和最大工作模式的主要差别是( D ). A.地址总线的位数不同 B.I/O 端口数不同 C.数据总线位数不同 D.单处理器与多处理器的不同 2-13.PC 机中地址总线的作用是( C ). A.用于选择存储器单元 B.用于选择进行信息传输的设备 C.用于给存储器单元和I/O 设备接口电路的选择地址 D.以上都不正确 2-14.设当前SS=C000H,SP=2000H,AX=2355H,BX=2122H,CX=8788H,则 当前栈顶的物理地址是多少 若连续执行PUSH AX,PUSH BX,POP CX 3条指令后,堆 栈内容发生什么变化 AX,BX,CX中的内容是什么 2-15.8086/8088的控制标志位有( C )个. A.l B.2 C.3 D.4 2-16.编程人员不能直接读写的寄存器是( C ). A.DI B.CX C.IP D.SP 2-17.设(AH)=03H,(AL)=82H,试指出将AL和AH中的内容相加和相减后,标 志位CF,AF,OF,SF,IF和PF的状态. 答: (AH)=00000011H +(AL)=10000010H 10000101 CF=0,AF=0,OF=0,SF=1,IF不确定和PF=0 (AH)=00000011H _ (AL)=10000010H 10000001 CF=1,AF=0,OF=0,SF=1,IF不确定和PF=1 2-18.8086 CPU中的标志寄存器FR中有哪些状态标志和控制标志 这些标志位各有什 么含义 见教材. 2-19.BHE信号的作用是什么 简述8086系统中,访问存储器在读写一个字和字节的 过程中,BHE和A0的状态. 答: 高8位数据总线允许/状态复用信号.总线周期的T1状态,8086在BHE/S7输出低电平, 表示高8位数据总线AD15~AD8上的数据有效. 8086系统中,BHE和AD0结合起来,指出当前传送的数据在总线上将以何种 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 出现. (见教材表2-4-1) 8088系统中,由于数据总线只有8位,不存在高8位与低8位的问题.所以,该引脚 (第34号)被定义为双功能引脚.在最大模式时,该引脚恒为高电平;在最小模式中,则 定义为SS0. 2-20.8086向偶地址存储单元0送一个字节数据时, 须执行一个总线周期, 在第一个T 状态中, ALE为 1 , A0为 0 ,WR为 1 . 2-21.8086系统中,为什么要对存储器进行分段管理 其分段管理是如何实现的 答: 8086/ 8088地址总线是20位的,CPU中的寄存器是16位的,20位地址无法用16位寄 存器表示,所以必须分段. 通常有代码段,数据段,堆栈段,辅助段.段内地址16位,每个段的大小最大可达64KB; 实际使用时可以根据需要来确定段大小. 2-22.已知某存储单元的段地址为4500H,偏移地址为4500H,该单元的物理地址是多 少 答:49500H 2-23.某指令对应当前段寄存器CS=FFFFH,指令指针寄存器IP=FF00H,此时,该指令 的物理地址为多少 指向这一物理地址的CS值和IP值是唯一的吗 试举例说明 答: 该指令的物理地址为:CS+I P FFFF0H+ FF00H=1 0FEF0H 这一物理地址的CS值和IP值是唯一的吗:不唯一 2-24.因为8086CPU 的字数据既可以存放在内存的偶地址单元,也可以安排在奇地址单 元,所以其堆栈指针SP( A ). A.最好是指向偶地址单元 B.可以指向任何地址单元 C.只能指向偶地址单元 D.只能指向奇地址单元 第3章 8086/8088的指令系统 习 题 3-1.试举例说明8086/8088微处理器的各种寻址方式. (略) 3-2.假定DS=1000H,SS=9000H,SI=100H,BX=20H,BP=300H,请指出下列指令的 源操作数是什么寻址方式 若源操作数位于存储器中,其物理地址是多少 (1)MOV CX,[1000H] (2)MOV AX,100H (3)MOV AX,[BX] (4)MOV BL,CL (5)MOV AL,[BP+5] (6)MOV AL,[BP+SI+2] 答: (1)中源操作数为直接寻址,其物理地址=DS*16+1000H=11000H; (2)中源操作数为立即寻址; (3)中源操作数为寄存器间接寻址,其物理地址=DS*16+(BX)=10020H; (4)中源操作数为寄存器寻址; (5)中源操作数为变址寻址,其物理地址=SS*16+(BP)+ 5=90305H; (6)中源操作数为基址加变址寻址,物理地址=SS*16+(BP)+(SI)+ 2=90402H. 3-3.在8088/8086微机的内存物理地址34780H处,存放有字节数据58H,已知 DS=3000H,试写指令序列将该字节数据送入AL寄存器.要求分别采用三种不同的寻址方 式. 答: (1) 直接寻址: MOV AL, [4780H] (2) 寄存器间接寻址: MOV BX,4780H MOV AL, [BX] (3) 变址寻址: MOV SI, 4782H MOV AL, [SI-2] 3-4.判断下述8086/8088指令的写法是否正确: (1)MOV [AX], BH (2)MOV [BP], AX (3)MOV [SP], AX (4)MOV [DI], [SI] (5)OUT 10H, CL (6)INC WORD PTR [SI] (7)PUSH AL (8)CMP 36H, AL (9)MOV ES:[SI], DI (10)MOV BYTE PTR [BX], 800 答: (1) MOV [AX], BH (X) (2) MOV [BP], AX (?) (3) MOV [SP], AX (X) (4) MOV [DI], [SI] (X) (5) OUT 10H, CL (X) (6) INC WORD PTR [SI] (?) (7) PUSH AL (X) (8) CMP 36H, AL (X) (9) MOV ES:[SI], DI (?) (10) MOV BYTE PTR [BX], 800 (X) 3-5.设有关寄存器及存储单元的内容如下: DS=2000H,BX=0100H,AX=1200H,SI=0002H,[20102H]=33H,[20103]=44H, [21200]=9BH,[21201H]=99H,[21202H]=0AAH,[21203H]=88H. 问:下列各条指令单独执行后相关寄存器或存储单元的内容为多少 (1)MOV AX,1800H (2)MOV AX,BX (3)MOV BX,[1200H] (4)MOV DX,[BX+1100H] (5)MOV [BX+SI],AL (6)MOV AX,[BX+SI+1100H] 答: (1) AX=1800H (2) AX=BX=0100H (3) BX=999BH (4) DX=999BH (5) [20102H] = AL =00H (6) AX=88AAH 3-6.已知SS=0FF00H,SP=0000H,试编写程序片段将两个16位数1122H和3344H先 后压入堆栈,并画出堆栈区和SP内容变化的过程示意图(标出存储单元的地址). 答: MOV AX, 1122H PUSH AX 11H 22HSP 0FF00:0FFFFH 0FF00:0FFFEH MOV AX, 3344H PUSH AX 0FF00:0FFFFH11H 22H 33H 44HSP0FF00:0FFFCH 0FF00:0FFFDH 0FF00:0FFFEH 3-7.设在数据段偏移地址为2000H单元开始的地方连续存放了0 ~ 15的平方值.试写 出包含有XLAT指令的指令序列,用来查找0~15范围内的某个数N的平方值(设N的值存 放在CL寄存器中). 答: MOV BX, 2000H MOV AL, CL XLAT 3-8.试用简单的几条指令完成对AL寄存器中的无符号数乘以12的操作.要求只能用 移位,加法及MOV指令. 答: MOV AH, 0 MOV CL, 2 SHL AX, CL ;AL左移两位,相当于乘4 MOV BX, AX ;保存 SHL AX, 1 ;AL再左移一位,相当于原数乘8 ADD AX, BX ;相当于原数乘12 3-9.已知程序段如下: MOV AX,1234H MOV CL,4 ROL AX,CL DEC AX MOV CX,4 MUL CX 问:执行完每条指令后,AX= CF= SF= ZF= (设在执行第一条指令前CF=SF=ZF=0). 答: AX=8D00H CF=0,SF及ZF不确定. 3-10.执行如下三条指令后: MOV AH,0 MOV AL,7 ADD AL,5 问:(1) 若再执行一条非组合BCD码加法调整指令AAA 后,AX的内容为多少 (2) 若 题中的三条指令后紧跟的是一条组合BCD码加法调整指令DAA,则执行完DAA后AX的 内容为多少 答: (1) AX=0102H (2) AX=0012H 3-11.已知AX=14C6H,BX=80DCH,问执行下列程序段后,程序转向何处 ADD AX,BX JNC L2 SUB AX,BX JNC L3 JMP L4 若初始AX=B568H,BX=54B7H,情况又如何 答: 程序转向地址标号L2处. 若初始AX=B568H,BX=54B7H,程序转向地址标号L4处. 3-12.如下程序完成什么功能 MOV AX,5000H MOV DS,AX MOV CX,100 MOV AX,0 MOV SI,AX START:ADD AX,[SI+1000H] ADD SI,2 LOOP START MOV [200H],AX 答: 程序完成内存5000H:1000H开始的连续100个字数据的求和,并将和数存于 5000H:200H处. 3-13,试写一程序片段,将当前数据段偏移地址为2000H开始的100个字节单元内容 与偏移地址为3000H开始的100个字节单元内容相交换,即:偏移地址2000H对应单元内 容与偏移地址3000H对应单元内容交换,偏移地址2001H对应单元内容与偏移地址3001H 对应单元内容交换,依此类推. 答: MOV SI, 2000H MOV DI, 3000H MOV CX, 100 REPT0: MOV AL, [SI] MOV BL, [DI] MOV [DI], AL MOV [SI], BL INC SI INC DI LOOP REPT0 3-14.在数据段中偏移地址分别为1000H及2000H开始的存储区内有两个10字节的字 符串,试编写一段程序来比较这两个字符串.如果这两个字符串不同,则程序转至 8000H:1000H处,否则顺序执行. 答: MOV SI,1000H ;装入源串偏移地址 MOV DI,2000H ;装入目的串偏移地址 MOV CX,10 ;装入字符串长度 CLD ;方向标志复位 REPE CMPSB JCXZ CONTI JMP 8000H:1000H CONTI: NOP 3-15.利用串操作指令将数据段中偏移地址1000H开始处的100个字节移动到数据段 偏移地址为1050H开始的地方. 答: MOV CX,100 MOV SI,1000H+99 MOV DI,1050H+99 STD ;地址减量方式传送 REP MOVSB ;数据块传送(串操作) 第4章 汇编语言程序设计 习题 4-1.如下定义: VAR1 DB 4 VAR2 DB 10 CNST1 EQU 12 试指出下列指令的错误原因: (1)MOV CNST1,CX (2)MOV VAR1,AX (3)CMP VAR1,VAR2 (4)CNST1 EQU 24 答: (1) 目的操作数不能是立即数; (2) VAR1单元定义为字节类型,而AX为字; (3) 8086/8088中两个内存单元不能直接比较; (4) 同一符号名不允许用EQU重复定义. 4-2.某人定义了如下数据段: DATA SEGMENT AT 1000H ORG 100H VAL1 DB 11H VAL2 DW 22H, 33H VAL3 DB 5 DUP (44H) DATA ENDS 试指明该数据段中偏移地址从100H到109H的各存贮单元的内容. 答: 100H: 11H 101H: 22H 102H: 00H 103H: 33H 104H: 00H 105H: 44H 106H: 44H 107H: 44H 108H: 44H 109H: 44H 4-3.对于下面的数据定义,写出各条指令执行后的结果: DATA SEGMENT ORG 0100H AAAA DW 0A244H BBBB DB 33H,66H,92H,29H CCCC EQU WORD PTR BBBB DDDD DB 'ABCD' EEEE EQU $-DDDD DATA ENDS (1) MOV AX,AAAA AL=( ) (2) MOV BX,CCCC BH=( ) (3) MOV DX,OFFSET DDDD DL=( ) (4) MOV CL,EEEE CL=( ) 答: (1) MOV AX,AAAA AL=( 44H ) (2) MOV BX,CCCC BH=( 66H ) (3) MOV DX,OFFSET DDDD DL=( 06H ) (4) MOV CL,EEEE CL=( 04H ) 4-4.试编程序将内存从50000H到5FFFFH的每个单元均写入数55H,并再逐个单元读 出比较,看写入的与读出的是否一致.若全对,则将AL置0;只要有错,则将AL置0FFH. 答: START: MOV AX,5000H MOV DS,AX MOV SI,0 MOV CX, 0FFFFH LOOP1: MOV BYTE PTR [SI], 55H MOV AL, [SI] CMP AL, 55H JNZ LOOPERR LOOP2: INC SI LOOP LOOP1 MOV BYTE PTR [SI], 55H ;最后一个单元 MOV AL, [SI] CMP AL, 55H JNZ LOOPERR MOV AL, 0 ;全对 JMP LOOPOUT LOOPERR: MOV AL, 0FFH LOOPOUT: NOP 4-5.编写一个子程序,对AL中的ASCII字符添加偶校验位(bit7),即:使AL中的 "1"的个数为偶数. 答: ADDPARITY PROC NEAR AND AL, 7FH JP ADDEXIT OR AL, 80H ADDEXIT: RET ADDPARITY ENDP 4-6.利用上题的子程序,编程对内存物理地址10000H开始的1024个单元的ASCII字 符加上偶校验位. 答: START: MOV AX,1000H MOV DS,AX MOV SI,0 MOV CX, 1024 LOOP1: MOV AL, [SI] CALL ADDPARITY MOV [SI], AL INC SI LOOP LOOP1 4-7,试写一子程序,完成对一个8位无符号数乘6的操作.要求:(1)只能用传送,加 法及移位指令;(2)入口参数(即8位无符号数)放于AL中,出口参数(即乘6后的结果) 放于AX. 答: MULTI6 PROC NEAR PUSH BX MOV AH, 0 SHL AX, 1 ;乘2 MOV BX, AX SHL AX, 1 ;乘4 ADD AX, BX ;乘6 POP BX RET MULTI6 ENDP 4-8.给定如下程序片段: START: MOV AX, 1000H, OV SS, AX OV SP, 000FH OV AX, 1000H USH AX OV BX, 5439H USH BX ALL NEAR PTR SUBRT OP AX STOP0: HLT SUBRT: PUSH BP OV BP, SP VA A X: MOV AX, [BP+4] DD AX, 456AH OV [BP+4], AX OP BP ET 4 问:(1)程序执行到标号为SUBRT处的指令时,SP = (2)执行完标号为VAAX的 MOV指令后,AX = (3)执行到标号为STOP0处的指令时:SP = AX = BX = CF= SF= OF= 答: (1) 程序执行完标号为SUBRT处的"PUSH BP"指令后,SP=0006H (2) 执行完标号为VAAX的MOV指令后,AX =5439H (3) 程序执行到标号为STOP0处的指令时(实际执行"HLT"指令之前): SP = 000CH AX = 99A3H BX = 5439H 以及以下标志寄存器的内容: CF = 0 SF = 1 OF = 1 4-9.自符号地址为MARK开始的内存缓冲区中,存有100个学生的某门课的考试成绩. 试找出成绩不低于80分以及成绩低于60分的学生个数,同时求出最高的成绩分及最低的成 绩分数,并将它们分别存于符号地址为PST,FST,MAXMK及MINMK的四个单元中.要 求写出完整的数据段及代码段. 答: DATA SEGMENT MARK DB 100 DUP( ) PST DW 0 FST DW 0 MAXMK DB 0 MINMK DB 100 DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX MOV CX, 100 MOV BX, OFFSET MARK AGAIN: MOV AL, [BX] CMP AL, MAXMK JC HIGHL MOV MAXMK, AL ; update highest mark HIGHL: CMP AL, MINMK JNC MKCHK MOV MINMK, AL ; update lowest mark MKCHK: CMP AL, 60 JNC HIGHMK INC FST ; increase the no. of students whose mark = 80 CHKFH: INC BX LOOP AGAIN MOV AX, 4C00H INT 21H CODE ENDS END START 4-10.编写一段程序,接收从键盘输入的10个数(输入回车符后结束),然后将这些数 按位取反后存于BUFF开始的缓冲区中. 答: DATA SEGMENT ;数据段 BUFF DB 10 DUP (0) ;数据区 DATA ENDS STACK SEGMENT STACK 'STACK';堆栈段 DB 100 DUP( ) STACK ENDS CODE SEGMENT ;代码段 ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV CX, 10 LEA SI, BUFF REPT1: MOV AH, 1 ;键入数据 INT 21H CMP AL, 0DH ;判断是否是回车键 JE NEXT1 ;是,转NEXT1;否继续输入 NOT AL MOV BUFF, AL DEC CX NEXT1: OR CX, CX JNZ REPT1 MOV AX,4C00H INT 21H CODE ENDS END START 4-11.试编程序完成两个一位十进制数的加法功能.具体步骤与要求如下:(1) 利用DOS 1号功能调用,顺序从键盘输入被加数,"+"运算符及加数;(2) 完成相加功能;(3) 将相 加的结果用DOS 9号功能调用在屏幕上显示出来.例如:输入8+6后,屏幕上应显示相加 结果14.如果在上述步骤(1)中有非法输入,应在屏幕上显示"Input error",之后程序须 重新从头开始(即从被加数的输入开始). (略) 4-12.试定义一条能对任意寄存器进行左移指定位的宏指令. 答: SHIFT MACRO REG, COUNT LOCAL LEND PUSH CX MOV CL, COUNT CMP CL, 1 JC LEND ; for COUNT < 1, do not shift SHL REG, CL LEND: POP CX ENDM 4-13.某人写了如下宏定义,以将某寄存器中的一位16进制数转化为相应的ASCII码. 试分析该宏定义是否有错,若有,试指出错误之处及原因. HEXASC MACRO HEXREG PUSHF CMP HEXREG,10 JL LS10 ADD HEXREG,'a'-'0'- 10 LS10: ADD HEXREG,'0' POPF RET HEXASC ENDP 答: 错误之处: 开始处缺:LOCAL LS10 应去除 "RET" 语句 "HEXASC ENDP"应为 "ENDM" 4-14.在数据段偏移地址BUFFER开始处顺序存放了100个无符号16位数,现要求编 写程序将这100个数据从大到小排序. (略) 第5章 微型计算机总线 习题 5-1.ISA总线是属于____C______总线. A. 同步 B. 异步 C. 半同步 D. 自适应 5-2.以下的接口芯片中,可以用作总线主设备的是____A______. A. DMA控制器 B. 中断控制器 C. 计数器 D. A/D变换器 5-3.总线最大传输率等于_____D_______. A. 总线宽度乘以总线频率 B. 总线宽度乘以总线频率的二分之一 C. 总线宽度乘以总线频率的四分之一 D. 总线宽度乘以总线频率的八分之一 5-4.总线宽度的意思是_______B________. A. 总线插槽的尺寸 B. 总线中数据线的数目 C. 总线中所有信号线的数目 D. 总线插槽所有引脚的数目 5-5.8088CPU在形成对外的数据总线和地址总线时要使用____B_____. A. 三态地址锁存器和三态双向数据缓冲器 B. 非三态地址锁存器和三态双向数据缓冲器 C. 三态地址锁存器和非三态双向数据缓冲器 D. 非三态地址锁存器和非三态双向数据缓冲器 5-6.8088在最大模式下使用8288总线控制器产生读写控制信号,8288产生的读写信 号有6条,在PC总线中使用的读写控制线是_____C______. A. 6条 B. 5条 C. 4条 D. 2条 5-7.PC总线 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 中不包括_____C_________. A. DMA请求和应答线 B. 硬中断请求线 C. 和CPU连接的中断请求和应答线 D. 复位线 5-8.PCI总线是一种______D________总线. A. 8位/16位 B. 8位/16位 C. 16位/32位 D. 32位/64位 5-9.ISA总线是一种______A________总线. A. 8位/16位 B. 8位/16位 C. 16位/32位 D. 32位/64位 5-10.以下的说法中,不是同步总线特点的是______C________. A. 不需要应答信号 B. 总线周期的长度一般较短 C. 总线周期的长短可以变化 D. 总线上各部件的工作速度比较接近 5-11.什么是总线,微型计算机为什么要采用总线结构 答: 总线是在计算机系统中,CPU和其他模块,模块和模块之间传输某种信息的公共通道. 采用总线结构,便于微型计算机设计和生产的标准化和模块化,降低了生产和使用 的成本,对于微型计算机的推广使用具有非常重要的价值. 5-12.总线操作有什么限制 这些限制对于微型计算机的性能有什么影响 答: 总线上同时只能传输一种信号.所以,不允许同时有几个部件互相传输信息.不同部件 之间的传输只能分时进行. 这种总线传输的分时性限制了微型计算机操作的并发性. 5-13.ISA总线是一种同步总线还是半同步总线 答: 是一种半同步总线. 5-14.ISA总线通过什么信号可以调整总线周期的长短 答: I/O CH RDY.如果此信号线的输入是低电平,要求CPU延长总线周期. 5-15.PCI总线是不是可以接入多个主设备 在接入多个主设备时,PCI总线是什么类 型的总线 答: PCI总线可以接入多个主设备. PCI总线本来是属于半同步总线,可以通过TRDY#和IRDY#来控制插入等待周期.在 引入多个主设备时,需要通过REQ和GNT信号来进行请求和应答的联络,但是,并不会 因此而改变总线的类型位异步总线.总线的类型仍然是半同步总线. 5-16.现在实际的微型计算机是多总线系统还是单总线系统 微型计算机采用多总线系 统有什么优点 答: 现在的微机系统都是多总线系统. 多总线系统可以根据不同的速度需要,在系统的不同地方使用不同速度的总线.使得系 统的配置具有更多的灵活性.由于不需要所有的总线都使用同样高速的性能,也可以降低系 统的成本. 5-17.一个USB系统包括几种硬设备,分别在系统中起什么作用 答: 一个USB系统包含三类硬件设备:USB主机(USB Host), USB设备(USB Device),USB 集线器(USB Hub) USB主机有以下功能: 检测USB设备的加入和退出; 管理主机和USB设备间的通信; 读取和分析设备的配置信息,对USB设备进行配置操作; 对总线上的错误进行管理和恢复; 为加入的USB设备提供电源. USB Hub就是USB集线器.USB集线器用于设备扩展连接,通过USB集线器可以连 接更多的USB设备. USB设备就是使用USB总线标准的外部设备. 5-18.为什么USB总线很快的得到了普及和应用 答: 传输速度快,可以满足一般的需要; 即插即用,使用方便; 成本较低,易于接受. 第6章 半导体存储器 习题 6-1.半导体存储器分为哪两大类 随机存取存储器由哪几个部分组成 答: 由随机存取存储器(RAM)和只读存储器(ROM);RAM由地址寄存器,译码驱 动电路,存储体,读写驱动电路,数据寄存器和控制逻辑6部分组成. 6-2.简述ROM,PROM,EPROM,EEPROM在功能上各有何特点. 答: a) ROM是只读存储器,使用时只能读出,不能写入,适用于保存不需要更改而经常 读取的数据,通常使用的的光盘就是这类存储器; b) PROM属于一次可编程的ROM,通常使用时也只能读出,不能写入,通常使用的 刻录光盘就属于此类存储器.最初从工厂中制作完成的PROM内部并没有资料, 用户可以用专用的编程器将自己的资料写入,但是这种机会只有一次,一旦写入后 也无法修改,若是出了错误,已写入的芯片只能报废; c) EPROM属于可擦除ROM,但是用户需要使用专用的紫外线擦除器对其进行数据 擦除,并使用专用的编程器对其重新写入数据; d) EEPROM是电可擦写ROM,可以用专用的编程器对其进行擦写. 6-3.存储器的地址译码有几种方式 各自的特点是什么 答: 地址译码有三种方式:线选法,全译码法和部分译码法. e) 线选法:使用地址总线的高位地址作为片选信号,低位地址实现片内寻址;优点是 结构简单,需要的硬件电路少,缺点是地址不连续,使用中不方便,而且同一存储 区的地址不唯一,造成地址空间浪费; f) 全译码法:将地址总线中除片内地址以外的全部高位地址都接到译码器的输入端参 与译码.特点是每个存储单元的地址是唯一的,地址利用充分,缺点是译码电路复 杂; g) 部分译码:将高位地址的部分地址线接到译码器参与译码,产生存储器的片选信号. 特点是各芯片的地址是连续的,但是地址不唯一,仍然存在地址的堆叠区. 6-4.某RAM芯片的存储容量为1024×8位,该芯片的外部引脚最少应有几条 其中 几条地址线 几条数据线 若已知某RAM芯片引脚中有13条地址线,8条数据线,那么该 芯片的存储容量是多少 答: 至少23根,其中有10根地址线,8条数据线;存储容量是213*8bit=64Kbit=8KB. 6-5.用Intel 2114 1K×4位的RAM芯片组成32K×8位的存储器,需要多少块这样的 芯片 答: 需要64片. 6-6.设某微型机的内存RAM区的容量为128KB,若用2164芯片构成这样的存储器, 需多少片2164 至少需多少根地址线 其中多少根用于片内寻址 多少根用于片选译码 答: 需要16片;至少地址线需要17根,其中1条用于片选,16条用于片内寻址. 6-7.某8088系统用2764 ROM芯片和6264 SRAM芯片构成16KB的内存.其中,ROM 的地址范围为0FE000H,0FFFFFH,RAM的地址范围为0F000H,0F1FFFH.试利用 74LS138译码,画出存储器与CPU的连接图,并标出总线信号名称. 答: 6-8.什么是Cache 简述其工作原理 若主存DRAM的的存取周期为70ns,Cache的 存取周期为5ns,命中率为85%,则它们构成的存储器的平均存取周期是多少 答: Cache位于主存和CPU之间,有SRAM组成,用来协调CPU和主存之间的数据传输 速度;Cache的工作原理是基于程序访问的局部性,即在单位时间内对局部范围的存储器地 址频繁访问,而对此范围以外的地址则访问甚少;平均存储周期 =5ns*85%+70ns*15%=14.75ns. 6-9.什么是虚拟存储器 它的作用是什么 答: 虚拟存储器又称虚拟内存,是指在内存不足的情况下,利用外部存取器的一部分空间 模拟内存,使软件可以将其当成一般的内存使用,从使用角度来看,除了速度较慢外,其他 方面与内存相比并无明显区别;虚拟存储器圆满解决了计算机存储系统对存储容量,单位成 本和存取速度的苛刻要求,取得了三者之间的最佳平衡. 第7章 微型计算机和外设间的数据传输 习题 7-1.什么是接口 什么是端口 什么情况下两个端口可以共用一个地址 在 8086/8088微机系统中,CPU是如何实现端口寻址的 答: 把外部设备与计算机连接起来,实现数据传送的控制电路称为I/O接口电路;为了存放 接口的数据,状态和控制信息,I/O接口电路拥有几个不同地址的寄存器,每个寄存器称为 一个端口;若状态与控制端口的位长和不超过8,则可以共用一个端口;808X系列CPU的 端口是独立寻址的,使用IN和OUT指令实现对端口的操作. 7-2.对于查询方式,中断方式有什么优点 和DMA方式相比,中断方式又有什么不 足 答: 与查询方式相比,中断方式不要求CPU等待或者查询,CPU与外设并行工作,可以大 大提高系统的工作效率;但与DMA方式相比,每次外设与存储器进行数据传送时都要经过 CPU中转,在传送数据块时,传送中地址指针的改变和传送计数器修改将使得传输速度较 低,增加了系统开销. 7-3.有一输入设备,其数据端口的地址为FEE0H;状态端口地址为FEE2H,当其D0 位为1时表明输入数据准备好.试编写采用查询方式进行数据传送的程序段,要求从该设备 读取64个字节并输入到从2000H:2000H开始的内存中. 答: 子程序如下: START: MOV AX, 2000H MOV DS, AX MOV DI, AX MOV CX, 64 LOOP1: MOV DX, 0FFE2H LOOP2: IN AL, DX AND AL, 01H JZ LOOP2 MOV DX, 0FFE0H IN AL, DX MOV [DI], AL INC DI LOOP LOOP1 RET 第8章 中断系统 习题 8-1.8086系统中,用IRET指令结束中断服务程序后,标志IF的值是____A______. A. 肯定等于1 B. 肯定等于0 C. 不确定 D. 按设置,可以是1或者0 8-2.执行8086的IRET中断返回指令后,将从堆栈中弹出_____C_____字节数据,存 入相应的寄存器. A. 2个 B. 4个 C. 6个 D. 8个 8-3.8086的中断向量表中存放的是_____B______. A. 中断类型号 B. 中断服务程序入口地址 C. 断点地址 D. 中断向量地址 8-4.8086中断向量表的范围是RAM地址的______A_______. A. 00000~003FFH B. 00000~007FFH C. 00000~00BFFH D. 00000~00FFFH 8-5采用中断方式为外部设备服务的优点包括_____C________. A. 提供可靠的数据传输服务和简化硬件接口 B. 提高CPU的效率和提供可靠的数据传输服务 C. 提高CPU的效率和 加强实时处理能力 D. 加强实时处理能力和简化硬件接口 8-6.为了可以实现中断嵌套,在8086 系统的中断服务程序中,需要写一条 ____D_______. A. CLC指令 B. STC指令 C. CLI指令 D. STI指令 8-7.在具有2片8259A级联的中断系统中,两片8259A都设置为非自动结束中断,以 下说法中正确的是____C________. A. 两片8259A的中断服务程序都要发送2条EOI命令 B. 两片8259A的中断服务程序都要发送一条EOI命令 C. 主8259A的服务程序发送一条EOI命令,从8259A的服务程序发送2条 D. 主8259A的服务程序发送2条EOI命令,从8259A的服务程序发送一条 8-8.以下和中断有关的操作中,必须由CPU自动完成的是____A_______. A. 保存断点地址 B. 恢复断点地址 C. 保存断点地址和恢复断点地址 D. 保存断点地址,恢复断点地址和保存标志寄存器 8-9.中断系统可以实现中断嵌套,其最主要的原因是____C_______. A. 通过堆栈保护断点 B. 可以通过指令来开中断 C. 具有中断优先级管理机制 D. 使用硬件中断控制器 8-10.在8086系统中,一个中断类型号为0DBH的中断服务子程序位于从8100H:1234H 开始的内存中,在中断向量表中相应的中断向量所在的起始物理地址为____A_______. A.0036CH B.000DBH C. 82234H D.01234H 8-11.在8086系统中,一个中断类型号为0DBH的中断服务子程序入口地址是8100H: 1234H,这个地址在中断向量表中连续4个存储单元存放的内容依次为_____C_______. A.81H,00H,12H,34H B.00H,81H,34H,12H C. 34H,12H,00H,81H D.12H,34H,81H,00H 8-12.4片8259A构成的级联中断控制系统中,最多可以直接连接的外部中断源的数目 是____D______. A.4个 B.32个 C. 28个 D.29个 8-13.8086的以下各种中断中,需要硬件提供中断类型号的只有____D______. A.INTO B.INT n C. NMI D.INTR 8-14.对于8086的软件中断,以下说法中正确的是_____D__________. A. 所有软件中断的优先级都是相同的 B. 所有软件中断的优先级都可以任意设置 C. 优先级有差别,可以调整 D. 优先级有差别,不可以调整 8-15.什么是中断向量 什么是中断向量表 8086的中断向量表存放在存储器的哪个 区域 为什么8086中断向量表的大小是1024个字节 答: 中断向量就是中断服务程序的入口地址. 中断向量表存放中断服务程序的入口地址,或者存放跳转到中断服务程序入口的转移指 令. 8086的中断向量表位于RAM区的00000H~003FFH. 因为8086支持256个中断,每个中断服务程序的入口地址是4个字节,共需要1024 字节. 8-16.现在有10个外中断源要申请中断,都用软件查询来进行优先级排队,此时需要 为这些中断源准备几个中断服务程序 为什么 答: 只需要一个中断服务程序. 10个中断源通过一个或门向CPU申请中断.当有几个中断源同时申请时,在中断服务 程序中进行排队查询.再转移到各自的服务程序段.并不需要为每个中断源准备一个服务程 序. 8-17.如果8259A设置为非自动结束中断方式.但是,用户在编写中断服务程序时, 没有向8259A发送中断结束命令EOI.这样的做法会产生什么不好的后果 答: 其结果是8259内部的中断服务寄存器中的相应的登记不会撤销.也就不会允许后续的 同级中断的申请.而实际上上CPU的服务已经结束,应该可以允许中断的申请. 8-18.执行以下指令后的结果有什么不同: MOV AX,1234H MOV AX,1234H MOV BX,5678H MOV BX,5678H PUSH BX PUSH BX PUSH AX PUSH AX RET IRET 再进一步叙述IRET指令和RET指令有什么不同. 答: 执行左边一组指令后,IP=1234H. 执行右边一组指令后,CS=5678H,IP=1234H. RET指令一般是近调用返回,只将堆栈顶部内容弹出到IP. IRET指令一定是远调用的返回,要将栈顶4个字节弹出到CS和IP.还会将自动压入的 标志寄存器的内容出栈到标志寄存器. 8-19向8259A的A0=1的端口发送一个命令字,如何可以确定这个命令字是初始化命 令字ICW2而不是操作命令字OCW1 答: 要看前一个命令字是不是ICW1.如果是ICW1,则这个命令字是ICW2,否则就是 OCW1. 8-20.8259A的初始化有几种不同的情况,分别使用在什么条件下 答: 1)只使用ICW1和ICW2:单片8259,而且不使用ICW4. 2)使用ICW1,ICW2和ICW3:多片8259,但不使用ICW4. 3) 使用ICW1,ICW2和ICW4:单片8259,但使用ICW4. 4) 使用ICW1,ICW2,ICW3和ICW4:多片8259,也使用ICW4. 8-21.8259A设置为非自动结束中断,级联使用8259A时,主8259A的服务程序和从 8259A的服务程序,在发送中断结束命令方面有什么不同 答: 主8259的服务程序要结束主8259A的ISR寄存器中的登记.从8259的服务程序要结 束主8259A和从8259的ISR寄存器中的登记. 8-22.分析以下中断向量表写入程序: MOV AX, 0 MOV ES, AX MOV BX, 01C8H LEA AX, INTSUB MOV ES: [BX], AX MOV AX, SEG INTSUB MOV ES: [BX+2],AX 相应中断源的中断类型号是什么 请再用另外一种方式,完成这个中断向量表的写入程 序. 答: 中断类型号是72H. 用DOS功能调用25H来写入: PUSH DS MOV AX, SEG INTSUB MOV DS, AX MOV DX, OFFSET INTSUB MOV AL, 72H MOV AH, 25H INT 21H POP DS 8-23.以下的子程序1是中断初始化程序,子程序2是响应中断的中断服务程序.0A0H 和20H都是8259A的端口地址.分析这些程序段,并回答问题: 子程序1: INT-P2 PROC FAR PUSH DS PUSH AX PUSH DX MOV DX, OFFSET INT-P1 MOV AX, SEG INT-P1 MOV DS, AX MOV AL, 78H MOV AH, 25H INT 21H POP DX POP AX POP DS RET INT-P2 ENDP 子程序2: INT-P1 PROC FAR PUSH AX INC [SI] MOV AL, 20H OUT 0A0H, AL OUT 20H,AL POP AX IRET INT-P1 ENDP 请问: (1)分配给这个中断的中断类型号是什么 (2)CPU到中断向量表的哪四个地址单元取得入口地址 (3)中断源连接到8259A的哪个中断输入,是主8259A还是从8259A (4) 在该中断处理时能否实现中断嵌套 为什么 答: (1)中断类型号是78H. (2)占用中断向量表的地址是:001E0H, 001E1H, 001E2H, 001E3H. (3)连接到8259A的IR0输入,是从8259A. (4)不能中断嵌套.因为再服务程序中,没有STI指令. 8-24.修改例8-6的中断服务子程序,使得它能够应用于16位除数的除法溢出中断. 入口参数是BX作为除数,被除数是指令隐含的.出口参数应该包括32位的商和16位的余 数.请自己指定具体的出口参数,并完成中断服务程序的编程. 答: 32位的商存放在CX:AX,余数在DX INT00 PROC FAR POP CX ;修改返回地址 ADD CX,2 PUSH CX CMP BX,0 JNE NEXT LEA DX,MESSAGE ;除数为0,显示错误信息 MOV AH,09 INT 21H JMP FINISH NEXT: PUSH AX ;作除法,AX暂存于堆栈 MOV AX,DX ;高16位改为低16位 MOV DX,0 ;高16位为0 DIV BX MOV CX,AX ;保存商的高16位 POP AX ;恢复低16位被除数AX DIV BX ;商是CX:AX,余数是DX FINISH: IRET INT00 ENDP 8-25.编写一个4号溢出中断的服务程序,取代原来系统中的相应程序.新程序的功能 是显示有关溢出的错误信息,然后,中止程序的执行.编写一个测试程序,测试新程序的功 能.测试程序要完成中断向量表4号中断入口地址的改写,并通过具有溢出结果的运算来进 行测试. 答: DATA SEGMENT MESSAGE DB "ARITHMETIC OVERFLOW.",0DH,0AH,'$' MESSAG1 DB "AX IS THE RESULT.",0DH,0AH,'$' DATA ENDS STACK SEGMENT STACK 'STACK' DB 50 DUP(0) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START PROC FAR PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX STI MOV AL,4 ;保存原中断向量 MOV AH,35H INT 21H PUSH ES PUSH BX ; PUSH DS ;写中断向量表 MOV AX,SEG INT04 MOV DS,AX MOV DX,OFFSET INT04 MOV AL,4 MOV AH,25H INT 21H POP DS ; MOV AX,8080H ;做加法 ADD AX,8080H INTO LEA DX,MESSAG1 ;正常结束 MOV AH,09 INT 21H ; POP DX ;恢复中断向量表 POP CX PUSH DS MOV DS,CX MOV AL,4 MOV AH,25H INT 21H POP DS ; RET START ENDP INT04 PROC FAR LEA DX,MESSAGE ;溢出,显示错误信息 MOV AH,09 INT 21H MOV AH,4CH INT 21H FINISH: IRET INT04 ENDP CODE ENDS END START 第9章 微型计算机常用接口技术 习题 9-1.试说明并行接口和串行接口在数据传输和内部结构上的主要区别 答: 并行接口使数据的各位同时在总线上传输,串行接口使数据一位一位地传输.因为I/O 接口和微处理器之间的数据是并行的,所以两种接口的区别主要表现在I/O接口与外设之间 的数据传送. 两种接口在结构上的主要区别在于串行接口需要进行并行与串行之间的相互转换,而并 行接口无需进行这种变换. 9-2.8255A的方式0一般用在什么场合 在方式0时欲使用应答信号进行联络应该怎 么办 答: 8255A的方式0一般应用在无条件传送方式,即外设总是"准备好"的情况.也可以用 在查询传送方式,这时可利用C口来配合A口和B口的输入/输出操作. 在方式0时,如果要用应答信号可把C口的4个位(高4位或低4位均可)规定为输 出口,用来输出一些控制信号,而把C口的另外4个位规定为输入口,用来输入外设的状 态. 9-3.8255A的工作方式控制字和置位/复位控制字都是写入控制端口的,那么它们是由 什么来区分的 如果利用C口置位/复位功能是否一次可以使C口的若干位同时置1或置0 答: 8255A控制字的最高位(D7)为特征位,用来区分方式控制字和C口置位/复位控制字. 当控制字的D7=1时为工作方式控制字,当控制字的D7=0时为C口置位/复位控制字. 使用C口置位/复位控制字,一次只能使C口的某一位置位或复位,不能够一次使C口 的若干位同时置位或复位. 9-4.从8255A的端口C读出数据,试述8255A的几个控制信号CS,A1,A0,RD, WR的状态. 答: CS为低电平,A1位高电平,A0为低电平,RD应出现低电平,WR为高电平,处于 无效状态 9-5.试述当8255A工作于方式1时,CPU如何以中断方式将输入设备的数据读走 答: 外设送出数据并发出STB信号;STB有效使外设送到8255A端口数据线上的数据锁存, 并使IBF有效,输出给外设,表明输入缓冲器已满,但CPU尚未取走.如果中断允许INTE=1, IBF变高也会使INTR有效,向CPU发出中断请求,请求CPU取走已输入的数据.CPU在 执行中断服务程序时用IN指令读取数据,产生RD信号,该信号使INTR无效,撤销本次 中断申请,并且使IBF变为低电平,告知外设输入缓冲器的数据被取走,可输入新的数据. 9-6.当8255工作于方式2时,当CPU接收到8255产生的中断信号时如何区分执行输 入操作还是输出操作 答: 在输入,输出均允许中断的情况下,可在中断服务程序中,读入C口的状态字来查询, 判断OBF和IBF位的状态,来区分是输入中断还是输出中断,并采取相应操作. 9-7.设8255A的4个端口地址为60H~63H,试编写下列各种情况的初始化程序. (1)A,B组均设置成方式0,A口,B口为输入,C口为输出. (2)将A口,B口设置为方式1,均为输入;PC6,PC7为输出;允许A口中断,禁 止B口中断. (3)将A口设置成方式2;B口为方式0,输出;PC0~PC2为输入;允许A口中断. 答: (1) MOV AL,10010010B OUT 63H,AL (2) MOV AL,10110110B OUT 63H,AL MOV AL,00001001B OUT 63H,AL MOV AL,00000100B OUT 63H,AL (3) MOV AL,11000001B OUT AL,63H MOV AL,00001001B OUT 63H,AL MOV AL,00001101B OUT 63H,AL 9-8.试说明异步通信和同步通信的特点各是什么 答: 异步通信以字符为基本单位,传输时字符间异步,字符内部各位间同步;这种方式双方 不需要严格同步,因而收/发双方不需要用同一时钟源,只需要用同频率的收/发时钟,就可 保证可靠的通信. 同步通信是以数据块为单位,传输时字符与字符之间的字符内部的各位之间都需要严格 同步,所以收/发时钟需要用同一时钟源. 无论哪种方式,为保证通信正确,收/发双方都必须遵守共同约定的数据传输协议. 9-9.试说明异步通信中是如何解决同步问题和实现正确采样的 答: 为确保同步,实现正确的采样,要采用以相反极性的起始位/停止位(空闲位)检测新 字符的开始,还有接收器采用比传送波特率更高频率的时钟来控制采样时间,这样一方面可 以提高采样的分辨率和抗干扰能力,而且还可使接收器在每位码元的中心采样,以获得最大 的收/发时钟频率的偏差容限. 9-10.一个异步串行发送器,发送具有8位数据位的字符,在系统中使用1个奇偶校验 位,两位停止位.若每秒发送100个字符,则其波特率,位周期和传输效率各为多少 若传 送2KB的数据,需要多长时间 答: 1+8+1+2=12位 波特率:12×100=1200 b/s 位周期:1/1200(s) 传输效率:8/12=67% 传送2KB所需时间:2×1024×12×(1/1200)=20.48(秒) 9-11.说明MODEM的主要功能和应用场合. 答: MODEM的主要功能是将数字信号转换为适合在传输线上进行传输的音频模拟信号; 将传输线上的音频模拟信号还原为数字信号. MODEM主要用于借助普通电话线进行远距离数字通信的场合.因为远距离通信时, 若让数据通过串行接口直接在传输线上传送,容易产生信号畸变,失真. 9-12.RS-232C接口使用的也是数字逻辑信号,它是否可以与计算机的各种输入输出信 号直接连接 为什么 答: 不能.因为虽然RS-232C接口使用的也是数字逻辑信号,但RS-232C采用负逻辑,所 要求的电平与TTL/COMS电平不兼容,所以两者连接时必须经过相应的电平转换转换电路, 而不能直接相连. 9-13.Intel 8251A芯片是什么芯片 简述其一般功能. 答: Intel 8251A是通用可编程串行通信接口芯片,可用于异步通信,也可用于同步通信. 数据格式可编程设定.在异步方式下,可编程选择三种波特率因子;能自动监测数据传输过 程中发生的重叠错,奇偶错,帧格式错;具有使用MODEM通信的能力.可以进行全双工 通信;具有中断和查询输入/输出的能力. 9-14.若利用8251A进行异步通信,采用第10题的数据格式和波特率,波特率因子选 择16,利用8253提供收,发时钟,其中系统提供的时钟信号为1MHz.8253的端口地址为 300H~303H,8251的端口地址为3F8H~3F9H. (1)试编写8253及8251A的初始化程序段 (2)若要求以查询方式将BUFFER开始的100个字符发送出去,试编写相应的程序段. 答: (1) 8253:使用计数器0 CLK0=1MHz,OUT0=1200×16=19200Hz N=1MHz/19200Hz=52 8253初始化程序: MOV AL,00010111B;计数器0工作在方式3,十进制计数 MOV DX,303H OUT DX,AL MOV DX,300H MOV AL,52H OUT DX,AL 8251:8位数据位,采用偶校验,2位停止位 8251初始化程序: MOV DX,3F9H MOV AL,40H OUT DX,AL;发内部复位命令 NOP MOV AL,11111110B;方式控制字 OUT DX,AL MOV AL,00110111B;命令控制字 OUT DX,AL (2) MOV DI,OFFSET BUFFER MOV CX,100 SEND: MOV DX,3F9H W1: IN AL,DX TEST AL,01H JZ W1 MOV DX,3F8H MOV AL,[DI] OUT DX,AL INC DI LOOP SEND 9-15.试比较软件,硬件和可编程定时/计数器用于定时控制的特点. 答: 软件定时需要运行一段延时子程序,不需要增加硬件设备,但会占用CPU资源,降低 CPU的工作效率;硬件定时采用专门的硬件电路实现定时,不占用CPU资源,定时精确, 但不方便修改定时值,使用不够灵活;使用可编程定时/计数器芯片,通过编程可以方便地 修改定时值,使用灵活,而且定时精确,不占用CPU的时间. 9-16.试述8253定时/计数器中,时钟信号CLK和门控信号GATE分别起的作用. 答: 时钟信号CLK为定时器/计数器提供计数脉冲输入; 门控信号GATE用于控制计数过程,在不同的工作方式,作用不一样,可能用于禁止/ 允许计数,也可能用于触发计数. 9-17.已知提供给8253的时钟信号频率为1MHz,若在不增加硬件芯片的情况下,欲 使8253产生周期为1s的对称方波,试说明如何去做.如果8253的三个计数器及控制口的 地址分别为40H,42H,44H和46H,分别画出8253和PC系统总线的连接以及计数通道信 号的连接,并按照硬件连接图编写8253的初始化程序. 答: 计数初值N=1×1×106=106 因为计数初值超过了一个计数器的最大计数值,所以在不增加硬件的情况下,需要采用 8253两个计数器串接的方式. 106=1000×1000 计数器0:工作在方式3,计数初值为1000,对1MHz的信号进行分频,产生周期为 1ms的时钟信号; 计数器1:工作在方式3,计数初值为1000,对周期为1KHz的时钟信号进行分频,产 生周期为1s的对称方波 硬件连接图: D0-D7 IOR IOW A7 A6 A5 A4 A3A0 A2 A1 D0-D7 RD WR CS A1 A0 8253 CLK0 . +5V GATE0 OUT0 CLK1 GATE1 OUT1 CLK2 GATE2 OUT2 1MHz 1s对称方波输出 或 +5V 8253的初始化程序: MOV AL,00110110B OUT 46H,AL MOV AX,1000 OUT 40H,AL MOV AL,AH OUT 40H,AL MOV AL,01110110B OUT 46H,AL MOV AX,1000 OUT 42H,AL MOV AL,AH OUT 42H,AL 9-18.利用一片8253做定时器,8255A的A口做为输出口控制8个指示灯.要求依次 点亮每个指示灯,每个指示灯点亮的时间维持1s.设8253的端口地址为300H~303H,外部 提供的时钟频率为10KHz;8255A的端口地址为310H~313H.试编写8253,8255A的初始 化程序以及中断服务程序. 答: 8253使用计数器0:工作方式3,二进制计数; 计数初值N:10×103×1=10000 假设8255的A口输出高电平点亮指示灯 8253的初始化程序: MOV AL,00110110B MOV DX,303H OUT DX,AL MOV AX,10000 MOV DX,300H OUT DX,AL MOV AL,AH OUT DX,AL 8255的初始化程序 MOV AL,10000000B MOV DX,313H OUT DX,AL MOV BL,01H MOV AL,BL MOV DX,310H OUT DX,AL;初始时点亮一盏指示灯 中断服务程序: INTSUB PROC FAR PUSH DX PUSH AX ROL BL,1 MOV AL,BL MOV DX,310H OUT DX,AL MOV AL,20H OUT 20H,AL;发EOI命令,假设8259的端口地址为20H,21H POP AX POP DX IRET INTSUB ENDP 9-19.对一个DMA控制器的初始化工作包括哪些内容 答: 对DMA控制器进行初始化的过程分为两个方面:?将数据传轮缓冲区的起始地址或者 结束地址送到地址寄存器中.?将传输的字节数或字数送到计数器中. 9-20.MA控制器8237A是怎样进行优先级管理的 答: 8237A有两种优先级管理方式.固定优先级:通道0优先级最高,通道3最低;循环优先 级方式:优先级依次循环,刚使用过总线的通道优先级最低,其下一通道优先级最高. 9-21.8237A在进行单字节方式DMA传输和块方式DMA传输时,有什么区别 答: 单字节DMA传输:每完成1个字节传输后,内部字节计数器便减1,地址寄存器的值加 1或减1,接着,8237A释放系统总线,这样CPU至少可得到一个总线周期;块方式 DMA传输:可以连续进行多个字节的传输,只有当字节计数器减少0,从而在EOP端 输出一个终止计数信号或者外部I/O接口DMA控制器的EOP端送人一个低电平信号时, 8237A才释放总线而结束传输. 9-22.用DMA控制器进行内存到内存的传输时,有什么特点 答: (1)为了实现这种传输,就要把源区的数据先送到8237A的暂存器,然后再送到目的区, 也就是说,每次内存到内存的传输要用到两个总线周期;(2)固定用通道0的地址寄存器存放 源地址,而用通道1的地址寄存器和字节计数器存放目的地址和计数值,在传输时,目的地 址寄存器的值像通常一样进行加1或减1操作,但是,源地址寄存器的值可以通过对控制寄 存器的设置而保持恒定;(3)控制寄存器的D0位必须置1,此时,如果控制寄存器的D1位为 1,则在传输时源地址保持不变. 9-23.设计8237A的初始化程序.8237A的端口地址为0000H-000FH,设通道0工作 在块传输模式,地址加1变化,自动预置功能;通道1工作于单字节读传输,地址减1变化, 无自动预置功能;通道2,通道3和通道1工作于相同方式.然后对8237A设控制命令,使 DACK为高电平有效,DREQ为低电平有效,用固定优先级方式,并启动8237A工作. 答: MOV DX, 0BH ;模式寄存器端口地址 MOV AL, 90H ;通道0 OUT DX, AL MOV AL,69H ;通道 1 OUT DX,AL MOV AL,6AH ;通道 2 OUT DX,AL MOV AL,6BH ;通道 3 OUT DX,AL MOV DX,8 ;控制寄存器端?地址 MOV AL,COH OUT DX,AL 9-24.模-数转换器 ADC 常用的有双积分式和逐次逼近式,请扼要比较它们的优缺点. 在微机控制系统的模拟输入通道中常常应用采样-保持电路,其主要原因是什么 答: 逐次逼近式ADC 采用的是二分搜索,反馈比较,逐次逼近的转换原理. 其优点是转换速度快,转换精度高;缺点是输入模拟信号变化速度较 快时,会产生较大的非线性误差.双积分ADC 的优点一是不需要DAC, 能以低成本实现高分辨率;二是双积分ADC 的实质是电压一时间变 换,所以转换精度高,抗干扰能力强.缺点是需要二次积分,转换速 度慢.当输入模拟信号变化率比较大时,逐次逼近式ADC 会产生相当 大的非线性误差,为改善这种情况,可在ADC 前面增加一级采样-保 持电路. 9-25.什么是 A/D,D/A 转换器 答: A/D 转换器是指将采样保持后得到的模拟电压V;转换为数字量的电 路,转换过程包括量化和编码.D/A 转换器是把二进制数字信号转换 成模拟信号(电压或电流)的电路. 9-26.A/D 和 D/A 转换器在微型计算机应用中起什么作用 答: 微型计算机只能对二进制数字形式表示的信息进行运算和处理,其运 算和处理的结果也是数字量,但用微机进行自动测量,监控等系统中 遇到的变量大部分是模拟量,这些模拟量必须转变成计算机能够接收 的数字量,这个过程为模/数转换,完成这个转换需要A/D 转换器. 反之计算机运算,处理的结果也不能直接去控制执行部件,因为各种 执行部件要求的控制信号一般也是模拟量,因此需要将计算机输出的 数字量控制信号转换成执行部件所需的模拟量,这个转换过程为数/ 模转换,完成这个任务的装置就是D/A 转换器. 9-27.A/D 转换把模拟量信号转换为数字量信号,转换步骤是什么 转换过程用到什么 电路 答: 转换步骤分为四步:采样,保持,量化和编码.采样和保持在采样保 持电路中进行;量化和编码在ADC 中进行. 9-28.如下图所示的是一个由 8255A 和 ADC0809 为主组成的 PC 总线 8 路数据采 集卡原理图.8255A的A口和B口均工作于方式 0. (1)写出 8255A 中各寄存器的端口地址. (2)确定 8255A 的方式控制字. (3)画出以查询方式巡回采集 8路数据至内存 BUFF开始的缓冲区的程序 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 图,并写 程序(含 8255A 初始化程序). (4)若其中一路采集的是温度,测温范围为 0?-60?(线性刻度),当某采样周期获的温 度数据为 OAAH 时,则对应的温度为多少度 答: (l)A ? :2COH;B ? :2ClH;C ? :2C2H;控制寄存器:2C3H. (2)方式控制宇为 :91H. (3)8255: MOV DX,2C3H MOV AL,9lH OUT DX,AL XOR AL,AL 图 数据采集卡原理图 MOV DX,2C2H OUT DX,AL ;PC4,PC5 初值为 0 ADSTART: MOV CX,8 ;循环次数 MOV BX,O ;ADCO809 通道号 START: MOV DX,2ClH MOV AL,BL ;取当前通道号 OUT DX,AL MOV DX,2C3H MOV AL,09H ;PC4=1,启动 A/D 转换 OUT DX,AL MOV AL,O8H OUT DX,AL MOV DX,2C2H WAIT: IN AL,DX TEST AL,O1H ;转换结束 JZ WAIT MOV DX,2C3H MOV AL,0BH ;PC5=1,输出A/D 转换结果 OUT DX,AL MOV AL,OAH OUT DX,AL MOV DX,2COH IN AL,DX MOV buf[BX],AL INC BX LOOP START HLT (4)T= FFH AAH X 600?= 170 155 X 600=400? 第10章 微型计算机的发展方向与新技术介 绍 (第十章习题答案略).
本文档为【微机原理课后详细答案______徐惠民版】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_833902
暂无简介~
格式:doc
大小:101KB
软件:Word
页数:57
分类:生活休闲
上传时间:2018-01-31
浏览量:93