第一篇:《微机原理与接口》复习题及参考答案_第二版(范文模版)
《微机原理与接口》课程复习题及参考答案
2013年12月
第一章习题
1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同?
【解】 把CPU(运算器和控制器)集成在一个芯片上,即为微处理器。微处理器加上部分存储器和外设(或外设接口)就构成了微型计算机。微型计算机与管理、维护计算机硬件以及支持应用的软件相结合就形成微型计算机系统。1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能?
【解】CPU主要由算术逻辑单元、指令寄存器、指令译码器、可编程逻辑阵列、寄存器组、标志寄存器等组成。CPU主要功能是进行算术逻辑运算,以及控制计算机按照程序的规定自动运行。
1.3 微型计算机采用总线结构有什么优点?
【解】采用总线结构,扩大了数据传送的灵活性,减少了连线;而且总线可以标准化,易于兼容和工业化生产。
1.4 数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一组总线或者合用部分总线,那么要靠什么来区分地址和数据?
【解】数据总线是双向的,地址总线是单向的。采用数据和地址线复用,主要靠信号的时序来区分。通常在读写数据时,在复用的总线上先输出地址信息,然后再传送数据。
第二章习题
2.9 8086的基本程序执行寄存器是由哪些寄存器组成的? 【解】8086的基本程序执行寄存器组成如下: ⑴ 8个通用寄存器:可用于存放操作数和指针。⑵ 4个段寄存器:保存段基值(或段选择子)。⑶ 1个标志寄存器:保存状态位和控制标志位。
⑷ 1个指令指针寄存器:存放下一条要执行的指令的指针。2.13 如何形成指令中的各种条件码?
【解】指令中的条件码,即标志寄存器中的状态标志。它们主要由算术和逻辑运算指令设置或清除。也有设置和清除某些状态标志位的专用指令。
2.16 段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令的物理地址为多少?
【解】指令的物理地址 = 1200H×16 + FF00H = 21F00H 2.17 8086微处理器的执行部件有什么功能?由哪几部分组成?
【解】8086微处理器的执行部件负责指令的执行。它主要由算术逻辑单元、标志寄存器和通用寄存器等部分组成。
第三章习题1 3.11 8086汇编语言指令的寻址方式有哪几类?哪一种寻址方式的指令执行速度最快?
【解】寻址方式分为:立即数寻址、寄存器寻址和存储器寻址方式。其中,寄存器寻址方式的指令执行速度最快。
3.12 在直接寻址方式中,一般只指出操作数的偏移地址,那么段地址如何确定?如果要用某个段寄存器指出段地址,在指令中应该如何表示?
【解】默认的数据访问,操作数在DS段;堆栈操作数在SS段;串操作的源操作数(SI)在DS段,目的操作数(DI)在ES段。如果要显式地指定段地址,则在操作数中规定段寄存器(段超越)。例如:MOV AX,ES:[1000H]
3.13在寄存器间接寻址方式中,如果指令中没有具体指明段寄存器,那么如何确定段地址?
【解】根据所使用的寄存器,隐含地规定了默认的段寄存器。IP:默认CS段;SP、BP:默认SS段;AX、BX、CX、DX、SI、DI:默认DS段。
允许段超越,例如:MOV ES:[BX],AX
第三章习题2 3.1 分别指出下列指令中的源操作数和目的操作数的寻址方式。
(1)MOV SI,300(3)ADD AX,[BX][SI] 【解】(1)SOPD是立即数寻址,DOPD是寄存器寻址。
(3)SOPD是基址加变址寻址,DOPD是寄存器寻址。
3.2 试述指令 MOV AX,2000H 和 MOV AX,DS:[2000H] 的区别。
【解】前一条指令是立即数寻址,即将立即数2000H送至AX;后一条指令是存储器直接寻址,是将存储器DS:[2000H]单元中的内容送至AX。3.4 判断下列指令书写是否正确。
(1)MOV AL,BX(4)MOV 5,AL 【解】(1)不正确,AL与BX数据宽度不同
(4)不正确,立即数不能作为目的操作数。
3.5 设堆栈指针SP的初值为1000H,AX=2000H,BX=3000H,试问:
(1)执行指令 PUSH AX 后,SP的值是多少?
(2)再执行 PUSH BX 及 POP AX 后,SP、AX和BX的值是多少? 【解】(1)SP=0FFEH(2)SP=0FFEH,AX=3000H,BX=3000H 3.8 用两种方法写出从80H端口读入信息的指令,再用两种方法写出从40H端口输出100H的指令。
【解】从80H端口读入信息的两种分法:
(1)IN AL,80H(2)MOV DX,80H IN AL,DX 从40H端口输出100H的两种分法:
(1)MOV AX,100H(2)MOV AX,100H OUT 40H,AX MOV DX,40H OUT DX,AX
第三章习题3 3.23 两种循环移位指令(带CF的和不带CF的)在执行操作时,有什么区别?在编制乘、除法程序时,为什么常用移位指令来代替乘、除法指令?试编写一个程序段,实现将BX中的数乘以10,结果仍放在BX中的操作。【解】两种指令的区别在于是否把标志位的值放入循环中。左移1位相当于乘2,右移1位除2。故左移和右移可实现乘2和除2的幂,且移位指令比乘除指令快得多。BX×10=BX×2+BX×8=BX×2+BX×23 SHL BX,1 MOV AX,BX ;AX=BX×2 SHL BX,1 ;BX×4 SHL BX,1 ;BX×8 ADD BX,AX ;BX=BX×8+BX×2=BX×10
3.25 用串操作指令设计实现如下功能的程序段:首先将100H个数从2170H处转移到1000H处;然后,从中搜索出与AL中字符相等的单元,并将此单元的值换成空格符。【解】
MOV SI,2170H MOV DI,1000H MOV CX,100H CLD REP MOVSB MOV DI,1000H MOV CX,100H
MOV AL,‘*’
NEXT:SCASB JZ N1 LOOP NEXT HLT N1: MOV [DI-1],20H JMP NEXT HLT
3.26 在使用条件转移指令时,特别要注意它们均为相对转移指令,请解释“相对转移”的含义。如果要向较远的地方进行条件转移,那么程序中应该怎样设置? 【解】相对转移即为相对于指令指针的转移。通常,偏移量是8位数,是短转移;要向较远的地方进行条件转移,可以先转到附近,再无条件转向目的地。
3.29 在执行中断返回指令IRET和普通子程序返回指令RET时,具体操作内容有什么不同?
【解】IRET除了弹出中断要返回的地址(CS和IP)外,还要恢复中断前的标志寄存器。
第四章习题1 4.1 在下列程序运行后,给相应的寄存器及存储单元填入运行的结果: MOV AL,10H ;AL=10H MOV CX,1000H ;CX=1000H MOV BX,2000H ;BX=2000H MOV [CX],AL ;(1000H)=10H XCHG CX,BX ;BX=1000H, CX=2000H MOV DH,[BX] ;DH=10H MOV DL,01H ;DL=01H XCHG CX,BX ;BX=2000H, CX=1000H MOV [BX],DL ;(2000H)=01H HLT 【解】AL=10H;BX=2000H;CX=1000H;DX=1001H;
(1000H)=10H;(2000H)=01H
4.4 利用变址寄存器,编写一段程序,把自1000H单元开始的100个数传送到自1070H开始的存储区中。【解】
MOV SI, 1000H MOV DI, 1070H MOV CX, 100 CLD REP MOVSB HLT
4.10 把在题4.7中指定的数据块中的正数传送到自1000H开始的存储区;而把其中的负数传送到自1100H开始的存储区。分别统计正数和负数的个数,分别存入1200H和1201H单元中。【解】
MOV SI, 0500H MOV DI, 1000H MOV BX, 1070H MOV CX, 100 MOV DX, 0 N1: MOV AL, [SI] TEST AL, 8000H ;测试符号位
JNZ N2 MOV [DI], AL INC DL ;正数的个数计数 INC SI INC DI JMP N3 N2:MOV [BX], AL INC DH ;负数的个数计数 INC SI INC BX N3:LOOP N1 MOV [1200H], DX HLT
4.11 自0500H单元开始,有10个无符号数,编写一个程序,求这10个数的和(用8位数运算指令),把和放到050AH及050BH单元中(和用两个字节表示),且高位在050B单元。【解】
MOV BX, 0500H MOV AX, 0 MOV CL, 10 N1: MOV DL, [BX] ADD AL, DL ADC AH, 0 INC BX DEC CL JNZ N1 MOV [050AH], AX HLT
第四章习题2 4.18 在0100H单元和010AH单元开始,存放两个各为10个字节的BCD数(地址最低处放的是最低字节),求它们的和,且把和存入0114H开始的存储单元中。【解】
LEA SI,[0100H] LEA DI, [0114H] CLC MOV CL, 10 N1: MOV AL, [SI] MOV BL, [SI+10] ADC AL, BL DAA MOV [DI], AL INC SI INC DI DEC CL JNZ N1
4.28 若从0200H单元开始有100个数,编写一个程序检查这些数,正数保持不变,负数都取补后送回。【解】
LEA BX, [0200H] MOV CX, 100 CHE: MOV AL, [BX] AND AL,AL JS MINUS INC BX JMP L1 MINUS:NEG AL MOV [BX], AL
INC BX L1: LOOP CHE HLT
4.37 若自0500H单元开始有1000个带符号数,把它们的最小值找出来,并且放在1000H单元中。【解】
LEA BX, [0500H]
MOV AX, [BX] INC BX INC BX MOV CX, 999 AGAIN: CMP AX, [BX] JL NEXT MOV AX, [BX] NEXT: INC BX INC BX
LOOP AGAIN
MOV [1000H], AX
HLT
第五章习题
5.1 总线周期的含义是什么?8086/8088CPU的基本总线周期由几个时钟周期组成?如果一个CPU的时钟频率为8MHz,那么,它的时钟周期是多少?一个基本总线周期是多少?如果主频为5MHz呢?
【解】CPU访问总线(对内存单元或I/O端口读/写一个字节或字)所需的时间称为总线周期。8086/8088CPU的基本总线周期由4个时钟周期组成。
主频为8MHz时,时钟周期为1/8MHz=125ns,一个基本总线周期为500ns; 主频为5MHz时,时钟周期为1/8MHz=200ns,一个基本总线周期为800ns。5.2 在总线周期的T1、T2、T3、T4状态,CPU分别执行什么动作?什么情况下需要插入等待状态Tw?Tw在哪儿插入?怎样插入? 【解】以存储器读为例说明:
T1状态:输出地址、地址锁存、内存和I/O端口访问控制信号等;
T2状态:CPU开始数据传送操作,将地址/数据复用线切换为传输数据状态,由总线控制器发出相应的读写控制信号及数据使能信号;同时将高端地址/状态复用线切换为状态线,输出状态信息,指示具体操作; T3状态:其时钟下降沿采样READY信号,若READY有效,则进入T4状态;若READY无效,则插入等待状态Tw,并在Tw的下降沿继续采样READY信号直到READY有效,转入T4状态;
T4状态:CPU完成数据传输,状态信号变为无操作的过渡状态,结束总线周期。CPU访问慢速的内存或I/O端口时,不能在基本总线周期内完成数据传输,需要插入等待状态Tw,在T3状态对READY信号采样,READY无效时插入Tw。
5.3 8086CPU和8088CPU是怎样解决地址线和数据线的复用问题的?ALE#信号何时处于有效电平
【解】8086/8088CPU利用分时时序信号解决地址线和数据线的复用问题。在总线周期的T1状态在复用线上输出地址信号及地址锁存信号ALE#,供外部电路锁存地址信息;从T2状态开始将复用线切换为数据状态,用于传送数据。
6.4 若要扩充1KB RAM(用2114芯片),规定地址为8000H~83FFH,地址线应该如何连接? 【解】扩充1KB RAM至规定的地址8000H~83FFH,其地址线的低10位地址A9~A0直接连接2114芯片,高6位地址A15~A10置为100000B。
第七章习题
7.1 外部设备为什么要通过接口电路和主机系统连接?
【解】外设这类多,传输信息可能是数字量或模拟量,且传输速度、时序、电平、功率等与CPU不兼容,通常需要接口电路完成两者之间的转换与匹配。
7.5 什么叫端口?通常有哪几类端口?计算机对I/O端口编址时通常采用哪两种方法?在8086/8088系统中,用哪种方法对I/O端口进行编址? 【解】端口是信息输入或输出的通路;通常有数据端口、状态端口和控制端口等。在计算机中用地址来区分不同的端口,采用两种编址方法:存储器对应的(存储器映像方式)和端口寻址的输入输出方式(隔离I/O方式)。8086/8088系统中,采用隔离I/O方式。7.7 CPU和外设之间的数据传输方式有哪几种?实际选择某种传输方式时,主要依据是什么?
【解】CPU与外设之间的数据传送方式主要有三种:查询传送方式、中断传送方式和直接数据通道(DMA)传送方式。具体采用哪种传送方式,主要依据数据传送的速度和数量。外设速度较慢或要求实时处理时,可采用中断传送方式;外设速度与CPU相当时,可采用查询传送方式;要求传送速度块且是批量传送时,采用DMA传送方式。
7.10 查询方式有什么优缺点?中断传送方式为什么能弥补查询传送方式的缺点?
【解】采用查询传送方式,CPU在外设有无数据时都要不断查询状态信息,判断是否可以传送数据,优点是简单、可靠;缺点是效率低、速度慢。中断传送方式只有在外设准备就绪后,需要传送数据时,才发出中断申请,CPU转入中断服务程序实现数据传送,CPU的工作效率高。
7.17 试说明在DMA方式时由内存向外设传输数据的过程。
【解】当CPU响应DMA请求发出HLDA信号后,DMA控制器获得总线控制权,向地址线发内存地址,同时发读写控制信号,把内存读出的数据输出至外设。然后判断是否已经传送完毕。若未完,修改内存地址,重复输出过程,直至输出完成,撤销DMA请求,交还总线控制权给CPU。
第八章习题
8.4 什么叫中断向量?它如何产生?如果1CH的中断处理子程序从5110H:2030H开始,则中断向量表应如何存放?
【解】中断向量就是中断服务程序的入口地址,所有的中断向量存放在内存空间的最低1KB区域(中断向量表);通过CPU执行指令时(软件中断)和响应外部中断时获得的中断类型号,寻址中断向量表获得中断向量。中断类型号为1CH的中断向量表地址=1CH×4=70H,低字存放IP值,高字存放CS值,即:(0070H)=30H,(0071H)=20H,(0072H)=10H,(0073H)=51H。
8.21 8086 CPU有哪几种中断?哪些是硬件中断?哪些是软件中断? 【解】8086 CPU有两类中断:
1、软件中断(内部中断),由指令的执行所引起的(如:除法错、INT指令、INTO指令和单步执行等);
2、硬件中断(外部中断),由外部的事件所引起的(如:非屏蔽中断NMI、可屏蔽中断INTR)。
第九章习题
9.2 计数器/定时器8253有哪几种工作方式?各有何特点?其用途如何? 【解】计数器/定时器8253有以下6种工作方式:
方式0:计数结束中断方式,计数结束时产生一个正跳变的中断请求信号,常用于事件计数功能,且只计数一次;
方式1:硬件可重触发单脉冲方式,触发后可产生一个宽度为n个时钟周期的负脉冲,常用作门控信号;
方式2:速率波发生器方式,产生n次分频的周期信号,且低电平时只有一个时钟周期宽度,可用作一般分频功能;
方式3:方波速率发生器方式,产生n次分频的方波或近似方波的周期信号,可用作一般分频功能,常用于产生波特率时钟信号;
方式4:软件触发选通方式,在门控信号有效时,写入一次计数初值,延迟n个时钟周期产生一个单周期负脉冲,仅一次有效; 方式5:硬件件触发选通方式,在写入计数初值后,门控信号每产生一个上跳沿,延迟n个时钟周期产生一个单周期负脉冲,仅一次有效。
9.4 若已有一频率发生器,其频率为1MHz,若要求通过计数器/定时器8253,产生每秒一次的信号,8253应如何连接?编写出初始化程序。
【解】1MHz信号分频1000000次产生1Hz信号,一个计数通道最大的分频系数为65536,需采用两个通道级联进行分频,每个通道各分频1000次(计数初值1000=03E8H)。采用通道0和通道1级联,均工作在方式2,二进制计数,初始化程序段如下: MOV AL,34H OUT PORT3,AL ;PORT3为控制口地址 MOV AL,0E8H OUT PORT0,AL ;PORT0为通道0端口地址 MOV AL,03H OUT PORT0,AL MOV AL,74H OUT PORT3,AL ;PORT3为控制口地址 MOV AL,0E8H OUT PORT1,AL ;PORT1为通道1端口地址 MOV AL,03H OUT PORT1,AL
第十章习题
10.3 在输入过程和输出过程中,并行接口分别起什么作用?
【解】在输入过程中:并行接口主要起输入数据的缓冲或锁存作用,并产生相应的应答控制信号;在输出过程中:并行接口主要起输出数据的锁存作用,并产生相应的应答控制信号
第十一章习题
11.1为什么串行接口部件中的4个寄存器可以1位地址进行区分?
【解】串行接口部件中有两类端口:控制端口(控制字和状态字)和数据端口,可用1位地址加以区分,而控制端口的控制字输出和状态字输入以及数据端口的发送和接收可用读或写操作控制。
11.6 设异步传输时,每个字符对应1位起始位、7位信息位、1位奇/偶校验位和1位停止位,如果波特率为9600,则每秒钟能传输的最大字符数是多少? 【解】因为每个字符帧的总位数=1+7+1+1=10位,波特率为:9600(位/秒),则最大可传输的字符数为:9600÷10=960(个)
第十二章习题
12.6 A/D转换器接口电路一般完成哪些任务?
【解】A/D转换器接口电路的输入端为模拟信号,通常需要经过采样、保持、量化、编码四个步骤(即四项任务),将输入的模拟量转换成数字量。
第二篇:微机接口复习题
1、指令MOV AX,[BX][SI]中源操作数的寻址方式是()。A、寄存器间接寻址 B、变址寻址 C、相对寻址 D、基址变址寻址 2、8086 CPU内有指示下条指令有效地址的指示器是()。A、IP B、SP C、BP D、SI
3、设串行异步传送的数据格式是7个数据位、1个起始位,1个停止位、1个校验位,波特率为2400,则每秒钟传送的最大字符数为()A、100个 B、120个 C、10个 D、240个
4、若8086 CPU主频为8MHz,则其基本总线周期为(C)。A、200ns B、500ns C、125ns D、250ns 5、8253工作在哪几种方式时,可输出1个时钟周期宽度(1 CLK)的负脉冲(B)。A、方式0,4,5 B、方式2,4,5 C、方式1,2,4 D、方式0,2,4
6.CPU响应INTR和NMI中断时,相同的必要条件是(D)。A、当前总线空闲 B、允许中断
C、当前访问内存结束 D、当前指令执行结束 7、8251A的操作命令字的作用是(D)。
A、决定8251A的数据传送格式 B、决定8251A实际操作
C、决定数据传送方向 D、决定8251A何时收/发数据 8、8086/8088中除()两种寻址方式外,其它各种寻址方式的操作数均在存储器中。A、立即寻址和直接寻址 B、寄存器寻址和直接寻址 C、立即寻址和寄存器寻址 D、立即寻址和间接寻址
9、设8259A当前最高优先级为IR5,若要使下一循环IR2为最低优先级,则OCW2应设为()。A、01100010 B、11100000 C、11000010 D、11100010
10、设置特殊屏蔽方式的目的是(C)。A、屏蔽低级中断 B、响应高级中断 C、响应低级中断 D、响应同级中断
11、设8255A的方式选择控制字为9BH,其含义是(B)。A、A、B、C口全为输出 B、A、B、C口全为输入 C、A、B口为方式0且输出 D、以上都不对 12、8086CPU的地址总线有()位。
A、8 B、16 C、20 D、24
13、执行PUSH AX指令后,堆栈指针SP的内容()。A、减1 B、减2 C、加1 D、加2
14、下列指令中,不影响进位的指令是()。
A、ADD AX,BX B、MUL BL C、INC BX D、SUB AL,BH
15、下列指令语法有错的是()。
A、MOV AX,1000H B、MOV AX,BXC、MOV [AX],[1000H] D、MOV AX,[1000H] 15.8086CPU从I/O端口地址 80H读字节数据应使用指令()A: IN AL, 80H B: IN AX, 80H C: IN 80H, AL D: IN 80H, AX 16.若要使寄存器AL中的高 4 位不变, 低 4 位全为 1 , 使用指令().1 A: AND AL, 0FH B: AND AL, 0F0H C: OR AL, 0FH D: OR AL, 0F0H 17.指令代码的地址存放在寄存器中。
A. DS和SI B.BX和BP C.ES和DI 18.8086CPU可寻址访问的最大I/O空间为。
D.CS和IP(A)1KB(B)64KB(C)640KB(D)1MB 19.8086CPU把1MB空间划分为若干逻辑段,每段最多可含的存储单元。A.1KB B.8KB C.16KB 20.8086CPU中指令指针寄存器(IP)中存放的是。
D.64KB(A)指令(B)指令偏移地址(C)操作数(D)操作数偏移地址 21.8086CPU中的SP寄存器的位数是。(A)8位(B)16位
(C)20位
(D)
24位
22.某数存于内存数据段中,已知该数据段的段基址为2000H,而数据所在单元的偏移地址为0220H,该数据在内存的物理地址为()。
A.02220H B.20220H C.22200H D.04200H 23.8255PA口工作在方式2,PB口工作在方式0时,其PC口()。A、两个4位I/O端口 B、一个8位I/O端口 C、部分作联络线 D、全部作联络线
24.定时与计数器8253的所有工作方式中,能产生周期方波的是方式()。A.2 B.3 C.4 D.5 25.已知BX=2000H,DS=1000H,(12000H)=34H,端口(2000H)=45H,问执行完指令MOV AL,(BX)后AL的内容是()。
A.34H B.45H C.34 D.2000H 26.8259A工作在8086/8088模式时,初始化命令字ICW2用来设置。
A.中断向量地址的高8 位
C.中断向量的高5位 B.中断类型号地址的高5位 D.中断类型号的高5位
27.CPU可以对8253计数器进行读操作,其读到的是()。
A.工作方式字
B.计数初值
C.计数执行部件CE(减一计数单元)的当前值 D.0 28.8255的A口工作在方式1输入时,其中断允许控制位INTE的开/关是通过对的按位置位/复位操作完成的。
A.PC0 B.PC2
C.PC4
D.PC6
29.可编程通信接口芯片8251A()。
A.可用作并行接口 B.仅可用作异步串行接口 D.可用作同步、异步串行接口 C.仅可用作同步串行接口
30.异步串行通信中,收发双方必须保持()。
A.收发时钟相同 B.停止位相同
C.数据格式和波特率相同
D.以上都正确
31.8251A的方式控制字(即模式字)的作用是()。
A.决定8251的数据格式 B.决定8251的数据格式和传送方向 C.决定8251何时收发 D.以上都不对 32.若8255A接口芯片的A口工作在方式2时,B口可以工作在()。A.方式0 B.位控方式 C.方式2 D.方式0或方式1 33.由()引脚的连接方式可以确定8255的端口地址。
A.RD、CSB.WR、A0C.A0、A1D.A0、A1、CS
34.I/O接口电路中,8255控制口可能使用的端口地址只能是(D)。A.00HB.01HC.04HD.07H 1.电子计算机主要由、、、和等五部分组成。2.总线按其功能可分、和三种不同类型的总线。
3.8086/8088系统中,可以有个段起始地址,任意相邻的两个段起始地址相距个存储单元。4.用段基值及偏移量来指明内存单元地址的方式称为。5.用BP作基址变址寻址时,操作数所在的段是当前。6.条件转移指令JNE的条件是ZF=。
7.假设VAR为数据段中已定义的变量,则指令MOV BX,OFFSET VAR中源操作数的寻址方式是。8.CPU响应8259A中断,在引脚上输出个负脉冲,在第个负脉冲期间读入中断类型码。9.数据输入/输出的四种方式是、、和。
10.如果串行传输速率是2400波特,则数据位的时钟周期是秒。
11.设串行异步传送的数据格式是7个数据位、1个停止位、1个校验位,波特率为2400,则每秒钟传送的最大字符数为个。
12.为使传送过程更可靠,在串行异步通信接口中设立了三种出错标志,分别是、和奇偶错。13.串行通信根据其连接方式的不同可分为单工、和等三种。
14.8251A工作于异步方式,收发时钟频率为38.4KHz,波特率为2400。数据格式为7位数据位,1位停止位,偶校验,则8251A的方式字为。
15.8259A共有___个可编程的寄存器,它们分别用于接受CPU送来的______命令字和________命令字。
16.已知(BX)=7830H,CF=1,执行指令:ADC BX,87CFH之后,(BX)=__________,标志位的状态分别为CF=_____,ZF=_____,OF=_____,SF=______。
17.设8086系统中采用单片8259A,其8259A的ICW2=32H,则对应IR5的中断类型号为____________H.18.总线管理器8259占用个端口地址。8255有个8位的端口。8253有种工作方式。
19.某微型计算机测控系统有一DAC0832和一ADC0809芯片,DAC0832的作用为______________,ADC0809的作用为______________。
20.在8086CPU的寄存器组中,在对存储器单元进行间接寻址时,可作为基址寄存器的为、,用于变址寄存器有、;对I/O端口地址进行访问时,用到的间址寄存器为。21.在指令MOV AL,[SI+10H]中,源操作数采用的寻址方式为。
22.已知某内存单元的段地址和偏移地址分别为2010H和0130H,此内存单元的物理地址为___________。
23.已知:DS=1000H,BX=0200H,SI=02H,内存10200H~10205H单元的内容分别为10H,2AH,3CH,46H,59H,6BH。则CPU执行以下指令后:MOV AX,[BX+SI] ;所访问的存储单元的物理地址______________,AX寄存器的内容为______________。
24.8255A端口C按位置位复位控制字的_________位用来指定要置位或复位的端口C1的具体位置。25.8255A端口C按位置位复位控制字中的________位决定对端口C的某一位置位或复位。26.8255A的每个端口的数据寄存器的长度为____位。27.Intel 8255A是一个________________________接口芯片。
28.8255A的端口C按位置位复位控制字的_________位用来指定置位或复位的端口C的具体位置.29.8255A的端口A工作在方式2时,使用端口C的_________作为与CPU和外部设备的联络信号。30.8255A与CPU连接时,地址线一般与CPU的地址总线的_________连接。31.8255A控制字的最高位D7=_________时,表示该控制字为方式控制字。32.8255A的端口A的工作方式是由方式控制字的____位决定。33.8255A的端口B的工作方式由方式控制字的________位决定。
34.8255A的端口C的按位置位复位功能是由控制字中的D7=______来决定的。35.8255A内部具有_____个输入输出接口。
36.8255A的三个端口中只有端口____没有输入锁存功能。37.串行通信线路的工作方式有()、()和()三种。38.在串行通信中,数据的收发可采用()和()两种基
本的工作方式。
39.用异步通信方式传输数据时,起始位为()电平,它的宽度为()位。40.用异步通信方式传输数据时,以()电平作为起始位,以()
电平作为停止位。
41.异步通信方式中的停止位为()电平,宽度可选()种形式。
42.假设用异步通信方式传输数据时,每个字符对应1个起始位、7个数据位、采用偶校验和1个停止位,如果波特率为9600 bps,则每秒钟能传输的最 大字符数为()个。
43.在串行通信的同步通信方式中,面向比特型的数据格式, 每帧数据由()
个部分组成。
44.串行接口芯片8251由()引脚输入串行数据。45.串行接口芯片8251由()引脚输出串行数据。46.可编程串行接口8251设置有()个错误标志。47.8251A的方式选择控制字在()之后写入。
48.在数据通信中,半双工通信在任意一个时刻只能进行()方向的传输,而全双工通信可以同时进行()方向的传输。
第三篇:微机原理与接口技术(第二版)习题答案
第1章
1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同?
解:
把CPU(运算器和控制器)用大规模集成电路技术做在一个芯片上,即为微
处理器。微处理器加上一定数量的存储器和外部设备(或外部设备的接口)构成了
微型计算机。微型计算机与管理、维护计算机硬件以及支持应用的软件相结合就形
成了微型计算机系统。
1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能? 解:
CPU主要由起运算器作用的算术逻辑单元、起控制器作用的指令寄存器、指
令译码器、可编程逻辑阵列和标志寄存器等一些寄存器组成。其主要功能是进行算
术和逻辑运算以及控制计算机按照程序的规定自动运行。
1.3微型计算机采用总线结构有什么优点? 解:
采用总线结构,扩大了数据传送的灵活性、减少了连线。而且总线可以标准
化,易于兼容和工业化生产。
1.4数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用
一套总线或者合用部分总线,那么要靠什么来区分地址和数据? 解:
数据总线是双向的(数据既可以读也可以写),而地址总线是单向的。
8086CPU为了减少芯片的引脚数量,采用数据与地址线复用,既作数据总线也作为
地址总线。它们主要靠信号的时序来区分。通常在读写数据时,总是先输出地址
(指定要读或写数据的单元),过一段时间再读或写数据。
1.8在给定的模型中,写出用累加器的办法实现15×15的程序。
DEC H
JP
NZ,LOOP
HALT
第 2章
作业 答案
2.1 IA-32结构微处理器直至Pentillm4,有哪几种? 解:80386、30486、Pentium、Pentium Pro、PeruiumII、PentiumIII、Pentium4。
2.6IA-32结构微处理器有哪几种操作模式? 解:
IA一32结构支持3种操作模式:保护模式、实地址模式和系统管理模式。操
作模式确定哪些指令和结构特性是可以访问的。
2.8IA-32结构微处理器的地址空间如何形成?
解:
由段寄存器确定的段基地址与各种寻址方式确定的有效地址相加形成了线性地
址。若末启用分页机制,线性地址即为物理地址;若启用分页机制,则它把线性地
址转为物理地址。
2.15 8086微处理器的总线接口部件由哪几部分组成? 解:
8086微处理器中的总线接口单元(BIU)负责CPU与存储器之间的信息传
送。具体地说,BIU既负责从内存的指定部分取出指令,送至指令队列中排队
(8086的指令队列有6个字节,而8088的指令队列只有4个字节);也负责传送执
行指令时所需的操作数。执行单元(EU)负责执行指令规定的操作。
2.16段寄存器CS=120OH,指令指针寄存器IP=FFOOH,此时,指令的物理地址为
多少? 解:
指令的物理地址=12000H+FFOOH=21FOOH
第3章 作 业答案
3.1分别指出下列指令中的源操作数和目的操作数的寻址方式。
(1)MOV SI, 30O
(2)MOV CX, DATA[DI]
(3)ADD AX, [BX][SI]
(4)AND AX, CX
(5)MOV[BP], AX
(6)PUSHF
解:
(l)源操作数为立即寻址,目的操作数为寄存器寻址。
(2)源操作数为变址寄存器加位移量寻址,目的操作数为寄存器寻址。
(3)源操作数为基址加变址寻址,目的操作数为寄存器寻址。
(4)源操作数和目的操作数都为寄存器寻址。
(5)源操作数为寄存器寻址,目的操作数为寄存器间接寻址。
(6)为堆栈操作。
3.2试述指令MOVAX,2000H和MOV AX,DSz[2000H]的区别。
解:前一条指令是立即寻址,即把立即数2000H传送至寄存器AX。后一条指令
是直接寻址,是把数据(DS)段中的地址为200OH单元的内容传送至寄存器AX。
3.3写出以下指令中内存操作数的所在地址。
(1)MOV AL, [BX+10]
(2)MOV [BP+10], AX
(3)INC BYTEPTR[SI十5]
(4)MOV DL, ES:[BX+SI]
(5)MOV BX,[BP+DI+2] 解:
(1)数据段BX+10单元。
(2)堆栈段BP+10单元。
(3)数据段SI+5字节单元。
(4)附加段(ES段)BX+SI单元。
(5)堆栈段BP+DI+2单元。
3.4判断下列指令书写是否正确。
(1)MOV AL, BX
(2)MOV AL, CL
(3)INC [BX]
(4)MOV 5, AL
(5)MOV [BX],[SI]
(6)M0V BL, OF5H
(7)MOV DX, 2000H
(8)POP CS
(9)PUSH CS
解:
(l)不正确,AL与BX数据宽度不同。
(2)正确。
(3)不正确,因为不明确是增量字节还是字。
(4)不正确,立即数不能作为目的操作数。
(5)不正确,因为不明确要传送的是字节还是字。
(6)正确。
(7)正确。
(8)不正确,CS不能作为:pop指令的操作数。
(9)不正确,CS不能作为PUSH指令的操作数。
3.5设堆钱指针SP的初值为1000H,AX=2000H,BX=3000H,试问:
(1)执行指令PUSHAX后SP的值是多少?
(2)再执行PUSHBX及POPAX后,SP、AX和BX的值各是多少?
解:
(1)SP=OFFEH。
(2)SP=OFFEH;AX=3000H,BX=3000H。
3.6要想完成把[3000H]送[2000H]中,用指令:
MOM[200OH],[300OH]
是否正确?如果不正确,应该用什么方法实现?
解:不正确。
正确的方法是:
MOV AL, [300OH]
MOV [2000H],AL
3.7假如想从200中减去AL中的内容,用SUB200,AL是否正确?如果不正确,应该
用什么方法?
解:不正确。
正确的方法是:
MOV BL, 200
SUB BL,AL
3.8试用两种方法写出从8OH端口读入信息的指令。再用两种方法写出从4OH口输
出10OH的指令。
解:
(1)IN AL, 80H
(2)MOV DX,8OH
IN AL, DX
(3)MOV,AL,lOOH
OUT40H,AL
4)MOV AL,10OH
MOV DX,4OH
OUT DX,AL
3.9假如:AL=20H,BL=1OH,当执行CMPAL,BL后,问:
(1)AL、BL中的内容是两个无符号数,比较结果如何?影响哪儿个标志位?
(2)AL、BL中的内容是两个有符号数,结果又如何,影响哪几个标志位?
解:
(l)AL=2OH,BL=1OH,O=0,S=0,Z=0,A=0,P=0,C=0。
(2)因为两个都是符号正数,其结果与(l)相同。
3.10若要使AL×10,有哪几种方法,试编写出各自的程序段?
解:
(1)使用乘法指令:
MOVBL,10
MULBI,(2)使用移位指令:
SHLAL,1
MOVBL,AL
SHLAL,2
ADDAL,BL
(3)使用加法指令:
ADDAL,AL
MOVBL,AL
ADDAL,AL
ADDAL,AL
ADDAL,BL
3.118086汇编语言指令的寻址方式有哪几类?哪种寻址方式的指令执行速度最快?
解:寻址方式分为:立即数寻址方式、寄存器操作数寻址方式和存储器操作数寻
址方式。其中,寄存器操作数寻址方式的指令执行速度最快。
3.12在直接寻址方式中,一般只指出操作数的偏移地址,那么,段地址如何确定?如
果要用某个段寄存器指出段地址,指令中应该如何表示?
解:
默认的数据访问,操作数在DS段;堆栈操作在SS段;串操作源操作数(SI)在DS段, 目的操作数(DI)在ES段;用BP作为指针在SS段。如果要显式地指定段地址,则在操
作数中规定段寄存器。例如:
MOVAX,ES:(BX+10H)
3.13在寄存器间接寻址方式中,如果指令中没有具体指明段寄存器,那么如何确定
段地址?
解:
在寄存器间接寻址方式中,如果指令中没有具体指明段寄存器,段地址是
隐含约定的,也就是隐含地选择段寄存器。如操作类型为指令,则指定代码段寄
存器CS,如操作类型为堆栈操作,则指定堆找段寄存器SS,…,如表3-1中所示。
当需要超越约定时,通常用段替代前缀加冒号“:”来表示段超越,它允许程序设
计者偏离任何约定的段。
例如:
MOV ES:〔BX],AX
这时数据将从寄存器EAX传送至附加段中由EBX寻址的存储单元,而不是传送
到数据段中。
3.14采用寄存器间接寻址方式时,BX、BP、SI、DI分别针对什么情况来使用?这4个
寄存器组合间接寻址时,地址是怎样计算的?请举例说明。
解: 在寄存器间接寻址方式下,BX和BP作为间址寄存器使用,而SI、DI作为
变址寄存器使用。除BP间址默认的段为堆栈段,其他的都默认为数据段。它们
都可以单独使用,或加上偏移量或组合使用。如:
[BX+n]
LBP+n]
[SI+n]
[DI+n]
[BX+SI+n]
[BX+DI+n]
[BP+SI+n]
[BP+DI+n]
3.15设DS=2100H,SS=5200H,BX=1400H,BP=6200H,说明下面两条指令所进行的具体操作:
MOVBYTEPTR[BP],200
MOVWORDPTR[BX],2000
解:前一条指令是把立即数(应是字节)200,传送至堆栈段(BP的默认段〉偏移
量由BP规定的字节单元,地址为:52000H+620OH=58200H
第二条指令是把立即数.2000,传送至数据段(BX的默认段)偏移量由BX规定的字单元,地址为:21000H+1400H=22400H。
3.16使用堆钱操作指令时要注意什么问题?传送指令和交换指令在涉及内存操作数
时应该分别要注意什么问题?
解:使用堆栈指令可以把内存单元作为一个操作数(从内存到内存)。但堆栈
固定在堆栈段且只能由SP指向。且堆栈操作要修改堆核指针。MOV指令不能实
现内存单元间的数据传送。XCHG指令是交换,有一个操作数必须是寄存器。
3.17下面这些指令中哪些是正确的?哪些是错误的?若是错误的,请说明原因。
(1)XCHG CS, AX
(2)MOV[BX], [1000]
(3)XCHGBX, IP
(4)PUSHCS
(5)POP CS
(6)IN BX, DX
(7)MOVBYTE[BX],100O
(8)MOVCS,[1000]
解:
(l)错误,CS不能交换。
(2)错误,MOV指令不能在内存间传送。
(3)错误,IP不能交换。
(4)错误,CS可以作为PUSH指令的操作数。
(5)错误,CS可以作为POP指令的操作数。
(6)错误,IN指令的目的操作数是累加器。
(7)错误,目的操作数是字节单元。
(8〉错误,CS不能作为MOV指令的目的操作数。
3.18 以下是格雷码的编码表,O 0000 0001
0011 0010 0110 0111 0101 0100 1100
请用换码指令和其他指令设计一个程序段,以实现由格雷码向ASCII码的转换。
解:
MOVBX,TABLE
MOVSI,ASCII_TAB
MOVAL,0
MOVCX,10 TRAN:XLATTABLE
MOVDL,AL
ADDDL,30H
MOV[SI],DL
INCAL
LOOPTRAN 3.19使用乘法指令时,特别要注意先判断是用有符号数乘法指令还是用无符号数乘
法指令,这是为什么?
解:因为有符号数和无符号数,其数的乘法是一样的。但结果的符号取决于两
个操作数的符号。
3.20字节扩展指令和字扩展指令一般用在什么场合?举例说明。
解:主要用于字节相除和字相除之前,把被除数扩展为两倍宽度的操作数。
3.21 什么叫BCD码?什么叫组合的BCD码?什么叫非组合的BCD码?8086汇编语言在对
BCD码进行加、减、乘、除运算时,采用什么方法?
解:BCD码为十进制编码的二进制数。组合的BCD数是把两位BCD加在一个字节
中,高位的在高4位。非组合的BCD码是把一位BCD数放在一个字节的低4位,高4位
为0。8086在BCD加、减和乘法运算以后用BCD调整指令把结果调整为正确的BCD
数。在BCD除法之前先用BCD调整指令再做除法.3.22用普通运算指令执行BCD码运算时,为什么要进行十进制调整?具体地讲,在
进行BCD码的加、减、乘、除运算时,程序段的什么位置必须加上十进制调整
指令?
解:因为8086指令把操作数作为二进制数进行二进制运算,要得到正确的BCD结
果,需要进行调整。在加、减、乘法指令之后加上BCD调整指令,而在除法指令
之前先用BCD调整指令再用除法指令。
第4章
作业答案
4.1在下列程序运行后,给相应的寄存器及存储单元填入运行的结果:
MOV AL, 1OH
MOV CX, 100OH
MOV BX, 2000H
MOV [CX],AL
XCHGCX,BX
MOV DH, [BX]
MOV DL, 01H
XCHGCX, BX
MOV [BX],DL
HLT
解:寄存器及存储单元的内容如下:
AL=1OH
BL=OOH
BH=2OH
CL=OOH
CH=1OH
DH=1OH
(10O0H)=lOH
(200OH)=0lH 2.要求同题4.1,程序如下:
MOV AL, 50H
MOV BP, 100OH
MOV BX, 200OH
MOV[BP],AL
MOV DH, 20H
MOV[BX],DH
MOV DL, OlH
MOV DL, [BX]
MOV CX, 300OH
HLT
解:寄存器及存储单元的内容如下:
AL=5OH
BL=OOH
BH=20H
CL=OOH
CH=30H
DL=20H
DH=2OH
BP=100OH
(10OOH)=5OH
(20OOH)=20H
4.3自1000H单元开始有一个100个数的数据块,若要把它传送到自200OH开始的存
储区中去,可以采用以下3种方法实现,试分别编制程序以实现数据块的传送。
(l)不用数据块传送指令
(2)用单个传送的数据块传送指令
(3)用数据块成组传送指令。
解:
(1)
LEA SI, 1OOOH
LEA DI, 200OH
MOV CX, 100
L1: MOV AX, [SI]
MOV[DI],AX
LOOPLl
HLT
(2)
LEASI,100OH
LEADI,2000H
MOVCX,100
CLD
L1: MOVSB
LOOP L1
HLT
(3)
LEASI, 100OH
LEADI, 200OH
MOVCX, 100
CLD
REP MOVSB
HLT
4.4 利用变址寄存器,编写一个程序,把自1000H单元开始的100个数传送到自1070H
开始的存储区中去。
解:
LEASI,100OH
LEADI,1070H
MOVCX,100
CLD
REP MOVSB
HLT
4.5要求同题4.4,源地址为2050H,目的地址为2000H,数据块长度为50.解:
LEASI,205OH
LEADI,200OH
MOVCX,50
CLD
REPMOVSB
HLT
4.6编写一个程序,把自100OH单元开始的100个数传送'至105OH开始的存储区中
(注意:数据区有重叠)。
解:
LEASI, 100OH
LEADI,1050H
ADDSI, 63H
ADDDI, 63H
MOVCX, 100
STD
REPMOVSB
HLT
4.7在自0500H单元开始,存有100个数。要求把它传送到1000H开始的存储区中,但在传送过程中要检查数的值,遇到第一个零就停止传送。
解:
LEA SI, 050OH
LEA DI, 10OOH
MOV CX, 100
N1: MOV AL, [SI]
CMP AL, 0
JZ N2
MOV[DI],AL
INC SI
INC DI
LOOPN1
N2: HLT
4.14若在0500H单元中有一个数
(1)利用加法指令把它乘2,且送回原存储单元(假定X×2后仍为一个字节);
(2)X×4;
(3)X×10(假定X×l0≤255).解:
(1)LEA BX, 050OH
MOV AL, [BX]
ADD AL, AL
MOV[BX],AL
(2)LEA BX, 0500H
MOV AL, [BX]
ADD AL, AL
ADD AL, AL
MOV[BX],AL
(3)LEABX, 050OH
MOVAL, [BX]
ADDAL, AL
MOVDL, AL
ADDAL, AL
ADD AL,AL
ADDAL, DL
MOV[BX],AL
第 5 章
作业答案
5.1 总线周期的含义是什么?8086/8088CPU的基本总线周期由几个时钟组成?如果
一个CPU的时钟频率为8MHz,那么,它的一个时钟周期是多少?一个基本总线周期是多
少?如果主频为5MHz呢?
解:CPLI访问总线(从内存储器或I/0端口读/写字节或字)所需的时间称为总线周期。8086/8088CPU的基本总线周期由4个时钟组成。若CPU的时钟频率为8(5)MHz,时
钟周期为1/8MHz=125(1/5MHz=2O)ns,基本总线周期为4×125(200)ns=500(800)ns
5.2在总线周期的TI、T2、T3、T4状态,CPU分别执行什么动作?什么情况下需要插入
等待状态Tw?Tw在哪儿插入?怎样插入?
解: 下面以存储器读为例进行说明。
在Tl周期:输出地址信号、地址锁存允许信号、内存或I/O端口访问控制信号;
在T2周期:CPIJ开始执行数据传送操作,此时,8086CPU内部的多路开关进行切换,将
地址/数据线AD15~AD0上的地址撤销,切换为数据总线,为读写数据作准
备。8288总线控制器发出数据总线允许信号和数据发送/接收控制信号
DT/R允许数据收发器工作,使数据总线与8086CPU的数据线接通,并控制数
据传送的方向。同样,把地址/状态线A19/S6~A16/S3切换成与总线周期有
关的状态信息,指示若干与周期有关的情况。
在T3周期:开始的时钟下降沿上,8086CPU采样READY线。如果READY信号有效(高电平),则在T3状态结束后进人TA状态。在T4状态开始的时钟下降沿,把数据总线上的数据读入CPU或写到地址选中的单元。在T4状态:结束总线周期。如果访问的是慢速存储器或是外设接口,则应该在Tl状态输出的地址,经过译码选中某个单元或设备后,立即驱动READY信号到低电平。8086CPU在T3状态采样到READY信号无效,就会插入等待周期Tw,在Tw 状态CPU继续采样READY信号;直至其变为有效后再进人T4状态,完成数据传送,结束总线周期。在T4状态,8086CPU完成数据传送,状态信号S2 ~S0。变为无操作的过渡状态。在此期间,8086CPU结束总线周期,恢复各信号线 的初态,准备执行下一个总线周期。
第6章 作 业 答 案
6.1 若有一单板机,具有用8片2114构成的4KBRAM,连线如图创所示。
若以每1KBRAM作为一组,则此4组RAM的基本地址是什么?地址有没有重叠区?每一组的地址范围为多少?
解:RAM的基本地址为:
第一组 OOOOH~03FFH
第二组 4000H~43FFH
第三组 8000H~83FFH
第四组 COOOH~C3FFH
地址有重叠区。每一组的地址范围为OOOH~3FFH(1024个字节)。
6.4若要扩充1KBRAM(用2114片子),规定地址为8000H~83FFH,地址线应该如何
连接?
解:扩充lKBRAM至规定地址8000H~83FFH,其地址线的低10位接芯片,高6位地址
(Al5~A10=100000)产生组选择信号。
第7 章
作 业 答 案
7.1 外部设备为什么要通过接口电路和主机系统相连?
解: 因为外部设备种类繁多,输入信息可能是数字量、模拟量或开关量,而且输
入速度、电平、功率与CPU差距很大。所以,通常要通过接口电路与主机系统
相连。
7.4 CPU和输入输出设备之间传送的信息有哪几类?
解:CPU和输入输出设备之间传送的信息主要有3类。
(l)数据
在微型计算机中,数据通常为8位、16位或32位。
(2)状态信息
在输入时,有输入设备的信息是否准备好;在输出时有输出设备是否有空,若输
出设备正在输出信息,则以忙指示等。
(3)控制信息
例如,控制输入输出设备启动或停止等。
7.9设一个接口的输入端口地址为0100H,状态端口地址为0104H,状态端口中第5位
为1表示输入缓冲区中有一个字节准备好,可以输入。设计具体程序以实现查询式
输入。
解: 查询输入的程序段为:
POLl: IN AL, 0104H
ANDAL,20H
JZ POLl
IN AL, 0100H
第 8 章作 业 答 案
8.1在中断响应过程中,8086CPU向8259A发出的两个RT互信号分别起什么作用?
解:
CPU发出的第一个INTA脉冲告诉外部电路,其提出的中断请求已被响应,应准备将类型号发给CPU,8259A接到了这个INTA脉冲时,把中断的最高优先级
请求置入中断状态寄存器(ISR)中,同时把IRR(中断请求寄存器)中的相应位复
位。CPU发出的第二个INTA脉冲告诉外部电路将中断的类型号放在数据总线
上。
8.28086CPU最多可以有多少个中断类型?按照产生中断的方法分为哪两大类?
解:8086CPU最多可以有256个中断类型。按照产生中断的方法,可以分为内
部中断(软件中断)和外部(硬件中断)中断两大类。
8.9 在编写中断处理子程序时,为什么要在子程序中保护许多寄存器?
解:因为在用户程序运行时,会在寄存器中有中间结果,当在中断服务程序中要
使用这些寄存器前要把这些寄存器的内容推至堆栈保存(称为保护现场)。在从
中断服务程序返回至用户程序时把这些内容从堆找恢复至寄存器中(称为恢复
现场)。
8.12若在一个系统中有5个中断源,其优先权排列为:1、2、3、4、5,它们的中断服
务程序的入口地址分别为:3000H、302OH、3050H、3080H、30AOH。编写一个程序, 当有中断请求CPU响应时,能用查询方式转至申请中断的优先权最高的源的中断服
务程序。
解: 若5个中断源的中断请求放在一中断状态寄存器中,按优先权分别放在状态的7 位(优先权最高)至位3中。查询方法的程序段为:
IN
AL,STATUS
CMP
AL,80H
JNE
N1
JMP
3000H
N1:
IN
AL,STATUS
CMP
AL,40H
JNE
N2
JMP
3020H
N2:
IN
AL,STATUS
CMP
AL,20H
JNE N3
JMP 3050H
N3:
IN
AL,STATUS
CMP AL,10H
JNE N4
JMP 3080H
N4:
IN
AL,STATUS
CMP AL,08H
JNE N5
JMP 30A0H N5:
RET
第9章 作 业 答 案
9.3在某一应用系统中,计数器/定时器8253地址为340H~343H,定时用作分频器(N 为分频系数),定时器2用作外部事件计数器,如何编制初始化程序?
解:
定时器0用作分频器,工作方式2,其初始化程序为:
MOV AL,34H
OUT 343H,AL
MOV AL,N1
OUT 342H,AL
MOV AL,N2
OUT 342H,AL
定时器2用作外部事件计数器,工作在方式0,其初始程序:
MOV AL,0B0H
OUT 343H,AL
MOV AL,N1
OUT 342H,AL
MOV AL,N2
OUT 342H,AL
9.4若已有一频率发生器,其频率为1MHZ,若要示求通过计数器/定时器8253,着重
产生每秒一次的信号,8253应如何连接?编写出初始化程序。
解:
1MHZ的信号要变为每秒一次,则需经过106分频。一个通道的计数为16位最
大为65536。故需要需两个通道级连,则每个通道计数为1000。用通道0和通道1级连,都工作在方式2,初始化程序为:
MOV AL,34H
OUT 343H,AL
MOV AL,0E8H
OUT 342H,AL
MOV AL,03
OUT 342H,AL
MOV AL,74H
OUT 343H,AL
MOV AL,0E8H
OUT 342H,AL
MOV AL,03
OUT 342H,AL
9.9编程将计数器/定时器8253计数器0设置为模式1,计数初值3000H;计数器1设置
为模式2初值为2010H;计数器2设置为模式4初值为4030H;
解:若端口地址为:0F8H~0FBH,初始化程序为:
MOV AL,32H
OUT 0FBH,AL
MOV AL,00H
OUT 0F8H,AL
MOV AL,30H
OUT 0F8H,AL
MOV AL,74H
OUT
0FBH,AL
MOV AL,10H
OUT
0F9H,AL
MOV
AL,20H
OUT
0F9H,AL
MOV
AL,0B8H
OUT
0FBH,AL
MOV
AL,30H
OUT
0FAH,AL
MOV
AL,40H
OUT
0FAH,AL
第10 章 作 业 答 案
10.4可编程并行接口芯片8255A的3个端口在使用时有什么差别?
解:通常端口A或B作为输入输出的数据端口(端口A还可以作为双向数据端口), 而端口C作为控制或状态信息的端口,它在“方式”字的控制下,可以分成两个4位的端
口。每个端口包含一个4位锁存器。它们分别与端口A和B配合使用,可用以作为控制
信号输出,或作为状态信号输入。
10.7 8255A有哪几种基本工作方式?对这些工作方式有什么规定?
解:8255A有3种基本的工作方式:
方式0-----基本输入输出:
方式1-----选通输入输出;
方式2-----双向传送。
10.8设置8255A工作方式,8255A的控制口地址为OOC6H。要求端口A工作在方式1,输
入;端口B工作在方式0,输出;端口C的高4位配合端口A工作;低4位为输入。
解:按要求的方式控制字为:10111001B。编程语句为:
MOVAL,0B9H
OUTOOC6H, AL;
10.9设可编程并行接口芯片8255A的4个端口地址为OOCOH、00C2H、00C4H、OOC6H,要求用置0/置1方式对PC6置1,对PC4置0。
解:对端口C的PC6置1的控制字为: 00001101B,对PC4置O的控制字为:
0000100OB。
程序段为:
MOV AL,DH
OUT OOC6H, AL
MOV AL,08H.OUT00C6H, AL
第四篇:微机原理复习题及答案
一、选择题
1.一般微机中不使用的控制方式是(D)A.程序查询方式
B.中断方式
C.DMA方式
D.通道方式 2.控制器的功能是(C)A.产生时序信号 B.从主存取出指令并完成指令操作译码 C.从主存取出指令,分析指令并产生有关的操作控制信号 D.控制计算机的一切核心功能
3.采用级联方式使用8259中断控制器,可使它的中断源最多扩大到(D)个 A.8 B.16 C.32 D.64 4.Pc机数据总线信号的状态是:(C).A.单向双态 B.单向三态 C.双向三态 D.双向双态 5.地址总线为32位的微机系统中其内存最大容量为(D)A.2000KB B.2048KB C.2048MB D.4096MB 6.CPU中程序计数器(PC)中存放的是(B)A.指令 B.指令地址 C.操作数 D.操作数地址 7.采用条件传送方式时,必须要有(C).A.中断逻辑 B.请求信号 C.状态端口 D.类型号 8.在任何一个总线周期的T1状态,ALE输出(A)A.高电平B.低电平C.高阻态 D.无电流 9.若标志寄存器的奇偶标志位PF置“1”反映操作(C)A.结果是偶数 B.结果是奇数 C.结果中“1”的个数为偶数 D.结果中“1”的个数为奇数 10.在DMA方式下,CPU与总线的关系是(C).A.只能控制数据总线 B.只能控制地址总线 C.成隔离状态 D.成短接状态 11.当使用BP寄存器作基址寻址时,若无指定段替换,则内定在(B)段内寻址。A.程序 B.堆栈 C.数据 D.附加
12.某DRAM芯片,其存储容量为512KX*8位,该芯片的地址线和数据线数目为(D)A.8,512 B.512,8 C.18,8 D.19,8 13.计算机的存储器采用分级存储体系的主要目的是(D)。
A.便于读写数据 B.减小机箱的体积 C.便于系统升级 D.解决存储容量、价格和存取速度之间的矛盾 14.CPU中程序计数器(PC)中存放的是(B)A.指令 B.指令地址 C.操作数 D.操作数地址 15.外设的中断类型码必须通过16位数据总线的(B)传送给8086.A.高8位 B.低8位 C.16位 D.高4位
16.磁盘存储器的数据存取速度与下列哪一组性能参数有关?(B).A.平均等待时间,磁盘旋转速度,数据传输速串 B.平均寻道时间,平均等待时间,数据传输速串 C.数据传输速率,磁盘存储密度,平均等待时间 D.磁盘存储器容量,数据传输速率,平均等持时间 17.8259的OCW1----中断屏蔽字(C)设置.A.在ICW之前 B.只允许一次 C.可允许多次 D.仅屏蔽某中断源时 18.PC机中的硬中断服务程序执行的是:(A)。
A.外部中断请求CPU完成的任务 B.主程序中安排的中断指令 C.主程序中安排的转移指令 D.主程序中安排的调用指令 19.标志寄存器的标志位ZF=1表示运算结果(A)A.为零 B.为负 C.溢出 D.有进位 20.在DMA方式下,CPU与总线的关系是(C).A.只能控制数据总线 B.只能控制地址总线 C.成隔离状态 D.成短接状态 21.存储单元是指(B)
A.存放一个二进制信息位的存储元 B.存放一个机器字的所有存储元集合 C.存放一个字节的所有存储元集合 D.存放两个字节的所有存储元集合 22.提出中断请求的条件是(B).A.外设提出请求 B.外设工作完成和系统允许时
C.外设工作完成和中断标志触发器为“1”时 D.外设需要工作
23.计算机的主存储器容量达到10M时,其地址的表示至少需要使用多少个2进位?(C).A.10位 B.20位 C.30位 D.40位 24.I/O与主机信息的交换采用中断方式的特点是(B)A.CPU与设备串行工作,传送与主程序串行工作 B.Cpu与设备并行工作,传送与主程序串行正作 C.CPU与设备并行工作,传送与主程序并行工作.D.以上都不对
25.当8086/8088访问100H端口时,采用(C)寻址方式.A.直接 B.立即 C.寄存器间接 D.相对 26.Pc机数据总线信号的状态是:(C).A.单向双态 B.单向三态 C.双向三态 D.双向双态 27.某DRAM芯片,其存储容量为512KX*8位,该芯片的地址线和数据线数目为(D)A.8,512 B.512,8 C.18,8 D.19,8 28.下面关于主存储器(也称为内存)的叙述中,不正确的是:(B).A.主存储器向CPU提供要执行的数据,程序段等 B.存储器的读、写操作一次读出或写入一个字节 C.字节是主存储器中信息的基本编址单位
D.从程序设计的角度来看,cacbe(高速缓存)也是主存储器 29.段定义语句以(B)语句结束。
A.END B.ENDS C.ENDP D.ENDM 30.8255A的(C)只能工作在方式0。
A.A端口 B.B端口 C.C端口 D.前三者 31.8253—5是可编程的(A)接口芯片。
A.定时器/计数器 B.并行 C.串行 D.中断控制器 32.存储器是计算机系统的记忆设备,它主要用来(C)
A.存放数据 B.存放程序 C.存放数据和程序 D.存放微程序 33.串行传送的波特率是指单元时间内传送(A)数据的位数。
A.二进制 B.八进制 C.十进制 D.十六进制 34.下面关于主存储器(也称为内存)的叙述中,不正确的是:(B).A.主存储器向CPU提供要执行的数据,程序段等 B.存储器的读、写操作一次读出或写入一个字节 C.字节是主存储器中信息的基本编址单位
D.从程序设计的角度来看,cacbe(高速缓存)也是主存储器
35.某计算机字长32位,存储容量为4MB,若按字编址,它的寻址范围是(A)A.0-1M B.0-4MB C.0-4M D.0-1MB 36.一条指令中目的操作数不允许使用的寻址方式是(B)
A.寄存器寻址 B.立即数寻址 C.变址寻址
D.寄存器间接寻址 37.在8086/8088中,一个最基本的总线周期由4个时钟周期(T状态)组成,在T1状态,CPU在总线发出(C)信息.A.数据 B.状态 C.地址 D.其他
38.采用两只中断的控制器8259A级联后,CPU的可屏蔽硬中断源能扩大到(D)A.64个 B.32个 C.16个 D.15个 39.下列寄存器为8位的寄存器有(D)A.IP B.AX C.BP D.BH 40.地址总线为32位的微机系统中其内存最大容量为(D)A.2000KB B.2048KB C.2048MB D.4096MB 41.8259的OCW1----中断屏蔽字(C)设置.A.在ICW之前 B.只允许一次 C.可允许多次 D.仅屏蔽某中断源时 42.在汇编语言程序设计中,标号和变量的类型属性分别有:(A)。A.BIT、BYTE、WORD、DWORD B.NEAR、FAR C.EAR、FAR 和BYTE、WORD、DWORD D.CODE、DATA、STACK 43.在任何一个总线周期的T1状态,ALE输出(A)A.高电平B.低电平C.高阻态 D.无电流 44.下面哪一个是8088CPU中的代码段寄存器(A)A.CS B.DS C.ES D.SS 45.8086CPU可扩展I/O端口地址的个数最多为(D)A.1K B.4K C.8K D.64K 46.Pc机数据总线信号的状态是:(C).A.单向双态 B.单向三态 C.双向三态 D.双向双态
47.采用级联方式使用8259中断控制器,可使它的中断源最多扩大到(D)个 A.8 B.16 C.32 D.64 48.存储器是计算机系统的记忆设备,它主要用来(C)
A.存放数据 B.存放程序 C.存放数据和程序 D.存放微程序
49.对于一低速外设,在外设准备数据期间希望CPU能做自己的工作,只有当外设准备好数据后才与CPU交换数据。完成这种数据传送最好选用的传送方式是(C)A.无条件传递方式 B.查询传送方式 C.中断传送方式 D.DMA传送方式 50.设8255A的端口地址为80H~ 83H,则端口A的地址为(A)A.80H B.81H C.82H D.83H
二、填空题
1.Intel 8255A是一个_可编程的通用并行输入输出_ 接口芯片。
2.设某容量为4K的RAM芯片的起始地址为2000H(16位地址),则其终止地址为_2FFFH_.3.一个控制系统,当主设备发生异常时,需向CPU告警,请求处理,否则将危及工作人员的生命及设备的安全,此告警线应接到8086CPU的_ NMI__中断请求信号引脚上.4.采用中断查询传送方式时,完成一次传送过程,首先必须通过执行一条_IN__指令,读取外设信息.5.8255A内部具有__3___个输入输出端口。
6.机器指令由操作码和__操作数____两部分组成 7.计算机时钟脉冲的频率称为____主频______.8.可编程接口电路中用来存放控制电路组态的控制字节寄存器称为__控制____寄存器。9.硬件中断可分为__可屏蔽中断,非屏蔽中断__两种。10.16K字节的RAM芯片应有__14____根地址输入端.11.逻辑地址由段基址和_偏移地址___组成。12.8086/8088CPU的数据线和地址线是以___分时_____方式轮流使用的。13.根据功能不同,8086的标志位可分为__状态_____和___控制____标志。
14.8086/8088的中断响应了两个总线周期,从____INTA______引脚输出两个负脉冲.15.在8086CPU系统中,设某中断源的中断类型码为08H,中断向量为0100:1000H,则相应的中断向量存储地址为___20____H.16.CPU通过一个外设接口同外设之间交换的信息包括数据信息,状态信息和__控制信息____.17.Intel 8251A工作在同步方式时,最大波特率为_64kbps____.18.8255A内部具有__3___个输入输出接口。
19.机器指令由 操作码 和操作数两部分组成。20.16K字节的RAM芯片应有__14____根地址输入端.21.用4KX4的RAM芯片组成32K的外扩存储器,共需芯片__16____片.22.8086/8088CPU的数据线和地址线是以___分时______方式轮流使用的。
23.数据总线是双向总线,8位微处理器有8条数据线,16位微处理器有__16___条数据总线.24.8086系统中的BHE信号通常作为__奇____地址存储体的体选信号。当BHE为___低___电平时有效。25.Intel 8251A工作在异步方式时,最大波特率为__19.2kbps_______.26.采用中断查询传送方式时,完成一次传送过程,首先必须通过执行一条____IN____指令,读取外设状态信息.27.8086CPU中断系统有__256____种中断类型码,中断类型码与对应的矢量地址换算公式为__中断类型码×4(n×4)____。
28.计算机时钟脉冲的频率称为__主频________.29.一般外设接口与外设间交换的信息有控制信息、数据信息 和 状态信息。30.压栈指令的源操作数只能是 16 位的操作数。31.主机与外设之间数据传送方式有无条件传送方式、查询传送方式、中断方式 和 DMA方式。32.地址总线通常是_单向___总线,由CPU输出,8位微处理器有16条地址总线,16位微处理器有20条或更多。
33.CPU从主存取出一条指令并执行该指令的时间称为___指令周期______.34.8255A控制字的最高位D7=_____1____时,表示该控制字为方式控制字。35.8255A的三个端口中只有端口__C___没有输入锁存功能。36.用Inter2114组成4K*8bit的RAM要用___8___片.37.输入/输出指令间接寻址必须通过_DX_____寄存器.38.8086/8088CPU内部共有____14______个16位寄存器。
39.8086/8088CPU的数据线和地址线是以__分时____方式轮流使用的。
40.串操作指令规定源串在__数据____段中,用_SI____来寻址源操作数,目的串在__附加数据____段中,用 ___DI___ 来寻址目的操作数。
41.存储器通常由存储矩阵,_地址译码器____,控制部件和三态缓冲器组成.42.CPU总线通常包括地址总线、数据总线和___控制______总线等三组总线。
三、简答题
1.外设向CPU申请中断,但CPU不给以响应,其原因有哪些?(1)CPU处于关中断状态,IF=0;(2)该中断请求已被屏蔽;(3)该中断请求的时间太短,未能保持到指令周期结束;(4)CPU已释放总线,而未收回总线控制权。
2.8255各口设置如下:A组与B组均工作于方式0,A口为数据输入,B口为输出,C口高位部分为输出,低位部分为输入,A口地址设为40H.(1)写出工作方式控制字(2)对8255A初始化
(3)从A口输入数据,将其取反后从B口送出
(1)10010001B 即91H(2)MOV AL,91H;OUT 43H,AL
(3)IN AL,40H;NOT AL;OUT 41H,AL
3.说明程序存储及程序控制的概念。
程序存储:程序是由一条条指令组合而成的,而指令是以二进制代码的形式出现的,把执行一项信息处理任务的程序代码,以字节为单位,按顺序存放在存储器的一段连续的存储区域内,这就是程序存储的概念。
程序控制:计算机工作时,CPU中的控制器部分,按照程序指定的顺序(由码段寄存器CS及指令指针寄存器IP指引),到存放程序代码的内存区域中去取指令代码,在CPU中完成对代码的分析,然后,由CPU的控制器部分依据对指令代码的分析结果,适时地向各个部件发出完成该指令功能的所有控制信号,这就是程序控制的概念
4.已知AH=77H,AL=33H能否说AX=7733H,为什么?SI寄存器可分不SH和SL吗? 能。因为AX是16位的数据寄存器,它可以以字(16位)或以字节(8位)形式访问。不能。因为SI是16位的源变址寄存器,只能以字(16位)为单位使用。
5.一台微型计算机有16根地址线,8根数据线,如果采用字节编址,它可访问的最大存储空间是多少字节?试用十六进制数表示其地址范围.64KB,0000H~FFFFH 6.半导体随机存储器RAM与只读存储器ROM有何区别?它们各有哪几种类型? 随机存储器RAM中的任何存储单元都能随时读写,即存取操作与时间,存储单元物理位置顺序无关,一旦掉电,所存信息丢失。常见类型有静态RAM和动态RAM等。
ROM是一种只读存储器,其内容一经写入,在工作过程中就能只能读出不能重写,即使掉电,信息也不会丢失。常见的类型有掩模ROM,PROM,EPROM,EEPROM等。
7.什麽是引脚的分时复用?请说明8086/8088有哪些分时复用引脚?其要解决的问题是什么?
8086的数据线和地址线是利用复用的,所以常把8086的总线称为多路总线,即某一时刻总线上出现的是地址,另一时刻,总线上出现的是数据。正是这种引脚的分时使用方法才能使8086用40条引脚实现20位地址、16位数据及众多的控制信号和状态信号的传输。8086CPU的分时复用的引脚有:地址/数据复用引脚.作用为一个脚多用,如:AD15~AD0,在总线周期的T1状态,传送地址信息,在其它状态则传送数据信息; 8.说明微机系统的工作实质。
计算机之所以能在没有人直接干预的情况下,自动地完成各种信息处理任务,是因为人们事先为它编制了各种工作程序,计算机的工作过程,就是执行程序的过程。9.常用的存储器片选控制方法有哪几种?它们各有什么优缺点? 常用存储器片选控制方法有3种,分别是线选法,全译码法,局部译码法。线选法的优点是连线简单,缺点是地址空间利用率低;全译码法不浪费地址空间,但需译码电路;局部译码介于前二者之间。当存储容量要求大于系统地址线所能寻址的最大范围,或者几个微处理器需要共享某一存储区域时,则采用扩充寻址法。
10.试说明异步串行通信和同步串行通信的特点.异步特点:在通信的数据流中,字符与字符间的传送是完全异步的,字符内部位与位之间还是基本同步传送。同步特点:数据流中的字符之间和字符内部各位间都同步,显然这种方式对同步要求很严格,收/发双方必须以同一时钟来控制发送与接收。
11.在8086CPU中,已知CS寄存器和IP寄存器的内容分别为如下所示,试确定其物理地址.(1)CS=1000H IP=2000H 12000H(2)CS=2000H IP=00A0H 200A0H(3)CS=1234H IP=0C00H 12F40H
12.8259A可编程中断控制器的主要功能有哪些? 1 单片8259A可管理8级优先权中断源,通过级联可管理64级优先权中断源; 2 对任何一级中断源都可单独进行屏蔽,使该中断请求暂时被挂起,直到取消屏蔽时; 能向CPU提供中断类型码; 具有多种中断优先级管理方式,这些管理方式可能过程序动态的进行变化。13.如果利用中断方式传送数据,则数据是如何传输的?中断机构起什么作用? 利用中断方式传送数据,一般是首先向CPU发出中断请求,CPU响应中断后在中断处理程序中进行数据传输,传输完毕返回。中断机构起控制作用,实时性较强。
14.8086/8088系统中为什麽一定要有地址锁存器,需要锁存哪些信息?
8088/8086系统中,一般数据位是8位,而地址位是16位的话,那么可以这么理解:程序要输出一个地址,就必须先输出高8位,用锁存器锁定后,再输出低8位(或反之),这时才完成一个16位地址的输出。
锁存的信息:逻辑电路:通过控制信号完成对当前输出信号的固定,主要是逻辑状态(0,1)集成功能:是一个可以完成当前总线状态的保存
计算机组原:完成数据的保存,是存储器等功能器件的辅助器件 16.8086中有哪些寄存器可用来指示存储器偏移地址? 可用来指示段内偏移地址的寄存器共有6个:IP、SP、BP、BX、SI、DI.17.8255的功能作用是什么?它有哪些工作方式? 8255是可编程的并行接口芯片,设有三个8位的数据输入/输出端口,拱有三种工作方式:方式0为基本的输入/输出方式;方式1为应答式输入/输出方式;方式2为应答式双向数据传送方式。18.写出中断响应的处理过程.(1)中断请求(2)中断允许(3)保护断电,保护现场(4)中断服务(5)恢复现场,中断返回。19.总线周期的含义是什么?8088/8086基本总线周期由几个时钟周期组成?
总线周期是指CPU从存储器I/O端口存取一个字节所需要的时间。8088/8086基本总线周期由4个时钟周期组成。
23.某程序数据段中存有数据字:1234H和5A6BH,若已知DS=5AA0H,她们的偏移地址分别为245AH和3245H,试画出它们在存储器中的存放情况。24.什麽是I/O接口,什麽是I/O端口?
I/O接口:I/O接口是INPUT/OUTPUT指输入/输出设备接口
I/O端口:CPU和外设进行数据传输时,各类信息在接口中进入不同的寄存器,这些寄存器为I/O端口。
25.虚拟存储器有那些特点?
第一,允许用户用彼内存空间大的多的空间来访问主存。第二,每次访存都要进行虚实地址的转换。
四、1.以下是完成20个字节字符串的传送,并检测是否正确的程序,若正确标志位放00,否则放11。给指定语句加标注。DATSEG SEGMENT DATAX DB ‘ABCD„„RST’ DATAY DB 20 DUP(?)FLAGS DB ? DATSEG ENDS MOV AX, DATSEG;MOV DS, AX MOV ES, AX CLD;MOV SI, OFFSET DATAX;MOV DI, OFFSET DATAY MOV CX, 20;REP MOVSB „„
REPE CMPSB JZ HHH;MOV AL, 11 JMP III HHH: MOV AL, 00 III: MOV FLAGS, AL 2.程序改错(10分)(1)保持STATE单元内容的D4、D3两位为“0”,其余六位不变。
AAA: MOV SI,OFFSET STATE MOV AL,[SI] AND AL,0C0H MOV [SI],AL RET 改正:()
(2)从4000H开始有20H个带符号数,要求统计出负数的个数送MIN单元。
XOR DI,DI
MOV BX,4000H
MOV CX,20H AGAIN:MOV AL,[BX] INC BX
TEST AL,01H
JNZ GOON INC DI GOON: DEC CX JNZ AGAIN MOV MIN,DI
RET 改正:(),()
3.对40个有符号数进行测试,分别把正、负字存放进两段不同单元。完成此程序。
DATA SEGMENT BLOCK DB 43H,56H,0ABH„„ ;共40个字节 PDATA DB 40 DUP(?)NDATA DB 40 DUP(?)DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA, ES:DATA EXP1 PROC FAR START: PUSH DS
MOV AX, 0 PUSH AX
MOV AX , DATA MOV DS, AX MOV ES, AX
LEA SI , BLOCK LEA DI, PDATA LEA BX, NDATA CLD
MOV CX, PDATA-BLOCK GOON: LODSB
TEST AL, 80H JNZ MINUS STOSB
JMP AGAIN MINUS: XCHG BX, DI
STOSB
XCHG BX, DI AGAIN: LOOP GOON RET EXP1 ENDP CODE ENDS END START 4.程序改错
(1)保持STATE单元内容的D4、D3两位为“0”,其余六位不变。AAA: MOV SI,OFFSET STATE
MOV AL,[SI] AND AL,0C0H MOV [SI],AL RET 改正:()
(2)ST1是DS段中的一个4字节字符串,ST2是ES段中的一个4字节字符串,比较其是否相等;相等置FLAG单元为00H,不等置FLAG单元为11H。MOV SI,OFFSET ST1 MOV DI,OFFSET ST2 MOV CX,0004 STD REPNZ CMPSB JZ HHH MOV AL,11 JMP III HHH: MOV AL,00 III: MOV FLAG,AL RET 改正:()()
5.以下是完成20个字节字符串的传送,并检测是否正确的程序,若正确标志位放00,否则放11。完成此程序。DATSEG SEGMENT DATAX DB ‘ABCD„„RST’ DATAY DB 20 DUP(?)FLAGS DB ? DATSEG ENDS MOV AX, DATSEG MOV DS, AX MOV ES , AX CLD MOV SI , OFFSET DATAX MOV DI, OFFSET DATAY MOV CX , 20 REP MOVSB „„
REPE CMPSB JZ HHH MOV AL, 11 JMP III HHH: MOV AL, 00 III: MOV FLAGS , AL 6.程序改错
(1)保持STATE单元内容的D4、D3两位为“0”,其余六位不变。
AAA: MOV SI,OFFSET STATE
MOV AL,[SI] AND AL,0C0H
MOV [SI],AL RET 改正:()
(2)在BUF开始的50个有符号数中(16位),找出最小值存放在MIN单元中。
MOV BX,OFFSET BUF MOV CL,31H
MOV AX,[BX] BBB: INC BX INC BX
CMP AX,[BX]
JNC CCC
MOV AX,[BX] CCC: DEC CX
MOV SI,OFFSET BUF JNZ BBB MOV MIN,AX
RET 改正:(),()
7.用1K×4的2114芯片组成2K×8的存储器系统。
8.用2K×8的2716A存储器芯片组成8K×8的存储器系统。
9.用1K×4的2114芯片构成lK×8的存储器系统。
12.现有8个字节的数据为34H,45H,56H,67H,78H,89H,9AH,ABH,假定它们在存储器中的物理地址为400A5H-400ACH,试求各存储单元的有效地址;若从存储器中读出这些数据,试问要访问几次存储器?
各字节的有效地址分别为0085H,0086H,0087H,0088H,008AH,008BH,008CH 8个总线周期
13.对40个有符号数进行测试,分别把正、负字存放进两段不同单元。给指定语句加标注。
DATA SEGMENT BLOCK DB 43H,56H,0ABH„„ ;共40个字节 PDATA DB 40 DUP(?)NDATA DB 40 DUP(?); DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA, ES:DATA EXP1 PROC FAR START: PUSH DS
MOV AX, 0 PUSH AX
MOV AX, DATA MOV DS, AX MOV ES, AX LEA SI, BLOCK
LEA DI, PDATA ; LEA BX, NDATA CLD
MOV CX, PDATA-BLOCK;
GOON: LODSB
TEST AL, 80H
JNZ MINUS ; STOSB
JMP AGAIN MINUS: XCHG BX, DI ;
STOSB
XCHG BX, DI AGAIN: LOOP GOON
RET EXP1 ENDP CODE ENDS END START 14.程序改错
(1)从4000H开始有20H个带符号数,要求统计出负数的个数送MIN单元。XOR DI,DI
MOV BX,4000H
MOV CX,20H AGAIN:MOV AL,[BX]
INC BX
TEST AL,01H
JNZ GOON INC DI GOON: DEC CX JNZ AGAIN MOV MIN,DI
RET 改正:(),()
(2)ST1是DS段中的一个4字节字符串,ST2是ES段中的一个4字节字符串,比较其是否相等;相等置FLAG单元为00H,不等置FLAG单元为11H。
MOV SI,OFFSET ST1 MOV DI,OFFSET ST2 MOV CX,0004 STD REPNZ CMPSB JZ HHH MOV AL,11 JMP III HHH: MOV AL,00 III: MOV FLAG,AL RET 改正:()()15.画出容量为8K*8的ROM连接图(CPU用8088,EPROM用2716,R0M地址区从4000H开始)
第五篇:微机原理复习题及答案
一、填空题
1.Rfb是运放 电阻,被放在。2.DAC0832内部有 地和 地。3.LE是DAC0832内部寄存器的锁存命令。当其为 时,寄存器输出随 变化。
4.当LE为0时,数据 在寄存器,不再随 上的数据变化而变化。5.在过程控制应用中,有时对控制量的输出要求是 的,在给定值时产生的偏差不改变控制量的,这时可采用单极性输出电路。6.在随动系统中,由偏差所产生的控制量仅 不同,而且控制量 不同,这时要求D/A转换器有双极性输出;7.D/A转换器实现双极性输出,在输出除需要有运算放大器外还应增加
和。
8.若D/A转换器芯片内部有锁存寄存器,微处理器就把D/A芯片当作一个并行;若D/A转换器芯片内部无锁存寄存器,微处理器就把D/A芯片当作一个并行。
9.ADCO809是CMOS的 位 转换器。
10.ADCO809的引脚EOC是 信号,可作为。
二、单项选择题
1.ADC0809启动A/D转换的方式是。
A)高电平B)负电平C)负脉冲 D)正脉冲 2.ADC0809的输出。
A)具有三态缓冲器,但不可控 B)具有可控的三态缓冲器 C)没有三态 缓冲器 D)没有缓冲锁存
3.ADC0809可以用()引线经中断逻辑向CPU申请中断。A)OE B)START C)EOC D)ALE
三、多项选择题
1.DAC0832有()工作方式。
A)单缓冲 B)双缓冲 C)多级缓冲 D)直通
2.ADC0809与微机系统相连接,可采用的数据传输方式有。A)无条件传输 B)查询传输 C)中断传输 D)DMA传输
四、简答题
1、已知某DAC的最小分辨电压VLSB=5mV,满刻度输出电压Vom=10V,试求该电路输入二进制数字量的位数n应是多少?
2、A/D转换器和微机接口中的关键问题有哪些?
3、A/D转换器为什么要进行采样?采样频率应根据什么选定?
4、若ADC输入模拟电压信号的最高频率位20KHz,取样频率的下限是多少?
5、双积分式ADC电路中的计数器是十进制的,最大计数容量N=(1000)10,时钟脉冲频率为5KHz,完成一次转换最长需要多少时间?
6、设被测温度的变化范围为300℃~1000℃,如要求测量误差不超过±1℃,应选用分辨率为多少位的A/D转换器?
7、模-数转换器ADC常用的有双积分式和逐次逼近式,请扼要比较它们的优缺点。在微机控制系统的模拟输入通道中常常应用采样-保持电路,其主要原因是什么?
五、编程应用题
1.设状态端口地址为86H,数据端口的地址为87H,外部输入信息准备好状态标志为D7=1,请用查询方式写出读入外部信息的程序段。2.设状态端口地址为76H,数据端口地址为75H,外部设备是否准备好信息 由D7位传送,D7=0为未准备好(忙),请用查询方式写出CPU向外部传送数据的程序段。3.数据采集系统电路如下图所示。图中A/D转换器为ADCO809,定时器/计数器8233-5的计数器1将5MHz时钟转换成500KHz提供给ADC0809。根据上述电路和说明,以及下面程序的功能要求,在空格中填入相应的指令(必要时可增减空格数)。
MOV DX,3DBH;设置8253一控制字 MOV AL,57H OUT DX,AL(1);设且计数器1计数初值(2)(3);ADCO809模拟通道IN5采样12次,数据存人BUF MOV BX,OFFSETBUF MOV CX,l2(4)LOP:(5)CALL DELAY lS;软件延时一秒(6);数据读入BUF MOV [BX],AL INC BX LOOP LOP
4、已知A/D变换器的引线及其工作时序如下图所示。利用START负脉冲可启动A/D变换器开始变换,启动脉冲后A/D变换器进入忙(BUSY)状态,待变换结束。BUSY变高电平,可从D0~D10取得变换好的数据。试通过8255将此A/D变换器接到8088系统总线上,接口地址8000H-800F可任选,试画出连接线。
答案
一、填空题
1、反馈电阻;芯片内部
2、模拟;数字3、1;输入
4、锁存;数据总线
5、单向;极性
6、大小;异性
7、运放;VREF
8、输出接口;输出外部设备 9、8位;A/D
10、转换结束;中断请求信号
二、单项选择题
1、C
2、B
3、A
三、多项选择题
1、ABD
2、BCD
四、简答题
1、答: 2
2、答: A/D转换器和微机接口时的关键问题主要有6个。① A/D转换器输出和CPU的接口方式,主要有2种连接方式:
一种是A/D芯片输出端直接和系统总线相连;另一种是A/D芯片输出端通过接口电路和总线相连。② A/D转换器的分辨率和微机数据总线的位数匹配:当10位以上的A/D转换器和8位数据总线连接时,由于数据要按字节分时读出,因此从8位数据线上需分2次来读取转换的数据。设计接口时,数据寄存器要增加读写控制逻辑。③ A/D转换的时间和CPU的时间配合问题:要注意A/D转换的启动方式,通常启动信号分为电平控制启动和脉冲启动两种。其中又有不同的极性要求。还要注意转换后信号的处理。④A/D的控制和状态信号。因为A/D转换器的控制和状态信号的类型与特征对接口有很大影响,在设计时必须要注意分析控制和状态信号的使用条件。⑤ 输入模拟电压的连接,特别是多路模拟电压的切换控制。⑥ 接地问题,为了减轻数字信号脉冲对模拟信号的干扰,数字地和模拟地要正确连接。
3、答: 因为被转换的模拟信号在时间上是连续的,瞬时值有无限多个,转换过程需要一定的时间,不可能把每一个瞬时值都一一转换成模拟量。因此对连续变化的模拟量要按一定的规律和周期取出其中的某一瞬时值,这个过程就是将模拟量离散化,称之为采样,采样以后用若干个离散的瞬时值来表示原来的模拟量。
通常为了使A/D输出信号经过D/A还原后能更好地反映输入模拟信号的变化,根据采样定理,采样频率一般要高于或至少等于输入信号中最高频率分量的2倍,就可以使被采样的信号能够代表原始的输入信号。在输入信号频率不是太高的实际应用中,一般取采样频率为最高频率的4~8倍。
4、答:取样频率的下限为20kHZ×2=40 kHZ
5、答:由于双积分式A/D的工作模式是固定时间正向积分、固定斜率反向积分。正向积分与反向积分的切换是由正向积分开始时计数器从0计数到计满后产生的溢出信号控制,较高的反极性的基准电压进入积分器反向积分(因为反向斜率值大于正向斜率值,一般反向积分时间要小于正向积分时间),计数器再次从0开始计数,直至反向积分至0时停止计数,此时的计数值就是对应的输入量的变换数字量。因此完成一次转换的最长时间不大于2倍正向积分时间(即计数器从0到计满时间的2倍)。
6、答:取最大的温度变化范围1000O,最小的温度分辨为1O,这样只要不少于1000等份就可以。因此可选10位A/D转换器,若它的满量程是1000O,最小的温度分辨为
7、答:逐次逼近ADC采用的是二分搜索、反馈比较、逐次逼近的转换原理。其优点是转换速度快,转换精度高;缺点是输入模拟信号变化速度较快时,伟产生较大的非线型误差。
双积分ADC的优点是不需要ADC,能以低成本实现高分文辨率,转换精度高,抗干扰 能力强。缺点是需要二次积,转换速度慢。
当输入模拟信号变化率较大时,逐次逼近式ADC会产生相当大的非线性误差,为改善这种情况,可在ADC前面增加一级采样保持电路。
五、编程应用题
1、答案:START:IN AL,86H
TEST AL,80H
JZ START
IN AL,87H
2、答案:START:IN AL,76H
TEST AL,80H
JZ START
MOV AL,输出的字节
OUT 75H,AL
3、答案:(1)MOV DX,3D9H
(2)MOV AL,10H
(3)OUT DX,AL
(4)MOV DX,3D5H
(5)OUT DX,AL
(6)MOV DX,3D0H
IN AL,DX