微机原理试题集题库带答案 本文关键词:题库,微机,试题,原理,答案
微机原理试题集题库带答案 本文简介:微机原理及应用习题集库2一、填空2二、单项选择题6三、程序分析题(每小题6分,共24分)16四、判断题(在对的后面画√,错的后面画×):25五:分析判断题(判断对错,并指出错误原因)31六、简答题:33七、程序题38八、接口芯片的综合编程题50(一)8255A50(二)8259A56(三).其它端口
微机原理试题集题库带答案 本文内容:
微机原理及应用习题集库2
一、填空2
二、单项选择题6
三、
程序分析题(每小题6分,共24分)16
四、判断题(在对的后面画√,错的后面画×):25
五:分析判断题(判断对错,并指出错误原因)31
六、简答题:33
七、程序题38
八、接口芯片的综合编程题50
(一)8255A50
(二)8259A56
(三).
其它端口编程题58
微机原理及应用习题集库
(请认真复习4、5、7、10、11章后的习题)
一、填空
1.
87的原码是
0101
0111B=57H
,补码是
29H=0010
1001B
,反码
0010
1000B=28H
。
2.
SP总是指向
栈顶
,若原先SP=2000H,SS=2000H,问CPU执行指令PUSH
AX后,AL内容压入物理地址为
21FFEH
存储单元中,AH内容压入物理地址为
21FFFH
存储单元中。
3.
以BX基址寻址,约定的段寄存器是
DS
,以BP基址寻址,约定的段寄存器是
SS
,变址寻址约定的段寄存器是
DS
。
4.
假设某个字的值是1234H,其低位字节地址是20H,高位字节地址是21H,那么该字地址是
20H
。
5.
8086/8088的状态标志有
6(SF、PF、AF、OF、ZF、CF)
个。
8086/8088系统中,存储器是分段的,每段最大长度是
64K
字节,段内偏移地址从
0000H
到
FFFFH
。
6、
CPU访问存储器进行读写操作时,通常在
T3
状态去检测READY
,一旦检测到READY无效,就在其后插入一个
Tw
周期。
7、
汇编语言源程序中的语句有三种类型,它们是
指令
语句,
伪指令
语句,
宏指令
语句。
8、
、8086CPU寻址外设可以有两种方式,一种是
直接
寻址方式,另一种是
间接
寻址方式。
9、
CPU与外设之间的连接部件称为
I/O接口,它的基本功能是
在CPU与外设之间起缓冲作用
。
10、
C
PU从主存取出一条指令并执行该指令的时间称(
),它通常用若干个(
)来表示,而后者又包括若干个(
)。①指令周期
②机器周期
③时钟周期
答:1-2-3
14、数据的输入/输出指的是CPU与
I/O接口
进行数据交换。
15.已知X=
-120,则X的原码(用八位二进制表示)是____________,补码(用八位二进制表示)是____________。
16、8088中的指令INT
n用(
N
)指定中断类型。
17、8088的ALE引脚的作用是(
地址锁存允许
)。
18.
一片8255A端口A有(
3
)种工作方式,端口B有(
2
)种工作方式。
19.
当8255A口工作在方式1输出时,A口输入信号联络线的名称是
IBF
,输出信号联络线的名称是
OBF(带上划线)
。
20.
端口A可以工作在3种工作方式中的任意一种,端口B只能工作在方式0或方式1;(对错题)
21.
可编程并行接口芯片8255A共有(
A
)、(
B
)、(
C
)、和(
控制
)四个端口。
22.
8088的当前代码段、数据段和堆栈段段地址分别由(
)、(
)和(
)提供。
17、
微型计算机由(
)、(
)和(
)三大部分组成。
20.8086/8088中级别最高的中断类型是(非屏蔽中断),其中断类型码为(
2
)。
21.
-3的原码是(1000
0011),反码是(1111
1100),补码是(
1111
1101)。
22.
以BX基址寻址,约定的段寄存器是(
DS
),以BP基址寻址,约定的段寄存器是(
SS
)。
23.
一片8259A最多只能接收(
八)级
中断。三片8259A最多能接收(22)级中断。
24.
8259A中的中断服务寄存器中存放的是(正在处理的中断请求0)。
25.
十六进制数30A转换为二进制是(
0011
0000
1010B
)。
26.
微型计算机由(
微处理器
)、(
存储器
)和(
I/O接口电路
)组成。
27.
计算机记忆装置的基本单元是(触发器)。
28.
一个最基本的总线周期是由(4)个时钟周期组成的。
29.
所谓最小模式,是指(在系统中只有8086/8088一个微处理器)。
30.
在8086/8088的引脚中,与总线有关的两个引脚是(HOLD)和(HLDA)。
31.
中断向量是(中断处理子程序的入口地址),每个中断类型对应一个中断向量。
32.
MOV
AX,[BX+DI+50]的寻址方式是(基址加变址的相对寻址)
33.
8086最多能处理(
256
)种中断。
34.
-7的原码是(1000
0111),反码是(1111
1000),补码是(
1111
1001)。
35.
8259A中的中断屏蔽寄存器中存放的是(对各级中断请求的屏蔽信息)。
36.
在8088读存储器周期中,采样Ready线的目的是(测试外设数据是否准备好
)。
37.
.
微机系统中,ROM只能(
读
),RAM可(
随机存取
)
。
38.
寄存器是由(触发器)组成的。
39.
一个机器周期是(执行一条指令的时间),机器周期又可分为(取指周期)和(执行周期)。
40.
所谓最大工作模式,是指(在系统中有二个以上的微处理器)。
41.
对于地址/数据复用总线,在T1时刻,其传输的信息是(地址信号)。
42.
在8086/8088的引脚中,与中断有关的三个引脚是(NMI)、(INTR)和(INTA)。
43.
所谓断点,就是指(响应中断时,主程序中当前指令下面的下一条指令的地址)。
44.
8088中的指令INT
n用(
n
)指定中断类型。
45.
.8086最大模式下产生控制信号利用芯片
8288
总线控制器,最小/最大模式下,外部地址锁存器利用芯片
8282
,外部数据收/发器利用芯片
8286
。
46.
子程序可以由
Proc
语句定义,由
ENDP
语句结束,属性可以是
NEAR
或
FAR
。
47.
段定义伪指令语句用
SEGMENT
语句表示开始,以
ENDS
语句表示结束。
48.
逻辑地址为2000H:1234H的存储单元的物理地址是
。21234H
49.
取指令时,段地址由
寄存器提供,偏移地址由
寄存器提供。CS和IP
50.
CPU在执行OUT
DX,AL指令时,
寄存器的内容送到地址总线上,
寄存器的内容送到数据总线上。DX和AL
51.
数据的输入/输出指的是CPU与
进行数据交换。I/O端口
52.
中断矢量就是中断服务子程序的
入口地址
,在内存中占有
4
个存储单元,其中低地址存储单元存放的是
偏移地址
,高地址存储单元存放的是
段地址
。
53.
中断返回指令是
RET
,该指令将堆栈中保存的断点弹出后依次装入
CS
寄存器和
IP
寄存器中,将堆栈中保存的标志装入
标示寄存器FR
中。
54.
CPU响应8259A中断,在
INTA
引脚上输出
二
个负脉冲,在第
二
个负脉冲期间读入中断类型码。
二、单项选择题
1.
若补码用8位二进制数表示,则可表示的最大正数是(
4
)。
(1)28
(2)28-1
(3)27
(4)27-1
2
向外设端口输出一个数据的指令是(
1
)
(1)
OUT
DX,AL
(2)IN
DX,AL
(3)OUT
AL,DX
(4)IN
AL,DX
3.完成同指令XCHG
AX,BX相同功能的指令或指令序列是(3
)。
①
MOV
AX,BX
②
MOV
BX,AX
③
PUSH
AX
POP
BX
④
MOV
CX,AX
MOV
AX,BX
MOV
BX,CX
1.当有两个8286时,可为(2
)CPU提供数据总线。
①
8088
②
8086
③
80386
④
80486
2.3片8259A级联,最多可管理(
3
)级中断。
①
24
②.
23
③.
22
④.
21
3.响应NMI请求的必要条件是(
3
)。
①
IF=1
②
IF=0
③
一条指令结束
④
无INTR请求
5.测试BL寄存器内容是否与数据4FH相等,若相等则转NEXT处执行,可实现的方法是(
2
)。
①
TEST
BL,4FH
③
AND
BL,4FH
JZ
NEXT
JZ
NEXT
②
XOR
BL,4FH
④
OR
BL,4FH
JZ
NEXT
JZ
NEXT
6.8086/8088的一个典型总线周期需要(
1
)个T状态。
①
4
②
3
③
2
④
1
7.指令指针寄存器是(
1
)。
①
IP
②
SP
③
BP
④
PSW
8.下面指令序列测试BH中的数是否为奇数,若为奇数则转移至K1处,横线处的指令应为(
)。
TEST
BH,01H
____1_____K1
①
JNE
②
JZ
③
JS
④
JC
9.下面的数据传送指令中,错误的操作是(
4
)。
①
MOV
SS:[BX+DI],1000H
②
MOV
DX,1000H
③
MOV
WORD
PTR[BX],1000H
④
MOV
DS,2000H
10.8255A工作在方式1时,端口A和端口B作为数据输入/输出使用,而端口C的各位分别作为端口A和端口B的控制信息和状态信息。其中作为端口A和端口B的中断请求信号的分别是端口C的()。
(A)PC4和PC2
(B)PC5和PC1
(C)PC6和PC7
(D)PC3和PC0
答:
D
1.8255芯片具有
C
端口。
A)2
B)3
C)4
D)5
2.8255的
C
一般用作控制或状态信息传输。
A)端口A
B)端口B
C)端口C
D)端口C的上半部分
3.对8255的端口A工作在方式1输入时,C口的
C
一定为空闲的。
A)PC4、PC5
B)PC5、PC6
C)PC6、PC7
D)PC2、PC3
4.对8255的C口D3位置1的控制字为
B
。
A)00000110B
B)00000111B
C)00000100B
D)00000101B
5.8255工作在方式1的输出时,OBF信号表示
B
。
A)输入缓冲器满信号
B)输出缓冲器满信号
C)输入缓冲器空信号
D)输出缓冲器空信号
3.在PC/XT机中键盘的中断类型码是09H,则键盘中断矢量存储在
B
。
A)36H~39H
B)24H~27H
C)18H~21H
D)18H~1BH
4.3片8259A级联起来,可管理
C
级中断。
A)24
B)23
C)22
D)20
E)16
F)15
5.若8259A工作在优先级自动循环方式,则IRQ4的中断请求被响应并且服务完毕后,优先权最高的中断源是
B
。
A)IRQ3
B)IRQ5
C)IRQ0
D)IRQ4
7.PC/XT机中若对从片8259A写入的ICW2是70H,则该8259A芯片的IRQ5的中断矢量存储的地址是
D
(注:先算类型号,再*4得到)
A)75H
B)280H
C)300H
D)1D4H
8.当向8259A写入的操作命令字OCW2为01100100时,将结束
E
的中断服务。
A)IRQ0
B)IRQ1
C)IRQ2
D)IRQ3
E)IRQ4
F)IRQ5
G)IRQ6
H)IRQ7
1.下面是关于可编程中断控制器8259A的叙述,其中错误的是(
3
)。
①.8259A具有优先级管理的功能
②.8259A具有辨认中断源的功能
③.8259A具有向CPU提供中断向量的功能
④.一片8259A可管理8级中断
2.由8088CPU组成的PC机的数据线是(
4)。
①
8条单向线
②
16条单向线
③
8条双向线
④
16条双向线
3.为8088CPU提供地址总线需要(4
)。
①
一个8286
②
两个8286
③
两个8282
④
三个8282
4.一个8259可提供(2
)个类型号。
①
1
②
8
③
16
④
64
5.响应INTR请求的必要条件是(2
)。
①
IF=0
②
IF=1
③
TF=0
④
TF=1
6.完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是(
1)。
①
MOV
AL,00H
②
AND
AL,00H
③
XOR
AL,AL
④
SUB
AL,AL
7.当执行指令ADD
AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是(
4
)。
①
表示结果中含1的个数为偶数
②
表示结果中含1的个数为奇数
③
表示该数为偶数
④
表示结果中低八位含1的个数为偶数
8.在汇编语言程序中,对END语句的叙述正确的是(3
)。
①
END语句是一可执行语句
②
END语句表示程序执行到此结束
③
END语句表示源程序到此结束
④
END语句在汇编后要产生机器码
9.执行下列指令后,正确的结果是(2
)。
MOV
AL,100
MOV
BL,-2
①
AL=100H
②
AL=64H
③
AL=64H
④
AL=100H
BL=02H
BL=0FEH
BL=82H
BL=0FEH
10.当一个带符号数大于0FBH时程序转移,需选用的条件转移指令是(
3
)。
①
JLE
②
JNL
③
JNLE
④
JL
1.寄存器间接寻址方式中,操作数在
中。
C
A)通用寄存器
B)堆栈
C)存储单元
D)段寄存器
2.
寻址方式的跨段前缀不可省略。A
A)DS:[BP]
B)DS:[SI]
C)DS:[DI]
D)SS:[BP]
3.假设(SS)=2000H,(SP)=0012H,(AX)=1234H,执行PUSH
AX后,
=12H
A)20014
B)20011H
C)20010H
D)2000FH
4.若要检查BX寄存器中的D15位是否为1,应该用
指令。
C
A)OR
BX,1000H
B)TEST
BX,1000H
JNZ
NO
JNZ
YES
C)
XOR
BX,1000H
D)AND
BX,1000H
JZ
YES
JNZ
YES
5.用BP作基址变址寻址时,操作数所在的段是当前
。C
A)数据段
B)代码段
C)堆栈段
D)附加段
.若主程序段中数据段名为DATA,对数据段的初始化操作应为
。
B
A)MOV
AX,DATA
B)MOV
AX,DATA
MOV
ES,AX
MOV
DS,AX
C)PUSH
DS
D)MOV
DS,DATA
3..EXE文件产生在
之后。
D
A)汇编
B)编辑
C)用软件转换
D)连接
4.定义双字变量的定义符是
。
C
A)DW
B)DQ
C)DD
D)DT
5.下列存储器操作数的跨段前缀可省略的是
。
B
A)DS:[BP]
B)SS:[BP]
C)ES:[BX]
D)ES:[SI]
3.堆栈操作时,段地址由
寄存器指出,段内偏移量由
寄存器指出。C、G
A)CS
B)DS
C)SS
D)ES
E)DI
F)SI
G)SP
H)BP
4.若当前DS的内容为2000H,则偏移量为1000H单元的地址可表示为
。B
A)2000H.1000H
B)21000H
C)1000H∶2000H
D)3000H
3.8086CPU在执行IN
AL,DX指令时,DX寄存器的内容输出到
上。
A
A)地址总线
B)数据总线
C)存储器
D)寄存器
2.
8086CPU复位后,CPU执行的第一条指令的起始地址应是
B
A)
ROM,FFFF0H
B)
RAM,FFFF0H
C)
ROM,FFFFH
D)
RAM,FFFFH
3.
下述指令,正确的指令是
d
(设BUF是字节变量,LAB为标号)
a.MOV
BX,AL
b.MOV
BX,BUF
c.MOV
BX,LAB
d.MOV
BX,OFFSET
BUF
4
.下述中断,优先权级别最高的中断是
a
a.NMI
b.INTR
c.单步中断
d.INT
n
6.
8086CPU的40根引脚中,有
c
个是分时复用的。
A)1
B)16
C)21
D)24
7、用BP作基址变址寻址时,操作数所在的段是当前
C
。
A)数据段
B)代码段
C)堆栈段
D)附加段
8.执行下列指令:
STR1
DW
‘NO’
STR2
DB
14
DUP(?)
CONT
EQU
$-STR1
MOV
CX,CONT
MOV
AX,STR1
HLT
后寄存器CL的值是
D
。
A)0FH
B)0EH
C)12H
D)10H
9、接口的基本功能是
C
和
D
。
A)输出锁存
B)输入锁存
C)输出缓冲
D)输入缓冲
10、堆栈操作时,段基址由
C
寄存器指出,段内偏移量由
SP
寄存器指出。
A)
CS
B)
DS
C)
SS
D)
ES
11.
下列四条指令中错误的是
D
。
A)MOV
AX,[SI]
B)MOV
AX,[BP+DI]
C)MOV
AX,[DI]
D)MOV
AX,[BP—DI]
12、在8086/8088系统中,约定用于形成堆栈段数据物理地址的寄存器有
A
。
A)SS,SP,BP
B)SS,SP,BX
C)DS,BX,BP
D)DS,SP,BP
13、.EXE文件产生在
D
之后。
A)汇编
B)编辑
C)用软件转换
D)连接
15.指令指针寄存器是(1
)。
①
IP
②
SP
③
BP
④
PSW
16.完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是(1
)。
①
MOV
AL,00H
②
AND
AL,00H
③
XOR
AL,AL
④
SUB
AL,AL
17.下列指令执行后总是使CF=0,OF=0的是(1
)。
①
AND
②
NEG
③
NOT
④
INC
22.下面的数据传送指令中,错误的操作是(
1)。
①
MOV
SS:[BX+DI],1000H
②
MOV
DX,1000H
③
MOV
WORD
PTR[BX],1000H
④
MOV
DS,2000H
23.下面指令执行后,变量DAB中的内容是(3
)。
DAW
DW
2A05H
DAB
DB
0FAH
:
MOV
AL,BYTE
PRT
DAW
SUB
DAB,AL
①
0DAH
②
0FAH
③
0F5H
④
0D0H
24.执行下列指令后,正确的结果是(2
)。
MOV
AL,100
MOV
BL,-2
①
AL=100H
BL=02H
②
AL=64H
BL=0FEH
③
AL=64H
BL=82H
④
AL=100H
BL=0FEH
25.设数据段中已有:
DA1
DB
12H,34H
DA2
DW
56H,78H
下面有语法错误的语句是(2
)。
①
ADR1
DW
DA1
②
MOV
DA1+1,AX
③
MOV
BYTE
PTR
DA2+1,AL
④
MOV
WORD
PTR
DA1+1,AX
27.
DATA
SEGMENT
TA1
DW
0102H,0304H,0506H
TA2
DB
02H,03H,04H
:
MOV
BX,DS:[0006H]
AND
BX,0FFH
AND
BH,[BX]
上述指令序列运行后,BX的内容是(4
)。
①
0605H
②
0402H
③
0606H
④
0204H
32.IBM
PC机的8088处于最大模式,其总线仲载是由(2
)裁决。
①
非RQ/非GT
②
8289
③
8087
④
8288
33.8088的一个总线周期可交换(3
)字节。
①
4
②
2
③
1
④
1/8
C模拟题
一.单选题
1.CPU和输入/输出设备之间传递的信息类型有()
A.地址信息和数据信息
B.模拟量和数字量
C.控制信息,状态信息和数据信息
D.A好B
2.下列指令中,有语法错误的指令是()
A.MOV
AX,[1000H]
B.LEA
AL
1000H
C.MOV
[1000H],AL
D.MOV
1000H,AX
3.8086CPU的硬件中断引脚有几个?
A.1个
B.2个
C.3个
D.4个
4.8086CPU地址线与数据线分别为多少条?
A.8条,16条
B.8条,20条
C.16条,16条
D.20条,16条
5.
下列指令中隐含使用寄存器SI的是()
A.
HLT
B.CMPSB
C.XLAT
D.NOT
6.
下列指令中,执行速度最快的指令是()
A.
ADD
AX,100
B.ADD
AL,[SI+10H]
C.ADD
AX,CX
D.ADD
AX[BX]
7.
堆栈段寄存器是()
A.
DS
B.SS
C.ES
D.CS
8.
假设V1和V2是用DW定义的变量,下列指令中正确的是()
A.
MOV
V1,20H
B.MOV
V1,V2
C.MOV
AL,V1
D.MOV
2000H,V2
9.
执行PUSH
AX指令后,堆栈指针SP的内容:
A.
减1
B.减2
C.加1
D.加2
答案:CDBDBBABA
三、
程序分析题(每小题6分,共24分)
1.
A
DW
1234H
B
DW
5678H
:
PUSH
A
PUSH
B
POP
A
POP
B
试回答:①上述程序段执行后(A)=_______,(B)=______
②设执行前SP=200H,执行后SP=____________
2AB.读下面程序段,请问,在什么情况下,本段程序的执行结果是AH=0?
BEGIN:
IN
AL,5FH
TEST
AL,80H
JZ
BRCH1
MOV
AH,0
JMP
STOP
BRCH1:
MOV
AH,0FFH
STOP:
HLT
答:
3A.
现有下列程序段:
MOV
AX,6540H
MOV
DX,3210H
MOV
CL,04
SHL
DX,CL
MOV
BL,AH
SHL
AX,CL
SHR
BL,CL
OR
DL,BL
试问上述程序段运行后,
(AX)=_____________
(BL)=_____________
(DX)=
_____________
4A现有下列程序段
MOV
AL,60H
MOV
BL,20H
STC
ADC
AL,BL
问程序执行后,AL=
BL=
CF=
.已知(DS)=09lDH,(SS)=1E4AH,(AX)=1234H,(BX)=0024H,(CX)=5678H,(BP)=0024H,(SI)=0012H,(DI)=0032H,(09226H)=00F6H,(09228H)=1E40H,(1E4F6H)=091DH。下列各指令或程序段分别执行后的结果如何?
(1)
MOV
CL,20H[BX][SI]
(2)
MOV
[BP][DI],CX
(3)
LEA
BX,20H[BX][SI]
MOV
AX,2[BX]
(4)
LDS
SI,[BX][DI]
MOV
[SI],BX
(5)
XCHG
CX,32H[BX]
XCHG
20H[BX][SI],AX
答(1)
(CX)=56F6H;
(2)
(09226H)=5678H;
(3)
(AX)=1E40H;
(4)
(1E4F6H)=0024H;
(5)
(09226H)=1234H,(AX)=5678H.
1
.假设寄存器AX=1234H,DX=0A000H
MOV
BX,0
MOV
CX,BX
SUB
CX,AX
SBB
BX,DX
MOV
AX,CX
MOV
DX,BX
上述程序段执行后AX=
0FDCFH
,DX=
60000H
程序功能是
对原AX、DX中的值求补码,因为取补码指令就相当于用0减去此操作数,见书本P122
.
4.分析下面程序段,
MOV
AL,200
SAR
AL,1
MOV
BL,AL
MOV
CL,2
SAR
AL,CL
ADD
AL,BL
试问程序段执行后(BL)=11100100B=_E4H_(AL)=11111001B=F9H
5.程序段如下:
BLK1
DB
46,84,34,-5,20,122,73
:
MOV
CX,7
LEA
S1,BLK1
NEXT:
MOV
AL,[SI]
INC
SI
TEST
AL,81H
LOOPZ
NEXT
MOV
BL,[SI]
:
请回答程序段运行后:(AL)=_____46_______
(BL)=____84________
14.对于下面的数据定义,各条MOVE指令单独执行后,有关寄存器的内容是什么?
FLDB
DB
TABLEA
DW
20DUP(?)
TABLEB
DB
‘ABCD’
解答:
MOVE
AX,TYPE
FLDB
AX=0001H
MOVE
AX,TYPE
TABLEA
AX=0002H
MOVE
CX,LENGTH
TABLEA
CX=0014H
MOVE
DX,SIZE
TABLEA
DX=0028H
MOVE
CX,LENGTH
TABLEB
CX=0001H。
19.读下面程序段,请问:在什么情况下,本段程序的执行结果是AH=0?
BEGIN:
IN
AL,5FH
TEST
AL,80H
JZ
BRCHl
MOV
AH,0
JMP
STOP
BRCHl:
MOV
AH,0FFH
STOP:
HLT
解答:AL中的最高位为1时。
20.读程序:
START:
IN
AL,20H
MOV
BL,AL
IN
AL,30H
MOV
CL,AL
MOV
AX,0
ADLOP:
ADD
AL,BL
ADC
AH,0
DEC
CL
JNZ
ADLOP
HLT
请问:
(1)本程序实现什么功能?(2)结果在哪里?
解答:完成20H*30H,结果在AX中。
21.请编一程序段完成AX*l0的任务(要求不准用乘法指令做)。
解答:
MOV
BX,AX
MOV
CL
2
SHL
AX,CL
ADD
AX,BX
SHL
AX,1
22.编程序使:
(1)AX寄存器低4位清零。
(2)BX寄存器低4位置“1”。
(3)CX寄存器低4位变反。
(4)用TEST指令测试DL寄存器位3、位6是否同时为0,若是,将0送DL;否则l送DH。
解答
:1,AND
AX,0FFF0H
2,OR
BX,000FH
3,XOR
CX,000FH
4,TEST
DL,48H
JZ
LOOP
MOV
DH,1
HLT
LOOP
:MOV
DL,0
HLT
23.编一程序段,完成符号函数(-128≤x≤127):
1
(x.>0)
y=
0
(x=0)
-1
(x<0)
假设x的值存放在DATAl中,y的值存放在DATA2中。
解答:
START
:MOV
AL,DATA1
AND
AL,AL
JGE
BIGR
MOV
AL,0FFH
MOV
DATA2.AL
HLT
BIGR:JE
EQUL
MOV
AL,1
MOV
DATA2,AL
HLT
EQUL:MOV
DATA2,AL
HLT
24.设AX寄存器中有一个16位二进制数,编一程序,统计AX中“l”的个数,统计结果送CX中。
解答:
START
:MOV
CX,0
LOOP:
SUB
AX,0
JZ
STP
SAL
AX,1
JNC
NOD
INC
CX
NOD:JMP
LOOP
STP:HLT
25.编一子程序利用XLAT指令把十六进制数转换成ASCII码。假设ASCII码
存放在以
DAT1为首地址的数据区中,对应的16进制数放在以DAT2为首地址的数据区中,转换结果送以DAT3为首地址的数据区中。
解答:MAIN
:PUSH
BX
PUSH
SI
PUSH
DI
PUSH
CX
PUSH
AL
PUSH
DS
START:MOV
BX,DATA1
MOV
SI,DATA2
MOV
DI
DATA3
MOV
CX,16
NEST:LODSB
XLAT
DATA1
STOSB
LOOP
NEST
POP
DS
POP
AL
POP
CX
POP
DI
POP
SI
POP
BX
RET
1.
设AX=0FFH,执行AND
AX,86H
后,AX=?
AX=86H
2.
设AX=1000H,DX=2000H,CX=3000H,SP=1234H
执行
PUSH
CX
PUSH
DX
PUSH
AX
后,SP=?
再执行
POP
CX
POP
DX
POP
AX
后,AX=?,DX=?,SP=?
答:
SP=122EH
AX=3000H,DX=2000H,SP=1234H(错一题扣2分,错2题扣3.5分)
7.请完成如下程序段,使它完成求|AX-BX|,结果放在AX的功能。
AX,BX
JC
SUB
AX,BX
AA1
AA:SUB
,
MOV
AX,BX
AA1:HLT
CMP
AX,BX(1分)
JC
AA
(1分)
SUB
AX,BX
JMP
AA1(2分)
AA:SUB
BX(1分)
,
AX(1分)
MOV
AX,BX
AA1:HLT
下面是多字节加法程序,第一个数是8A0BH,第二个数是D705H。请填写出正确结果。(7分)
DATA
SEGMENT
FIRST
DB
,
,0H
SECOND
DB
,
DATA
ENDS
CODE
SEGMENT
ASSUME
CS:CODE,DS:DATA
START:
MOV
AX,DATA
MOV
DS,AX
MOV
CX,
MOV
SI,0
NEXT:
MOV
AL,SECOND[SI]
ADC
FIRST[SI],AL
INC
SI
LOOP
NEXT
MOV
AL,0
ADC
AL,
MOV
FIRST[SI],AL
MOV
AH,4CH
INT
21H
CODE
ENDS
END
START
四、判断题(在对的后面画√,错的后面画×):
1、段内转移指令执行结果要改变IP、CS的值。
(×
)
2、PUSH
CS。
(√
)
3、OUT
2000H,AL
(×)
4、
MOV
AH,BX
(
错
)
5、8088
中,取指令和执行指令可以重叠操作。(
√
)
6、MOV
[BX],[SI]
(
×
)
7、8088CPU用逻辑地址1234H:5678H访问时,可交换一个字。(√)
8、
MOV
BYTE
PTR[BX],1000
(×
)
9、MOV
5,AL
(×
)
10、
MOV
AX,[SI+DI]
(×
)
2、8088
的数据可以存放在几个不连续的段中。(√
)
4.
ADD
15H,BX
(
错
)
5、REP是指令前缀,重复操作的条件是CX≠0。
(
对
)
6、POP
CS
(错)
7、
MOV
CS,AX
(
错
)
8、MOV
[BX],[SI]
(错)
9、IN
AL,2000H
(错)
10、8086
中,取指令和执行指令可以重叠操作。(
对
)
11.当8086CPU内标志寄存器中的IF=0时,意味着禁止CPU响应所有类型的中断。
(
错
)
12.一个外设最多可含有控制端口、数据端口、状态端口三种类型的端口。
(
对
)
13.
若BUF是变量名,指令LEA
BX,BUF和指令MOV
BX,OFFSET
BUF是等效的。
(对)
14.
OUT
3FCH,AL指令是正确的。
(错,16位地址端口号要先赋给DX)
15.
8255A
A口工作在方式1输入,B口工作在方式0输出的方式控制字是0011×00×B。
(错)
16.
若SS=2000H,SP=1000H,执行指令PUSH
AX后,AX内容压入21000H字单元中。
(错)
17.
所谓寻址方式是指CPU执行指令时寻找操作数的方式。
(对)
18.
8086CPU所有外部中断,仅INTR需申请中断的外设提供中断类型码。(错)
19.一个外设最多含有控制端口和数据端口。
(错,还有状态端口)
20.
8086CPU内部F标志寄存器的所有标志位均可用指令事先置1或清0。
(
对,用SAHF设置标志指令,见书本P119)
)
21.
执行IN
AL,DX指令时,DX的内容送到数据总线上。
(
错
)
22、段内转移指令执行结果要改变IP、CS的值。
(
错
)
23.
8255工作在方式1的输出时,OBF信号表示输出缓冲器满信号。
(
对
)
24.
有数据定义NUM
DB
‘123456’,经汇编后,NUM占有3字节存储单元。
(
错,应是6个字节的存储单元,每一个存的是对应的字符ASCII码值
)
25.
OUT
DX,AL指令的输出是16位操作数。
(
错
)
26.
若SP
=1000H,则执行指令PUSH
AX后,(SP)=0FFEH。
(
对
)
27.
8088CPU对内存读/写1个字均需两个总线周期。
(对
)
30.
.
MOV
AH,BX
(
错
)
31.
.
ADD
15H,BX
(
错
)
32.
.
MOV
CS,AX
(
错
)
33.
.
MOV
AX,[SI][DI]
(
错,不能同时使用两个变址寄存器
)
34.
MOV
AX,
[CX]
(错
)
35.
MOV
[1000H],[2000H]
(
错
)
36.
.
MOV
BYTE
PTR[BX],1000H
(
对
)
37.
SAR指令左补零
(
错
)
38.
执行CMP指令后,操作数的值会改变
(
错
)
39.
8088的Ready信号是由外部硬件产生的。………………(
对
)
40.
/及HOLD、HLDA信号是与系统中其它总线主设备有关的信号。……………(
对
)
41.
8088的信号可用作中断矢量的读选通信号。……………………………………(
对
)
42.
8088
的数据可以存放在几个不连续的段中。…………………………………………(
对
)
43.
、8088
中,取指令和执行指令可以重叠操作。…………………………………………(
对
)
44.
8088
的可屏蔽中断的优先权高于非屏蔽中断。………………………………………(
错
)
45.
多个外设可以通过一条中断请求线,向CPU发中断请求。……………………………(
对
)
46.
8255A中端口A使用的是INTR,及等线是端口C的线。………………………(
对
),见工作方式1的图
47.
、中断服务程序可放在用户可用的内存的任何区域。…………………………………(
错
)
48.
8086系统的存储器中各段的大小固定为64KB,同时各段之间可以重叠。
(
对
)
49.
堆栈操作所访问的段是由SS和ES所指定。
(
错
)
50.
在存储器连接过程中,应注意避免地址重叠。
(错
)
51.
内部中断的优先权总是高于外部中断。
(对
)
52.
两片8259A级连后可管理16级中断。
(
错
)
53.
8259A所管理的中断源中,优先级低的中断源不可能中断优先级高的中断服务子程序。
(
错
)
54.
若8259A中断屏蔽字OCW1为00H,则8259A所管理的8级中断全被屏蔽.
(
错
)
55.
只要8259A所管理的中断源没有被屏蔽,则任何中断源的中断请求都能得到CPU的响应和服务。(
错
)
56.
.给8255
C口PC3按位置位字是06H。
(
错
)
57.
.当8