微机原理试题库合集
第7套
一、填空题:(每空1分,共20分)
1. 8086CPU内部结构中,BIU是指 总线接口单元 ,EU是指 执行单元 。
2. 如果DS=6100H,则当前数据段的起始地址为__61000H_____,末地址为__70FFFH_____。 3. 串行通信可以分为两种类型,一种叫 同步通信 ,另一种叫 异步通信 。
4. 伪指令中定义字节变量的是___DB________。 5. 随机存储器RAM包括 静态RAM (SRAM) 和 动态RAM (DRAM) 两类。 6. 设(SP)=0100H,(SS)=2000H,执行PUSH BP指令后,栈顶的物理地址是 200FEH 。 7. 位于芯片内部的总线叫 内部总线 , 外部 总线用来连接计算机系统的各个主要部件。 8. (AX)=4F08H,(CF)=0,(CL)=4,则 ROR AX,CL指令执行完后,(AX)= 84F0 H,
(CF)= 1 。 9.ORG 1000H
X DB 12H Y DW X Z DD Y
(DS)=3800H, (BX)=1000H, (SI)=0002H 求下列指令执行完后指定寄存器的内容 MOV AX, [1000H] ; (AX)= 0012 H MOV AX, [BX+SI]; (AX)= 0110 H LEA DX,Y; (DX)= 1001 H 10. 8086CPU是一个16位的微处理器,具有 16 位数据总线, 20 位地址总线,可寻址空间为 1MB 。
二、选择题 (每题1分,共10分)
1. 若AX=65ACH,BX=0B79EH,则 ( A )
A 执行ADD AX,BX指令后,CF=1,OF=1 B 执行SUB AX,BX指令后,SF=1,OF=0 C 执行TEST BX,AX指令后,CF=0,OF=0 D 执行XOR AX,BX指令后,PF=1,IF=0 2. 在PC/XT中,NMI中断的中断向量在中断向量表中的位置 ( C ) A 是由程序指定的 B 是由DOS自动分配的 C 固定在0008H开始的4个字节中 D 固定在中断向量表的表首
3. 可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是 ( D )
第 1 页 共 38 页
A) AX,BX,CX,DX B) DS,ES,CS,SS C) SP,BP,IP,BX D) SI,DI,BP,BX 4. 8086/8088的中断向量表 ( B )
A 存放类型号 B 存放中断处理程序入口地址参数 C 是中断处理程序入口 D 是中断处理程序的返回地址 5. 当8253可编程定时/计数器工作在方式0时,控制信号GATE变为低电平后,对计数器的影响是 ( B )
A 结束本次循环计数,等待下一次计数的开始 B 暂时停止现行计数工作
C 不影响本次计数,即计数器的计数工作不受该信号的影响 D 终止本次计数过程,立即开始新的计数循环 6. 使用8086/8088汇编语言的伪操作命令定义:
VAR DB 2 DUP(1,2,3 DUP(3),2 DUP(1,0)) 则在VAL存储区前十个字节单元的数据是( D ) A)1,2,3,3,2,1,0,1,2,3 B)1,2,3,3,3,3,2,1,0,1 C)2,1,2,3,3,2,1,0,2,1 D)1,2,3,3,3,1,0,1,0,1 7. 若由1K×1位的RAM芯片组成一个容量为8K字(16位)的存储器时,需要该芯片数为( A )。
A) 128片 B) 256片 C) 64片 D) 32片 8. 条件转移指令JE的测试条件是( A )。
A) ZF=1 B) CF=0 C) ZF=0 D) CF=1 9. 8253定时/计数器中,某计数据的最大计数初值是( C )。
A) 65536 B) 7FFFH C) 0000H D) FFFFH 10. 在8086/8088中,在T1状态,CPU往总线发出( C )信号。 A)数据 B)状态 C)地址 D)其它
三、简答题:(每题6分,共24分)
1. EU和BIU各负责什么工作?
EU:负责指令的执行。
BIU:负责与存储器、I/O端口传送数据 (写出两个部分1分,作用各2分)
2. 什么是中断类型码、中断向量、中断向量表?在基于8086/8088的微机系统中,中断类型码和中断向量之间有什么关系?(本题5分)
第 2 页 共 38 页
答:处理机可处理的每种中断的编号为中断类型码。中断向量是指中断处理程序的入口地址,由处理机自动寻址。中断向量表是存放所有类型中断处理程序入口地址的一个默认的内存区域。在8086系统中,中断类型码乘4得到向量表的入口,从此处读出4字节内容即为中断向量。(5分)
2. 在8086中,逻辑地址、偏移地址、物理地址分别指的是什么?具体说明。
答:逻辑地址是在程序中对存储器地址的一种表示方法,由段地址和段内偏移地址两部分组成,如1234H:0088H。偏移地址是指段内某个存储单元相对该段首地址的差值,是一个16位的二进制代码。物理地址是8086芯片引线送出的20位地址码,用来指出一个特定的存储单元。
4. 什么叫波特率?在一个异步通信系统中,如果数据速率为1200波特,数据格式为1个起始位、8个数据位、1个校验位、2个停止位,那么每秒钟能传送多少字节?为什么同步传输比异步传输效率高?
答:波特率是指每秒钟传送的数据位数,用波特作单位。
异步传输要有一位起始位,一个字符共12位,每秒钟可以传送字
1200/12=100(个)。 同步传输不需要起始位和停止位,所以比异步传输效率高。
四、程序分析题:(每题6分,共24分)
1. 执行下面的程序后, DAT1单元的值是 56H 。
DAT1 DB 12H, 34H DAT2 DB 56H, 78H
MOV AX, WORD PTR DAT1 CMP AX, WORD PTR DAT2 JA DONE
MOV BX, WORD PTR DAT2 MOV WORD PTR DAT2, AX MOV WORD PTR DAT1, BX DONE: HLT
2. 若DAT1和DAT2都是内存单元的地址,指出下列程序的功能。
MOV AL,0
LEA SI,DAT1+19
第 3 页 共 38 页
LEA BX,DAT2+19
MOV CX,20 LP:MOV AL,[SI]
MOV [BX],AL DEC SI DEC BX LOOP LP HLT
答:将DAT1开始的20个字节数据移到DAT2开始的存储区。
3. 执行以下程序后,DI的值为 1234H 。
MOV SP,2000H
MOV AX,0F0H MOV SI,1234H MOV DX,5678H PUSH SI POP DI SHL DX,1 TEST AX,DX PUSH DX HLT
4. MOV AX, 80C9H
MOV BX, 5312h MOV SP, 1070H PUSH BX PUSH AX NOT AX POP BX
程序执行后: (AX)= 7F36H (BX)= 80C9H
SS:[106EH]= 5312H (SP)= 106EH
五、综合应用题:(22分)
1. 在以ES:SOC1为起始地址的表中存有字符串。它以Null(00H)作串结束符,在DS:CHAR
第 4 页 共 38 页
中存有关键字。从上述表中查找第一个此关键字的程序段如下。若找到此关键字,寄存器CX中存放该关键字在ES段中的位移量;若串中无此关键字,CX返回-1值。请将该程序段的空格补充完整。(10分)
MOV DI,OFFSET SOC1 MOV CX,0
CPO: CMP ES: ,00H
JNE COUNT MOV BX,CX
MOV DI,OFFSET CHAR MOV AL,[DI]
MOV DI, CLD
SCASB JZ FOUND
MOV CX, RET
FOUND: DI
MOV CX,DI RET
COUNT:INC DI
INC CX ;求字符串中字符个数 JMP CPO
[DI] OFFSET SOC1 REPNE -1或0FFFFH DEC (各2分)
2.设8255A的4个寻址地址号为0060H~0063H,试编写下列各种情况下的初始化程序。(12分)
(1) 将A组和B组设置成方式0,A口、B口为输入,C口为输出。 (2)将A组工作方式设置成方式2,B组为方式1,B口作为输出。 (3)将A口、B口均设置成方式1,均为输入,PC6和PC1为输出。
(4) A口工作在方式1,输入;B口工作在方式0,输出;C口高4位配合A口工作,低4位为输入。
附:8255控制字格式:
D7 D6 D5 D4 D3 D2 D1 D0 第 5 页 共 38 页
D7=1工作方式控制字标志;
D6 D5,A口工作方式选择(00=方式0,01=方式1,1x=方式2); D4,A口输入输出选择(1=输入,0=输出); D3,C口高位选择(1=输入,0=输出);
D2,B口工作方式选择(0=方式0,1=方式1); D1,B口输入输出选择(1=输入,0=输出); D0,C口低位选择(方式0时)(1=输入,0=输出)。
答:每个3分
(1)MOV AL,10010010B OUT 63H,AL
(2)MOV AL,11000100B
OUT 63H,AL (3)MOV AL,10110110B OUT 63H,AL
(4)MOV AL,10110001B OUT 63H,AL
第8套
一、填空题:(每空1分,共20分)
1.通常一条指令包括两个基本部分,即___操作码______和___操作数______。 2.组成错误!未找到引用源。位的存储器,需要错误!未找到引用源。位的存储芯片____64_______片。
3.总线中地址线的功能是__用于指定存储单元和I/O设备接口电路的选择地址_____。 4.Intel 8086/8088地址总线有____20_______条,最大存储容量为____1M_______。 5. D/A转换器的主要功能是将_____数字______量转换为___模拟____量。 6. 8255A的方式2也叫双向传输方式,该方式只适用于端口 A 。
7. 非屏蔽 中断不受中断允许标志位IF的屏蔽。 8. 每当8086的指令队列中有 2 个空字节,总线接口部件就自动把指令取到指令队列中。 9. 在8086中,一个最基本的总线周期由 4 个时钟周期组成,如果8086的主频为5MHz,则基本总线周期时间为 800 ns 。
10. 当8086进行堆栈操作时,CPU会选择 堆栈 段寄存器,再和 堆栈指针SP 或者基址指针BP形成20位堆栈地址。 11. (DX)=0064,(CX)=0105H,则执行指令 SAR DX,CL后,(DX)=__0003___H,CF=__0____。 12. 标志寄存器中共用了____9______个有效位来存放_____状态_______标志和控制标志,其中OF表示__溢出_____标志。
二、选择题 (每题1分,共10分)
1. 8086CPU内部结构按功能分为 ( C ) A EU和加法器 B BIU和寄存器 C EU和BIU
D 寄存器和加法器
第 6 页 共 38 页
2. 计算机存放下一条指令地址的寄存器是( A )
A) 指令指针寄存器 B) 地址寄存器 C) 指令寄存器 D) 堆栈指针寄存器 3. 通常我们将计算机指令的集合称为 ( A )
A) 指令系统 B) 汇编语言 C) 高级语言 D) 仿真语言 4. 在立即数寻址方式中,立即数放在 ( B )
A 数据段 B 代码段 C 堆栈段 D 附加段 5. 某微机有20条地址线,能够直接寻址的地址范围是( D )
A 0001H-FFFFH B 0000H-FFFFH C 00001H-FFFFFH D 00000H-FFFFFH 6. 若8088CPU工作在最小方式,则执行指令MOV DATA,DL时其引脚信号错误!未找到引用源。和错误!未找到引用源。的电平应是 ( D )
A 错误!未找到引用源。为低电平,错误!未找到引用源。为低电平 B 错误!未找到引用源。为低电平,错误!未找到引用源。为高电平
C 错误!未找到引用源。为高电平,错误!未找到引用源。为低电平 D 错误!未找到引用源。为高电平,错误!未找到引用源。为高电平 7. 下列指令中,不属于8086/8088指令的是( C )。
A) INT 10H B) IRET C) RETI D) RET 5 8. 若8086 CPU主频为8MHz,则其基本总线周期为 ( B ) A 200ns B 500ns C 125ns D 250ns 9. 有下列程序段
AGAIN: MOV ES:[DI],AL INC DI LOOP AGAIN
下列指令中( C )可完成与上述程序段相同的功能。 A) REP MOVSB B) REP LODSB C) REP STOSB D) REPE SCASB
10. 使用256KB×4的存储器芯片组成1MB的存储器系统,其地址线至少需要( A )。 A) 20条 B) 16条 C) 24条 D) 12条
三、简答题:(每题6分,共24分)
1.什么情况数据传送要采用DMA方式?DMA方式有什么特点?
答:当CPU与高速的外设进行成快块的数据传送是要采用DMA方式。
DMA方式使外设与内存之间直接进行数据交换,而不通过CPU。DMA方式可扩展为在存储器的两个或两个高速的外设之间进行数据交换。
2. 8259A芯片的主要功能是什么?一片8259A可以管理几级中断源?
8259A芯片的主要功能:用于管理外部中断请求 (3分)
一片8259A可以管理8级中断源 (3分)
3.有两个16位的字31DAH、5E7FH,它们在8086系统存储器中的地址为00130H和00135H,试画出它们的存储器示意图。
地址 内容 第 7 页 共 38 页
00130H 00131H 00132H 00133H 00134H 00135H 00136H 0DAH 31H 7F 5E
4. 比较软件和可编程定时/计数器用于定时的特点。
答:软件定时一般是根据要求设计一个时延子程序,其优点是节省硬件,成本低;缺点是CPU利用率低,且定时间隔不准确; 用可编程定时/计数器实现定时,定时准确且CPU利用率高,另外在需要的时候,可以由CPU程控改变定时间隔而不需要改动硬件电路。
四、程序分析题:(每题6分,共24分)
1. 执行下列程序:
MOV AX,0 MOV BX,1 MOV CX,100
A: ADD AX,BX
INC BX LOOP A
HLT
执行后的结果为(BX)= 101 。
2.
MOV BL, 3BH
XOR AL, AL OR BL, AL
MOV AL, BL AND AL, F2H MOV AH, AL STC
RCR AL, 1
程序执行后 (AX)=__329DH______ (BL)= __3BH_____ CF=__1___ 3.
MOV AX,0 MOV DX, AX L: MOV BL, AL INC DX ADD AL, 1
第 8 页 共 38 页
JNZ L
程序执行后 (BL)= 0FFH (AL)= 00H
(DX)= 0FFH CF= 1
4.下面程序是查找 STRING 中是否有“A”这个字符,如果有则转向YES去执行;
没有则转向NO去执行。请将程序填充完整:
MOV CX,20 ;假设STRING的长度为20 MOV BX,-1 MOV AL“A” NEXT: INC BX CPX AL,STRING[BX] LOOPNE NEXT
JNZ NO YES: ??
??
JNZ EXET NO:??
?? EXET:RET
五、综合应用题:(22分)
1. 设内存中三个互不相等的无符号字数,分别存放在DATA开始的字单元中,完成程序将其
中最小值存入MIN单元。(10分)
DSEG SEGMENT
DATA DW 4321H,7654H,9A00H MIN DW ? DSEG ENDS
SSEG SEGMENT STACK STK DB 20 DUP(0) SSEG ENDS CSEG SEGMENT
ASSUME DS:DSEG,SS:SSEG,CS:CSEG
MAIN:MOV AX, DSEG
MOV DS,AX
LEA SI, MOV AX,[SI] MOV BX, CMP AX,BX
第 9 页 共 38 页
JC MOV AX,BX
NEXT:CMP AX,
JC DONE
MOV AX,
DONE:MOV MIN ,AX
MOV AH,4CH INT 21H
CSEG ENDS
END MAIN
DATA [SI+2] NEXT [SI+4] [SI+4] (各2分)
2. 下图为PC机扬声器系统。由图可知,若要利用8253定时器2产生的方波信号来发声,必须使PB1为1,若已知8255的PB口地址为61H,8253定时器2的端口地址为42H,其控制寄存器端口地址为43H,请填写下列程序的空白处。(12分)
CLK
1.19MHz
8253 GATE2 OUT2 8255 PB1 PB0 & MOV AL,0B6H ;设置定时器2的工作方式3的控制字 ;送往控制寄存器端口 MOV AX,51AH ;设计数初值为51AH
第 10 页 共 38 页
;先送低字节 ;再送高字节
IN AL,61H ;读PB口的状态 MOV AH,AL
;开PB1及GATE2位,其余位不变 OUT 61H,AL ;送到61H端口,扬声器响
MOV AL,AH ;如果要使扬声器停止鸣响,只要恢复61H端口原值,即
取回原值
;送至61H端口
OUT 43H,AL OUT 42H,AL MOV AL,AH OUT 42H,AL OR AL,03H
OUT 61H,AL (各2分)
第9套
一、填空题:(每空1分,共20分)
1. 标志寄存器中,CF表示 进位 标志,PF表示 奇偶 标志。 2. 用8k×1位的存储芯片,组成8k×16位的存储器,需要用 16 片。
3.一片8259A能管理___8____级中断,在基本不增加其它电路的情况下,用2片8259A可构成__15_______级的主从式中断系统。
4. 尽管各种微型机的总线类型和标准有所不同,但大体上都包含3种不同功能的总线,即 数据总线 、 地址总线 和 控制总线 。
5. 在异步通信中,设每个字符对应1个起始位、7个信息位、1个奇/偶校验位和1个停止位,如果波特率为2400,则每秒能传输的最大字符数为 240 。
6. 在某系统中,欲用8255A的一个口来实现输入输出,则应选用 A 口,该口应工作在方式 2 。
7. 动态RAM与静态RAM的主要不同点在于动态RAM需要 刷新 。
8. 在8086系统中,如果要读/写从奇地址开始的一个字,需 2 个总线周期。 9. 8086的中断向量表可以容纳 256 个中断向量,每个中断向量占4个存储单元,其中,前2个单元存放中断处理子程序入口地址的 偏移量 ,后2个单元存放中断处理子程序入口地址的 段地址 。 10. 除法指令DIV的格式中,只有一个源操作数。若其类型属性为字节,则目的操作数在 AX 中;若其类型属性为字,则目的操作数在 DX , AX 中。 11. 在8086系统中,当CPU响应外部中断请求转向中断处理程序前,应将___断点处______的内容依次压入堆栈。
二、选择题 (每题1分,共10分)
第 11 页 共 38 页
1. 指令MOV AX,[BX][SI]的源操作数寻址方式是 ( C )
A) 寄存器间接寻址 B) 直接寻址 C) 基址变址寻址 D) 相对基址变址寻址 2. 有符号数AX除以2的指令是 ( B )
A) SHR AX,1 B) SAR AX,1 C) ROR AX,1 D) RCR AX,1 3. 设 ES=1600H,(BX)=26H,则ES:[BX+10H]单元的物理地址为 ( C ) A) 1626H B) 1960H C) 16036H D) 4C00H 4. 断电后存储的资料不会丢失的存储器是 ( B )
A) RAM B) ROM C) DRAM D) SRAM 5. 下列( A )指令不合法:
A) IN AX,0278H B) RCR DX,CL C) CMPSB D) RET 4
6. 8086/8088系统中,一个栈可使用的最大空间是( B )。 A) 1MB B) 64KB
C) 由SP初值决定 D) 由SS初值决定 7. 8086CPU的内部结构由( D )组成
A) ALU,EU,BIU B) ALU,BIU,地址加法器 C) 寄存器组,ALU D) EU,BIU
8.可编程计数/定时器8253的工作方式有几种 ( D ) A 3 B 4 C 5 D 6 9. 8086CPU经加电复位后,执行第一条指令的地址是( D ) A)FFFFH B)03FFFH C)0FFFFH D)FFFF0H 10. 8086/8088的状态标志有( D )个。
A) 3 B) 4 C) 5 D) 6
三、简答题:(每题6分,共24分)
4. 什么叫中断?请叙述中断向量号(中断类型)、中断向量表和中断服务程序入口地址三者
的关系。
中断——由请求中断的外部设备口向CPU提供中断向量,CPU根据这个向量到向量表
中转换表跳转中查找中断服务程序入口地址,而转入不同的中断处理服务程序入口。(2分)
8088/8086可以处理256种向量中断,对每种中断都指定一个中断向量号代码,从0~255每一种中断向量号代码都可以与一个中断服务程序相对应。(2分) 中断服务程序放在存储区域内,而中断服务程序的入口地址存在内存储器中断向量表内,当CPU处理中断时,就需要指向中断服务程序入口地址,中断向量表是中断 向量号与这相应的中断服务程序入口地址之间的转换表。(1分)
中断向量表占用存储器的最低地址区,因为每个中断向量号要占用4个字节单元。
2.什么是溢出?如何判断?
答:当运算结果超出数值表示范围时,就会得到错误的结果,称为溢出。 可用简单的符号法则来判断是否有溢出 A+B=C 它们的符号分别为:a b c
(1)A>0,B>0 时a=0 b=0, c也应=0。 如c=1则溢出 (2)A<0,B<0 时a=1 b=1, c也应=1。 如c=0则溢出 两异号相加,不会发生溢出.
第 12 页 共 38 页
3.设数据传送的速率是120字符/S,而每一个字包含10个数据位,则传送的波特率为多少?每一位传送时间是多少?
答:传送的波特率为:10位/字符×120字符/s=1200位/s=1200波特 每一位传送时间为:T=1s/1200=0.833ms
4.有一个32位的地址指针907AH:58DCH存放在从016A0H开始的存储器中,试画出它们的存放示意图。
地址 016A0H 016A1H 016A2H 016A3H 内容 0DCH 58H 7AH 90H
四、程序分析题:(每题6分,共24分)
1. 分析下面的程序段,执行后AX的内容为多少?
ARRAY DW 10 DUP(2) XOR AX,AX MOV CX,0AH MOV SI,12H
NEXT: ADD AX,ARRAY[SI] SUB SI,02H LOOP NEXT
AX=14H
2. 分析下面的程序段,执行后AL的内容为多少?
BUF DW 2152H,3416H,5731H,4684H MOV BX,OFFSET BUF MOV AL,3 XLAT
AL=34H
3. 对于下面的数据定义:
A1 DW 20 DUP(?) A2 DB 20 DUP(?) A3 DB ‘987654321’
?
第 13 页 共 38 页
MOV AX,LENGTH A1
MOV BX,LENGTH A2 MOV CX,LENGTH A3
当以上各条指令执行后,相应寄存器的内容为:
(AX)= 20 (BX)= 20 (CX)= 1
4. 以下程序实现的功能是 20H×30H ,结果存放在 AX 中。
START: MOV AL,20H
MOV BL,AL
MOV AL,30H MOV CL,AL MOV AX,0
NEXT: ADD AL,BL
ADC AH,0 DEC CL JNZ NEXT HLT
五、综合应用题:(22分)
1. 一个微机系统中包含以下器件:微处理器8086一片,并行接口8255A一片(设备号:A口—60H,B口—62H,C口—64H,控制口—66H),定时器8253一片(设备号:计数器0—70H,计数器1—72H,计数器2—74H,控制口76H)。现将8255的A口连接一输入设备,工作在0方式。B口连接一输出设备,也工作在0方式,PC4作为输出设备的选通输出端且低电平有效。8253工作于“模式0”,设置计数器0的计数常数为1080H,进行二进制计数。请填充下面程序中的空白项(注意:控制字中可0可1位选0,8255未用端口设成输入方式),(微处理器8086的A1、A2接各芯片的A0、A1)。 (10分) MOV AL,________ ; 8255初始化 OUT ________, AL
MOV AL, 30H ; 8253初始化 OUT ________, AL
MOV AL, ______ ;设8253计数初值 OUT ________, AL MOV AL, _______ ; OUT ________, AL
IN AL,_________ ; 从8255的A口读入数据 PUSH AX
第 14 页 共 38 页
MOV AL,09H ; 用按位置位/复位方式使选通无效 OUT 66H, AL POP AX
OUT ________, AL ; 往B口输出数据
MOV AL, 08H ; 用按位置位/复位方式使选通有效 OUT ________, AL
MOV AL , 09H ; 撤消选通信号 OUT 66H, AL
附:8255控制字格式: D7 D6 D5 D4 D3 D2 D1 D0 D7=1工作方式控制字标志; D6 D5,A口工作方式选择(00=方式0,01=方式1,1x=方式2); D4,A口输入输出选择(1=输入,0=输出); D3,C口高位选择(1=输入,0=输出);
D2,B口工作方式选择(0=方式0,1=方式1); D1,B口输入输出选择(1=输入,0=输出); D0,C口低位选择(方式0时)(1=输入,0=输出)。
答:
91H 66H 76H 80H 70H 10H 70H 60H 62H 66H
2. 分析下列电路原理图,回答问题:
(1)静态RAM 6116的容量为多少? (2)图中连接方式是否存在地址重叠?
(3)要使74LS138输出Y0或Y1有效,E1、E2和E3应分别接什么信号?(电源/地) (4)两片存储器的基本地址分布范围为多少?(12分)
40.(1)2K×8 (2分)
第 15 页 共 38 页
(2)存在地址重叠问题 (4分) (3)E1、E2接地;E3接电源 (2分)
(4)上片:0000H~07FFH;下片:0800H~0FFFH (4分)
第10套
一、填空题:(每空1分,共20分)
1.8086CPU中,堆栈指令是___16_____位数据传送指令。 2. 指令MOV [BP],AX中,源操作数的寻址方式是 寄存器寻址 ,目的操作数的寻址方式是 寄存器间接寻址 。
3. 用16k×8位的存储芯片,组成64k×16位的存储器,需要用 8 片。
4. INTR引脚上来的中断是 可屏蔽 中断,NMI引脚引入的中断是 非屏蔽 中断。 5. DS是指 数据段 寄存器,用来存放当前程序所用数据段的 段基址 。 6. 标志寄存器中,AF表示 辅助进位 标志,ZF表示 零 标志。
7. 8086CPU在设计中提供了两种模式,即小模式和 大 模式,系统中只有一个微处理器的模式称为 小 模式。
8. 对于下面的数据定义,各条MOV指令单独执行后,请填充有关寄存器的内容 TABLE1 DB ?
TABLE2 DW 40 DUP(?) TABLE3 DB ‘ABCD’ ??
MOV AX,TYPE TABLE1; (AX)= 1 MOV BX,TYPE TABLE2; (BX)= 2 MOV CX,LENGTH TABLE2; (CX)= 40 MOV DX,SIZE TABLE2; (DX)= 80
9. 8255A的四个端口号用来区分A端口、 B端口 、 C端口 和 控制口 。 10. 在使用8086间接输入/输出指令时,必须在执行该指令之前将相应的端口地址送 入 DX 寄存器中。
二、选择题 (每题1分,共10分)
1. 0.6875D的二进制为 ( C )
A 0.0111B B 0.1101B C 0.1011B D 0.1111B 2. 一条指令执行完后,CS=1000H,IP=1052H,则下一条指令的地址为 ( B ) A 2025H B 11052H C 01052H D 10520H 3. 8088数据输出为多少位 ( B )
A 4 B 8 C 16 D 32 4. 8086/8088的状态标志有( D )个。
A) 3 B) 4 C) 5 D) 6 5. 若内存每个存储单元为16位,则 ( B )
A 其地址线也为16位 B 其地址线与16无关 C 其地址线与16有关 D 以上均不正确
6. 用2K×4位的RAM芯片组成16K字节的存储器,共需RAM芯片为多少 ( A ) A 16片 B 8片 C 4片 D 32片 7. 8088最多能处理多少个中断 ( B )
第 16 页 共 38 页
A 128 B 256 C 512 D 1024 8. 数字“5”对应的ASCII码为( C )
A. 33H B.34H C.35H D.36H 9.计算机内的“溢出”是指其运算的结果 ( C ) A 为无穷大
B 超出了计算机内存单元所能存储的数值范围
C 超出了该指令所指定的结果单元所能存储的数值范围 D 以上都不对
10. DOS功能调用的功能号是( D )
A 10H B 11H C 13H D 21H
三、简答题:(每题6分,共24分)
1. 8086CPU有哪几种工作模式?怎样实现不同的工作模式?
答:8086CPU有最大工作模式和最小工作模式两种.
由8086的一个引脚MN/MX来实现不同的工作模式。当该引脚接至电源
(+5V),则为最小工作模式;当该引脚接地,则为最大工作模式。
2.并行通信和串行通信的优缺点
答:
① 从距离上看,并行通信适宜短距离的数据传送,而串行通信适宜长距离的数据传送;
② 从速度上看,并行通信比串行通信速度快; ③ 从费用上看,串行通信的费用要低得多。
3.8259A中断控制器的功能是什么?
答:8259A中断控制器可以接受8个中断请求输入并将它们寄存。对8个请求输入进行优先级判断,裁决出最高优先级进行处理,它可以支持多种优先级处理方式。8259A可以对中断请求输入进行屏蔽,阻止对其进行处理。8259A支持多种中断结束方式。8259A与微处理器连接方便,可提供中断请求信号及发送中断类型码。8259A可以进行级连以便形成多于8级输入的中断控制系统。(5分) 4.简述8086CPU的ALE引脚、NMI引脚及INTR引脚的作用。
ALE引脚 为地址锁存信号输出。 NMI引脚 非屏蔽中断请求信号输入 INTR引脚 可屏蔽中断请求信号输入
四、程序分析题:(每题6分,共24分)
1. 分析下面的程序段,执行后AX的内容为多少?
NUM DW ?
NAME DW 10 DUP(?) CNT EQU 10 LEN EQU $-NUM
第 17 页 共 38 页
MOV AX,LEN
AX=18H 或 AX=24
2. 分析下面的程序段,执行后AL的内容为多少?
MOV AX,10 SAL AL,1 MOV BX,AX MOV CL,2 SAL AL,CL ADD AX,BX AX=100
3. 设初值(AX)=4321H,(DX)=8765H,则 MOV CL,04H SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL
OR
DL,BL
上述程序执行后(DX)= ;(AX)= 。
(DX)=7654H,(AX)=3210H (5分)
4. 假如在程序的括号中分别填入指令:
(1) LOOP L20 (2) LOOPNE L20 (3) LOOPE L20
试说明在三种情况下, 当程序执行完后, AX、BX、CX、DX四个寄存器的内容分别是什么?
TITLE EXLOOP.COM CODESG SEGMENT
ASSUME CS:CODESG, DS:CODESG. SS:CODESG ORG 100H BEGIN: MOV AX,01 MOV BX,02 MOV DX,03 MOV CX,04 L20: INC AX ADD BX,AX SHR DX,1 ( ) RET CODESG ENDS
END BEGIN
第 18 页 共 38 页
答:(本题5分)
(1)(AX)= 5 (BX)= 16 (CX)= 0 (DX)= 0 (2)(AX)= 2 (BX)= 4 (CX)= 3 (DX)= 1 (3)(AX)= 3 (BX)= 7 (CX)= 2 (DX)= 0
五、综合应用题:(22分)
1. 如图所示,DAC0832的工作方式为单缓冲方式,当数字量为00-FF时,其输出电压范围为:
0-5V,端口地址为300H,延时子程序DELAY实现1ms延时。阅读下面程序,画出其输出波形并计算D/A转换器各输入数字量分别对应的输出电压。(10分)
程序段如下:
LP: MOV AL,0 MOV CL,4 LOOP1:MOV DX,300H OUT DX,AL ADD AL,50H
CALL DELAY DEC CL JNZ LOOP1 JMP LP
00H对应的输出电压位0V (2分) 50H对应的输出电压位1.57V (2分) A0H对应的输出电压位3.14V (2分) F0H对应的输出电压位4.71V (2分)
(2分)
第 19 页 共 38 页
2. 已知某8088微机系统包括8255,8253两个可编程接口电路。其中8253三个计数器分别工作在不同的方式下,可以为A/D转换器提供可编程的采样频率和采样时间;8255A的PB0可用于检测按键开关的位置,PB7可根据PB0的状态决定是否点亮LED指示灯。设系统所要求有关硬件连线已经全部接好,如图1所示。试完成下列各项要求。
(1) 分别列出8255A,8253各个端口的地址编码,其中片选信号PS2,PS3采用图2中的译码地址。(4分)
(2) 根据图2所示8255A的A口和B口的连接方式,写出接口初始化程序片段。(4分) (3) 设计一个程序片段,使8255A监测PB0的输入状态,当PB0=1时使LED灯亮。(4分)
图1
图2
(1) 8255的口地址码为08H,09H,0AH,0BH,8253的口地址码为0CH,
0DH,0EH,0FH
(2) 8255的初始化程序 MOV AL,10000010B OUT 0BH,AL
(3) 8255检测到当PB0=1时点亮灯的程序片段 IN AL,09H ;读B口状态
K1: TEST 01H ;测试PB0=1否 JZ K1 ;不为1,踏步 MOV AL,00H ;PB0=1,使PA0=0,点亮LED OUT 08H,AL
第 20 页 共 38 页
填空题
在微机的三组总线中, 数据 总线是双向的, 地址 总线是单向的。
1. 从产生中断的方法来分,8086的中断可分为硬件中断和软件中断两大类,其中硬件中断又可分为两类:
可屏蔽中断 、 非屏蔽中断 ,它们分别通过 INTR 、 NMI 这两个引腿引入。 2. 设8086要从I/O端口03C0H中读入一个字节,则应该使用的两条指令是 MOV DX,03C0H 、
IN AL,DX 。
3. 若有伪指令ABC DW 100 DUP(?),则TYPE ABC= 2 ,LENGTH ABC= 100 ,SIZE ABC=
200 。
4. 采用级联方式使用8259中断控制器,可使它的硬中断源最多扩大到 64 个。
5. CPU和内存间传输数据时,CPU才执行总线周期,若在一个总线周期后,不立即进入下一个总线周期,
则系统总线处于 空闲 状态。
6. 若物理地址为2D8C0H,偏移量为B6A0H,则段地址为 2222H 。
7. 为了识别键盘上的闭合键,通常采用两种方法: 行扫描法 、 行反转法 。 8. 十六进制数30A.5H转换为二进制是 1100001010.0101 ,转换为十进制是 778.3125 。 9. 8086/8088CPU中,总线接口部件和执行部件的 并行 工作方式,有力地提高了CPU的工作效率。 10. 假定(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令PUSH AX后,存放数据21H的物理地址是
第 21 页 共 38 页
200FFH 。
11.
8086要求复位信号至少维持 4 个时钟周期的高电平才有效。当复位后,8086将从地址 FFFF0H 开始执行指令。
12. 8086的寻址方式有: 立即数 寻址、 寄存器 寻址、 直接 寻址和 寄存器间接 寻址。 13. CPU和外设之间的数据传送方式有 程序方式 、 中断方式 和 DMA方式 。 14. 1片8259A能管理8级中断,2片8259A能管理 15 级中断。
15. 当8253定时器0的时钟脉冲为1MHZ时,其二进制计数时的最大定时时间为 65.536ms ,这时写
入定时器的初值为 0 。
16. 中断系统可处理 256 个不同的中断,每个中断对应一个 中断 码,硬件中断分为 可屏
蔽 中断和 不可屏蔽 中断。
17. 8253内部的3个计数器可用 6 种不同的工作模式工作,其中 方式3 可作方波发生器
使用,若要求输出完全对称的方波,则需计数值为 偶数 。 18. 19. 20. 21. 22. 23. 24.
主机与外设传送数据时,采用 DMA 方式,CPU的效率最高。
以Intel 8086/8088为CPU的 16 位微型计算机 IBM PC/XT 在技术上获得极大成功,它拥有的用户在计算机世界曾首屈一指,以至于在设计更高档的微型机时,都尽量保持与它兼容。 若有二个数5439H和456AH进行相加,则运算后标志寄存器中的ZF= 0 ,PF= 1 ,AF= 1 ,OF= 1 。
8086在每个总线周期的T3状态开始对 READY 信号进行采样,若其为高电平,则进入T4状态。 设CS=3100H,DS=40FFH,两段的空间均为64K个单元,则两段的重叠区为 16 个单元,两段的段空间之和为 131056 个单元。
8086保护断点时,堆栈的高地址单元存放 段地址 ,低地址单元存放 偏移量 。 对于下面的数据定义,各条MOV指令单独执行后,请填充有关寄存器的内容
TABLE1 DB ?
TABLE2 DW 20 DUP(?) TABLE3 DB ‘ABCD’ ??
MOV AX,TYPE TABLE1; (AX)= 1 MOV BX,TYPE TABLE2; (BX)= 2 MOV CX,LENGTH TABLE2; (CX)= 20 MOV DX,SIZE TABLE2; (DX)= 40 25. 26.
8255A的四个端口号用来区分 A端口 、 B端口 、 C端口 和 控制口 。
在使用8086间接输入/输出指令时,必须在执行该指令之前将相应的端口地址送入 DX 寄存器中。
27. Intel 8086是 16 位的微处理器,Pentium是 32 位的微处理器。
28. 微型计算机由CPU、 存储器 、 输入/输出接口电路 和 系统总线 组成。 29. 8086的标志寄存器共有16位,其中状态标志有 6 个,控制标志有 3 个。
30. 8086系统中,存储器分为奇、偶两个存储体。其中,奇体的数据信号线固定与数据总线的 高 8
位相连,偶体的数据信号线固定与数据总线的 低 8位相连。
31. 如果0段005CH、005DH、005EH、005FH这4个单元的内容分别为12H、34H、56H、78H,则对应于
中断类型号 17H 的中断处理子程序入口地址的段地址为 7856H ,偏移量为 3412H 。
32. 串行通信可以分为两种类型,一种叫 同步通信 ,另一种叫 异步通信 。 33. 8255A的方式2也叫双向传输方式,该方式只适用于端口 A 。 34. 随机存储器RAM包括 静态RAM 和 动态RAM 两类。
35. 设(SP)=0100H,(SS)=2000H,执行PUSH BP指令后,栈顶的物理地址是 200FEH 。
第 22 页 共 38 页
36. 位于芯片内部的总线叫 内部总线 , 外部 总线用来连接计算机系统的各个主要部件。 37. 尽管各种微型机的总线类型和标准有所不同,但大体上都包含3种不同功能的总线,即 数据总
线 、 地址总线 和 控制总线 。
38. 每当8086的指令队列中有 2 个空字节,总线接口部件就自动把指令取到指令队列中。 39. 在8086中,一个最基本的总线周期由 4 个时钟周期组成,如果8086的主频为5MHz,则总线
周期为 800 ns 。
40. 当8086进行堆栈操作时,CPU会选择 堆栈 段寄存器,再和 堆栈指针SP 或者 基址指针
BP 形成20位堆栈地址。
41. SP寄存器中存放的是 堆栈 段有效地址。
42. 在异步通信中,设每个字符对应1个起始位、7个信息位、1个奇/偶校验位和1个停止位,如果波
特率为2400,则每秒能传输的最大字符数为 240 。
43. 在某系统中,欲用8255的一个口来实现两位输入和两位输出,则应选用 A 口,该口应工作在方
式 2 。
44. 动态RAM与静态RAM的主要不同点在于动态RAM需要 刷新 。
45. 在8086系统中,如果要读/写从奇地址开始的一个字,需 2 个总线周期。
46. 8086的中断向量表可以容纳 256 个中断向量,每个中断向量占4个存储单元,其中,前2个
单元存放中断处理子程序入口地址的 偏移量 ,后2个单元存放中断处理子程序入口地址的 段地址 。
47. 除法指令DIV的格式中,只有一个源操作数。若其类型属性为字节,则目的操作数在 AX 中;若
其类型属性为字,则目的操作数在 DX:AX 中。
选择题
1. 在执行0100010010111001B与0100010101101010B的加法运算后,关于标志寄存器中各位的变化的叙
述正确的是____A_____。(设该运算前刚执行了标志寄存器的清零) A) AF=1 B) CF=1 C) SF=0 D) PF=1
———
2.在8086的小模式系统中,M/IO 、RD 和WR 当前信号为1、0、1,表示现在进行的是_____A_______。
A) I/O读 B) I/O写 C) 存储器写 D) 存储器读
3.若用2片6116RAM(2K*8)及2片2732EPROM(4K*8)组成存储器,试问存储器的总容量是___C_______。
A) 8KB B) 10KB C) 12KB D) 6KB 4.动态RAM的特点是______D______。
A) 信息在存储介质中移动 B) 按字结构方式存储
C) 按位结构方式存储 D) 每隔一定时间要进行一次刷新 B) 8255A能实现双向传送功能的工作方式为 C 。 A) 方式0 B)方式1 C)方式2 D)方式3 6. 计算机的内存可采用_____A_______。
A) RAM和ROM B) RAM C) ROM D) 磁盘 7. 下面格式正确的指令是 D 。
A) MOV [BX],1 B) MOV AL,0123H C) MOV ES:PTR[CX],3 D) XLAT
(4) 若寄存器AX,BX,CX,DX的内容分别为11,12,13,14时,依次执行PUSH AX,PUSH BX,POP CX,
POP DX,PUSH CX,PUSH DX,POP AX,POP BX后,则寄存器AX和BX的内容分别为 A 。 A) 11,12 B) 12,13 C)13,14 D)11,14 9. 8255A使用了 D 个端口地址。
A) 1 B) 2 C) 3 D) 4
10. 在8253的6种工作方式中,能够自动重复工作的两种方式是 B 。
第 23 页 共 38 页
A) 方式1,方式2 B) 方式2,方式3 C) 方式2,方式4 D) 方式3,方式5
——
1.BHE信号和A0合起来表示当前在总线上出现的从偶地址单元或端口读一个字节的正确序列为:
____C_____。
————
A) BHE为低电平,A0为低电平 B) BHE为低电平,A0为高电平 ————
C) BHE为高电平,A0为低电平 D) BHE为高电平,A0为高电平 2. PROM存储器的功能是___C_______。
A) 允许读出和写入 B) 只允许读出
C) 允许编程一次和读出 D) 允许编程多次和读出 3. 对于8086,将___A_______信号作为低8位数据的选通信号。
A) AD0 B) AD15 C) AD7 D) AD8
4. 中断现场保存在___D_______。
A) 中断源中 B)软盘或硬盘中 C) 中断向量表中 D)堆栈中
5.下列指令有语法错误的是___C_______。
A) PUSH AX B) ADDC AX,50H C) MOV [SI],[DI] D) JMP WORD PTR[BX+5]
6.设当前SP中为0400H,在执行了PUSH DS, PUSH AX两条指令后,SP中为__D__。 A) 0402H B) 0404H C) 03FEH D) 03FCH 7. 下列部件中,直接通过芯片级总线与CPU相连的是 C 。 A)键盘 B)磁盘驱动器 C)内存 D)显示器 8. CPU执行算术运算指令不会影响的标志位是 D 。
A)溢出标志 B)符号标志 C)零标志 D)方向标志 9. 8255A能实现双向传送功能的工作方式为 C 。
A) 方式0 B) 方式1 C) 方式2 D) 方式3
———
10. 在8086的最小模式系统中,M/IO、RD和WR当前信号为 0、1、0,表示现在进行的是____B________。
A) I/O读 B) I/O写 C) 存储器写 D) 存储器读
1.若由1K×1位的RAM芯片组成一个容量为8K字(16位)的存储器时,需要该芯片数为 B 。
1. 256片 B) 128片 C) 64片 D) 32片
(1)
8086/8088的控制标志有 A 个。 A) 3 B) 4 C) 5 D) 6
3. 下列四条指令都可用来使累加器清‘0’,但其中不能清‘进位’位的是 C 。
A) XOR AL,AL B) AND AL,0 C) MOV AL,0 D)SUB AL,AL 4. 在8086/8088的延长总线周期中,在 C 之后插入Tw。
A)T1 B)T2 C)T3 D)T4
5. 已知中断内型号为0CH,则其中断服务程序入口地址存放在中断矢量表中的地址是 D 。
A) CS:000CH B) 0000:000CH C) CS:0030H D) 0000:0030H
6. 下列四条指令中,有 B 指令需要使用DX寄存器?
MUL BX; DIV BL; IN AX,20H ; OUT 20H,AL
第 24 页 共 38 页
A) 1条 B) 2条 C) 3条 D) 4条
7. SP寄存器中存放的是 A 。
A)堆栈段有效地址 B)代码段有效地址 C)数据段有效地址 D)堆栈段的段地址
8. 中断向量可以提供 C 。
A) 被选中设备的起始地址 B) 传送数据的起始地址 C) 中断服务程序入口地址 D) 主程序的断点地址
9.
在8255A中可以进行按位置位/复位的端口是 C 。
A) 端口A B) 端口B C) 端口C D) 端口D
10. 下面格式不正确的指令是 C 。
A) MOV AX,38 B) MOV SP,38 C) MOV DS,38 D) MOV AL,38
1.采用级联方式使用2片8259中断控制器,可使它的硬中断源最多扩大到 D 。
A) 64个 B) 32个 C) 16个 D) 15个
2. CPU内部的中断允许标志位IF的作用是 A 。
A) 禁止CPU响应可屏蔽中断 B) 禁止中断源向CPU发中断请求 C) 禁止CPU响应DMA操作 D) 禁止CPU响应非屏蔽中断 11. 假设V1和V2是用DW定义的变量,下列指令中正确的是 A 。
A) MOV V1,20H B) MOV V1,V2 C) MOV AL,V1 D) MOV 2000H,V2
12. 已知中断内型号为0BH,则其中断服务程序入口地址存放在中断矢量表中的地址是 D 。
A) CS:000BH B) 0000:000BH C) CS:002CH D) 0000:002CH
13. 在8086/8088中,在T1状态,CPU往总线发出 C 信号。 A)数据 B)状态 C)地址 D)其它 14. 使用8086/8088汇编语言的伪操作命令定义:
VAR DB 2 DUP(1,2,3 DUP(3),2 DUP(1,0)) 则在VAL存储区前十个字节单元的数据是 D A)1,2,3,3,2,1,0,1,2,3 B)1,2,3,3,3,3,2,1,0,1 C)2,1,2,3,3,2,1,0,2,1 D)1,2,3,3,3,1,0,1,0,1
15. 若由1K×1位的RAM芯片组成一个容量为8K字(16位)的存储器时,需要该芯片数为 A 。
A) 128片 B) 256片 C) 64片 D) 32片
16. 当并行接口芯片8255A被设定为方式2时,其工作的I/O口 C 。
A) 仅能作输入口使用 B) 仅能作输出口使用
C) 既能作输入口,也能作输出口使用 D) 仅能作不带控制信号的输入口或输出口使用
17. 8253定时/计数器中,某计数据的最大计数初值是 C 。
A) 65536 B) 7FFFH C) 0000H D) FFFFH
18. 8253初始化时,其计数初值应送入 B 。
第 25 页 共 38 页
A) 控制寄存器端口 B) 相应计数器端口 C) 仅计数器0的端口 D) 公用的计数初值寄存器
1.8086/8088的状态标志有 D 个。
A) 3 B) 4 C) 5 D) 6 2.下列指令中,不属于8086/8088指令的是 C 。
A) INT 10H B) IRET C) RETI D) RET 5 19. 条件转移指令JE的测试条件是 A 。
A) ZF=1 B) CF=0 C) ZF=0 D) CF=1 20. 有下列程序段
AGAIN:MOV ES:[DI],AL INC DI LOOP AGAIN
下列指令中 C 可完成与上述程序段相同的功能。
A) REP MOVSB B) REP LODSB C) REP STOSB D) REPE SCASB
21. 使用256KB×4的存储器芯片组成1MB的存储器系统,其地址线至少需要 A 。
A) 20条 B) 16条 C) 24条 D) 12条
22. 下列 A 指令不合法:
A) IN AX,0278H B) RCR DX,CL C) CMPSB D) RET 4
23. 8086/8088系统中,一个栈可使用的最大空间是 B 。
A) 1MB B) 64KB C) 由SP初值决定 D)由SS初值决定
24. 8086CPU的内部结构由 D 组成
A) ALU,EU,BIU B) ALU,BIU,地址加法器 C) 寄存器组,ALU D) EU,BIU
25. 总线周期为T1、T2、T3、T4,若要增加等待状态TW,它应插在 C 之后
A) T1 B) T2 C) T3 D) T4
26. 8086CPU经加电复位后,执行第一条指令的地址是 D
A)FFFFH B)03FFFH C)0FFFFH D)FFFF0H 简答题 1. 新;
可以通过对动态RAM不断地进行读出和写入,以使泄放的电荷得到补充,来完成刷新。 2.CPU响应INTR可屏蔽中断的条件是什么? 答:1)中断允许触发器IF=1 2)当前现行的指令执行完。 3)没有优先级别更高的中断请求。
3. 在8088/8086中,从物理地址388H开始顺序存放下列三个双字节的数据,651AH, D761H和007BH,请问物理地址388H, 389H, 38AH, 38BH, 38CH和38DH 6个单元中分别是什么数据? 答:
地址 388H 内容 1AH 动态RAM为何要刷新?如何刷新?
答:因为动态RAM是利用电容存储电荷的原理来保存信息的,而电容回逐渐放电,所以动态RAM要刷
第 26 页 共 38 页
389H 38AH 38BH 38CH 38DH
4. 串行接口芯片8251A有哪几种控制字?各种控制字的主要功能是什么?它们的写入为什么要规定次序?
答:8251A的控制字有:方式指令字、命令指令字、状态字。
方式指令字规定了双方通信的方式(同步/异步)及数据格式、传送速率等;命令指令字使8251A处于规定的工作状态,以准备发送或接收数据;状态字被CPU读入后用以控制CPU与8251之间的数据交换。
因8251A的控制字没有特征位,所以必须按次序写入。 1. 使用中断有什么好处? 答: 实现中断好处有三:
(1)同步操作: CPU和外设能同时工作, CPU也可命令多个外设同时工作; (2)实现实时处理:这在计算机用于实时控制时十分重要; (3)进行故障处理。
2.对于8086存储器中的非规则字,为什么要两个总线周期才能读完?
答:第一个总线周期,利用数据总线的高8位从奇地址单元读取数据的低8位,第二个总线周期利
用数据总线的低8位从偶地址单元读取数据的高8位。
3. 用8253通道2产生1000Hz的音频信号,问该通道应工作在什么方式?假定计数器用的时钟频率为2MHz,请写出控制字和计数值(用16进制数表示)。
答:应工作在方式3,即方波发生器方式。 控制字:B6H。
计数值:计数周期为0.5μs,1000Hz音频的周期为1ms,计数值为 1000μs/0.5μs=2000=7D0H。 4. RAM与CPU的接口主要有哪几部分?简述接口时要注意的几个问题?
答:RAM 与CPU的接口主要有三部分:地址线的连接,数据线的连接,控制线的连接。 接口时要注意以下几个问题:
(1) CPU总线的负载能力;
(2) CPU的时序与存储器的存取速度之间的配合; (3) 存储器的地址分配和选片问题; (4) 控制信号的连接。
1. 8086CPU有哪几种组态?怎样实现不同的组态? 答:8086CPU有最大组态和最小组态两种.
由8086的一个引脚MN/MX来实现不同的组态。当该引脚接至电源(+5V),则为最小组态;当该引
脚接地,则为最大组态
2.通信和串行通信的优缺点
答:① 从距离上看,并行通信适宜短距离的数据传送,而串行通信适宜长距离的数据传送;
② 从速度上看,并行通信比串行通信速度快; ③ 从费用上看,串行通信的费用要低得多。
3.如果有几个中断源同时申请中断,系统怎么办?CPU在进入中断响应周期后,要做哪几件事? 答:在多个中断源申请中断时,CPU能根据中断源的优先级别,最先响应优先级别最高的中断源的中
65H 61H D7H 7BH 00H 第 27 页 共 38 页
断申请,处理完毕后再响应级别较低的中断源。
关中断;保留断点;保护现场;给出中断入口;转入相应的中断服务程序;中断服务程序执行完后恢复现场;开中断与返回。
4. 为什么DMA方式的传输速率比中断方式更高?
答:主要有以下几个原因:
① DMA方式实现数据块的传输,而中断方式按字或字节传输;
② DMA方式利用专用的接口电路直接与存储器进行高速传输,而不经过CPU,中断方式要通过CPU
的执行传送指令来完成;
③ DMA方式不必进行保护现场之类的一系列额外操作。 1. 8255A的三个端口在使用时有什么差别?
答:基本输入/输出方式-A口、B口和C口可各自分别设置成输入或输出。)
选通输入/输出方式- A口、B口在进行输入或输出时需C口的一些数位配合控制。 双向传输方式-只有A口可工作在双向方式,且需C口的一些数位配合控制。
2. 8086有哪几种中断方式?它们在中断响应和处理过程中最主要的区别是什么?什么是中断向量?
答:分为软件中断和硬件中断两大类。软件中断是由指令执行所引起的中断,主要有INT中断、除法错中断、溢出中断、单步中断等。硬件中断是外部请求所引起的中断,有两条外部请求输入线.一个是NMI(屏蔽中断),另一个是INTR(可屏蔽中断)。
最主要的区别是获取相应的中断类型码的方式不同。 中断向量:中断服务程序的入口地址。 3.8255A有那几种工作方式?简述各自特点?
答:8255A共有三种工作方式,分别为方式0、方式1和方式2。
方式0是一种基本输入输出的工作方式,只能用于无条件传送和查询传送。 方式1是一种选通输入输出方式,设置专用的中断请求和联络信号线。 方式2的PA口为双向选通输入/输出。
4. 什么叫波特率?在一个异步通信系统中,如果数据速率为1200波特,数据格式为1个起始位、8个数据位、1个校验位、2个停止位,那么每秒钟能传送多少字节?为什么同步传输比异步传输效率高? 答:波特率是指每秒钟传送的数据位数,用波特作单位。
异步传输要有一位起始位,一个字符共12位,每秒钟可以传送字1200/12=100(个)。 同步传输不需要起始位和停止位,所以比异步传输效率高。 1.什么情况数据传送要采用DMA方式?DMA方式有什么特点?
答:当CPU与高速的外设进行成快块的数据传送是要采用DMA方式。
DMA方式使外设与内存之间直接进行数据交换,而不通过CPU。DMA方式可扩展为在存储器的两个或两个高速的外设之间进行数据交换。
2.为什么DMA方式的传输速率比中断方式更高?
答: 主要有以下几个原因:
④ DMA方式实现数据块的传输,而中断方式按字或字节传输;
⑤ DMA方式利用专用的接口电路直接与存储器进行高速传输,而不经过CPU,中断方式要通过CPU
的执行传送指令来完成;
⑥ DMA方式不必进行保护现场之类的一系列额外操作。 3.什么是溢出?如何判断?
答:当运算结果超出数值表示范围时,就会得到错误的结果,称为溢出。 可用简单的符号法则来判断是否有溢出 A+B=C 它们的符号分别为:a b c
(1)A>0,B>0 时a=0 b=0, c也应=0。 如c=1则溢出 (2)A<0,B<0 时a=1 b=1, c也应=1。 如c=0则溢出
第 28 页 共 38 页
两异号相加,不会发生溢出.
4.设数据传送的速率是120字符/S,而每一个字包含10个数据位,则传送的波特率为多少?每一位传送时间是多少?
答:传送的波特率为:10位/字符×120字符/s=1200位/s=1200波特 每一位传送时间为:T=1s/1200=0.833ms 程序分析题
1.当执行以下程序后,其结果为:
(AX)= ① (BX)= ②
(CX)= ③ (DX)= ④ TITLE EXL00P.COM CODE SEGMENT
ASSUME CS: CODE, DS: CODE, SS: CODE ORG 100H
BEGIN: MOV AX, 01 MOV BX, 02 MOV DX, 03 MOV CX, 04 120: INC AX ADD BX, AX SHR DX, 1 LOOPNE 120 RET CODE ENDS END BEGIN
答:①03H ②07H ③02H ④00H
2. 若从NUM开始的存储区存放着ASCII码表示的字符串,指出下列程序的功能。
LEA BX,NUM MOV CX,100
LP:MOV AL,[BX]
SUB AL,30H CMP AL,0AH JC L1 SUB AL,07H
L1:MOV [BX],AL
INC BX LOOP LP HLT
答:NUM开始的100个单元中存放着ASCII码表示的16进制数,将它转换为16进制数送回原单元。 3.当执行以下程序后,AX的值为 。
MOV SP,2000H MOV AX,0F0H MOV SI,1234H
第 29 页 共 38 页
MOV DX,5678H PUSH SI POP DI SHL DX,1 TEST AX,DX PUSH DX HLT 答:0F0H
4. 若STR是字符串的首地址,指出下列程序的功能。
LEA BX,STR MOV CX,30
LP:CMP [BX],‘$’
JNZ NEXT MOV [BX],‘&’
NEXT:INC BX
LOOP LP HLT
答:程序功能:将字符串STR(长度20字节)中所有的‘$’用‘&’代替。 1.执行下列指令后:
STR1 DW ’AB’ ;字符A的ASCII码值为41H STR2 DB 16 DUP(?) CNT EQU $-STR1 MOV CX, CNT MOV AX, STR1 HLT
寄存器CL的值是 12H 。
寄存器AX的值是 4142H 。
2.对于下面的数据定义,各条MOV指令单独执行后,请填充有关寄存器的内容:
TABLE1 DB ?
TABLE2 DW 20 DUP(?)
TABLE3 DB ‘ABCD’
MOV AX,TYPE TABLE1 (AX)= ① MOV BX,TYPE TABLE2 (BX)= ② MOV CX,LENGTH TABLE2 (CX)= ③ MOV DX,SIZE TABLE2 (DX)= ④ MOV SI,LENGTH TABLE3 (SX)= ⑤
答: ① 1 ② 2 ③ 20 ④ 40 ⑤ 1 3. 以下程序执行后,填写正确结果。
10A3H:2000H XOR AL,AL
2002H MOV AX,CS 2004H MOV SS,AX 2006H MOV SP,2F00H 2009H MOV DX,2012H 200CH PUSH DX
第 30 页 共 38 页
200DH CALL 2700H 2010H ADD CX,DX 2012H HLT
10A3H:2700H POP CX RET
(AX)= ① (SP)= ② (DX)= ③ (CX)= ④ ZF= ⑤
答:① 10AH ② 2F00H ③ 2012H ④ 2010H ⑤ 1 4.以下程序实现的功能是 20H×30H ,结果存放在 AX 中。
START: MOV AL, 20H MOV BL,AL MOV AL, 30H MOV CL, AL MOV AX, 0 NEXT: ADD AL, BL ADC AH, 0 DEC CL JNZ NEXT HLT
1.执行下面的程序后, DAT1单元的值是 56H 。
DAT1 DB 12H, 34H DAT2 DB 56H, 78H
MOV AX, WORD PTR DAT1 CMP AX, WORD PTR DAT2 JA DONE
MOV BX, WORD PTR DAT2 MOV WORD PTR DAT2, AX MOV WORD PTR DAT1, BX DONE: HLT
2.为了使下面的程序段能用来把DL中的二进制代码从高位到低位依次转换为ASCII码并存入DI设定的内存数据区,请在以下程序中的NEXT处填写正确的指令。
MOV CX,8
NEXT: ROL DL,1
MOV AL,DL AND AL,1 ADD AL,30H MOV [DI],AL INC DI LOOP NEXT
3. 以下程序执行后,其正确结果为:(AL)= 69H 。
MOV AX,1234H MOV BX,5678H ADD AL,BL
第 31 页 共 38 页
DAA MOV CL,AL MOV AL,AH ADC AL,BH DAA
4.执行以下程序后,DI的值为 1234H 。
MOV SP,2000H MOV AX,0F0H MOV SI,1234H MOV DX,5678H PUSH SI POP DI SHL DX,1 TEST AX,DX PUSH DX HLT
1.现有(DS)=2000H, (BX)=0100H, (SI)=0002H, (20100)=12H, (20101)=34H, (20102)=56H, (20103)=78H, (21200)=2AH, (21201)=4CH, (21202)=B7H, (21203)=65H, 下列指令执行后填入AX寄存器的内容: MOV AX, 1200H ; (AX)= ①
MOV AX,BX ; (AX)= ② MOV AX, [BX] ; (AX)= ④ MOV AX, 1100[BX] ; (AX)= ⑤ MOV AX, [BX][SI] ; (AX)= ⑥ MOV AX, 1100[BX][SI] ; (AX)= ⑦
⑤4C2AH ⑥77856H ⑦65B7H
2.执行以下程序后,DH内容在堆栈中的偏移地址是 1FFFH 。
MOV SP,2000H MOV AX,0F0H MOV SI,1234H MOV DX,5678H PUSH SI POP DI SHL DX,1 TEST AX,DX PUSH DX HLT
3. 若DAT1和DAT2都是内存单元的地址,指出下列程序的功能。
MOV AL,0 LEA SI,DAT1+19 LEA BX,DAT2+19 MOV CX,20 LP:MOV AL,[SI]
MOV AX,[1200H] ; (AX)= ③
答:①1200H ②0100H ③4C2AH ④3412H
第 32 页 共 38 页
MOV [BX],AL DEC SI DEC BX LOOP LP HLT
答:将DAT1开始的20个字节数据移到DAT2开始的存储区。 4. 执行以下程序后,DI的值为 1234H 。
MOV SP,2000H MOV AX,0F0H MOV SI,1234H MOV DX,5678H PUSH SI POP DI SHL DX,1 TEST AX,DX PUSH DX HLT
1.下面程序是查找 STRING 中是否有“A”这个字符,如果有则转向YES去执行;没有则转向NO去执行。
请将程序填充完整:
MOV CX,20 ;假设STRING的长度为20 MOV BX,-1 MOV AL“A” NEXT: INC BX
CPX AL,STRING[BX]
LOOPNE NEXT JNZ NO YES: ??
??
JNZ EXET
NO:??
?? EXET:RET 2. 执行下列程序:
MOV AX,0 MOV BX,1 MOV CX,100
A: ADD AX,BX
INC BX LOOP A HLT
执行后的结果为(BX)= 101 。
3. 对于下面的数据定义:
A1 DW 20 DUP(?) A2 DB 20 DUP(?)
第 33 页 共 38 页
A3 DB ‘987654321’
?
MOV AX,LENGTH A1 MOV AX,LENGTH A2 MOV AX,LENGTH A3
当以上各条指令执行后,相应寄存器的内容为:
(AX)= 20 (BX)= 20 (CX)= 10
4. 以下程序实现的功能是 20H×30H ,结果存放在 AX 中。
START: IN AL,20H
MOV BL,AL IN AL,30H MOV CL,AL MOV AX,0
NEXT: ADD AL,BL
ADC AH,0 DEC CL JNZ NEXT HLT
综合应用题
1.用三八译码器(74LS138)设计一个外设端口译码器,使CPU能寻址四个地址范围:①0280~0287H,②0288~028FH,③0290~0297H,④0298~029FH。
答:分析,从四段地址的低位来看,显然地址的低3位作为地址低位,不参与到译码电路中,而四段地址范围为1010000XXX~1010001XXX~1010010XXX~1010011XXX,显然我们可以将A5 A4 A3作为74LS138的输入,这样得到的电路是:8255A的控制字格式与各位的功能如图7-11所示。
D6 D5 D4 D3 D2 D1 D0 D7 第 34 页 共 38 页
=1 控制字标志 A组工作方式
00 -- 方式0 A口控制 01 -- 方式1 1 -- 输入 C口低4位 1 -- 输入 0 -- 输出 B口控制
1x -- 方式2 0 -- 输出 1 -- 输入 C口高4位控制 B组工作方式 0 -- 输出 1 -- 输入 0 -- 方式0 0 -- 输出 1 -- 方式1
图7-11 8255A的控制字格式
1. 一个8255芯片的A口和B口分别与8个LED灯和8个开关连接好,通过开关控制LED等的开和闭。8255的端口地址为40, 42, 44和46H。电路连接图如下图所示,编写8255初始化程序和控制程序。
U?AD0AD1AD2AD3AD4AD5AD6AD7IOR#IOW#A1A2343332313029282753698356D0D1D2D3D4D5D6D7RDWRA0A1RESETCSPA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7PC0PC1PC2PC3PC4PC5PC6PC782558255 43214039383718192021222324251415161713121110U?A5A6A7123ABCY0Y1Y2Y3Y4Y5Y6Y715141312111097U?A0NOTA8A9456E1E2E374ALS138VCC
答:初始化程序如下: MOV AL, 10000010B OUT 46H, AL
;控制程序如下:(开关闭合LED亮,否则LED灭
第 35 页 共 38 页
IN
AL, 42H
;按位取反
NOT AL
OUT 40H, AL
1.假定CPU与4组存储器之间的连接如下图所示,试回答如下问题:
(1)采用了何种扩展方法? (2)总的存储容量是多少?
(3)地址分配情况如何?
答:
(1) 采用了部分译码法 (2) 总的存储容量为4K (3) 地址范围分别为:
2000H-23FFH 3400H-37FFH
A000H-A3FFH FC00H-FFFFH
第 36 页 共 38 页
1.8255用作查询式打印接口时的电路连接和打印机各信号的时序如下图,8255的端口地址为80H~83H,工作在方式0,试编一程序段,将数据区中变量DATA的8位数据送打印机打印,程序以RET指令结束。
答: MOV AL,81H
OUT 83H,AL MOV AL,0BH OUT 83H,AL LP: IN AL,82H
AND AL,08H JNZ LP MOV AL,[DATA] OUT 80H,AL MOV AL,0AH OUT 83H,AL MOV AL,0BH OUT 83H,AL
1.在某8086系统中,设某片8253芯片的应用电路如下图,三个计数通道分别设置为:通道0―方式2,计数初值为1000;通道1―方式1,计数初值为500;通道2―方式3,计数初值为2000。外接时钟CLK为2.5MHz。试计算在开关K打到+5V后,OUT脉冲的重复周期和波形的持续时间,并写初始化程序。(设 8253所占端口地址为80H,81H,82H,83H)
第 37 页 共 38 页
答: ①已知CLK的周期为T=1/2.5μs=400ns。而通道0工作在方式2,CLK0采用CLK,计数初值为1000,所以,OUT的脉冲重复周期为T0=1000*400ns=400μs。
②由于通道2工作在方式3,CLK2采用CLK,计数初值为2000,则OUT2的输出为对称方波,周期为T2=2000*400ns=800μs;而通道1工作在方式1,CLK1采用OUT1的反相,计数初值为500,则OUT1的输出为单个负脉冲,宽度为T1=500*T2=400ms;该信号作为通道0的GATE0,所以OUT的波形的持续时间为400ms。
③初始化程序为:
mov al,00110101b out 83h,al mov al,00h out 80h,al mov al,10h out 80h,al mov al,01110011b out 83h,al mov al,00h
out 81h,al mov al,05h out 81h,al mov al,1011011b out 83h,al mov al,00h out 82h,al mov al,20h
out 82h,al
第 38 页 共 38 页