微机原理与应用模拟题.docx
《微机原理与应用模拟题.docx》由会员分享,可在线阅读,更多相关《微机原理与应用模拟题.docx(16页珍藏版)》请在冰点文库上搜索。
微机原理与应用模拟题
《微机原理与应用》模拟题(补)
一、填空题
1.用十进制数写出下列补码表示的机器数的真值:
A8H:
-88 ;8A1H:
2209 ;
2.十进制数-65532的原码为 8000FFFCH ,补码为 FFFF0004H 。
3.将8位无符号数88H扩展为16位应为 0088H ;将8位原码99H扩展为16位应为 8019H ;将8位补码CCH扩展为16位应为 FFCCH 。
4.在8086/8088微机系统中,假设用户程序装入内存后SS=896AH,SP=40H,
该用户程序的可用栈底物理地址是:
896DFH 。
5.将表中程序段各指令执行后AX的值用十六进制数填入表中:
程序段
AX
MOVAX,-1
FFFF
DECAX
FFFE
ANDAX,7FFFH
7FFE
ADDAX,1
7FFF
NEGAX
8001
ORAX,3FDFH
BFDF
ANDAX,0EBEDH
ABCD
XCHGAH,AL
CDAB
SALAX,1
9B56
RCLAX,1
36AD
6.执行下列指令
MOVBX,4953H
ADDBX,546AH
后,OF、CF的值为:
OF=1 , CF=0 。
7.十进制数-16的原码为 90H ,补码为 F0H ;十进制数255的原码为 00FFH ,补码为 00FFH ;十进制数-255的原码为 80FFH ,补码为 FF01H 。
8.80486与80386相比,主要的改进是 片内含cache,且指令执行单元也采用了流水线结构 。
9.80386/80486工作在保护虚拟地址方式时,它所具有的虚拟地址空间是由 页式存储器单元是否启动 决定的。
10.80386DX工作在保护模式时,虚拟地址(罗辑地址)由 段选择子 和 偏移地址 两部分组成,这时所确定的虚拟地址空间为 64TB 字节。
11.对于ADC0809,AD转换是从 START 信号的下降沿开始,此时 EOC 信号将变为 低 电平,以表示正处于AD转换中,在AD转换结束时它又将变为 高 电平。
12.补码表示的机器数FAH的十进制表示的真值为:
-6 。
补码表示的机器数88H的十进制表示的真值为:
-120 。
13.已知AX=ABCDH,执行“SALAX,1”后,AX= 579AH ,再执行“RCLAX,1”后,AX= AF35H 。
14.80X86中断系统的功能极强,其结构简单而且灵活。
它可以处理 256 种不同类型的中断,其中每一种中断都规定了一个唯一的 中断类型编码 ,即 中断向量 。
CPU根据 中断类型编码 来识别中断源。
80X86CPU在取得了 类型码 后,
15.为了在保护虚拟地址方式下工作,80386/80486设置了 全局描述符表(GDT) 、 局部描述符表(LDT) 、 中断描述符表(IDT) 3个描述符表。
二、判断题,对的打∨,错的打×
1.MOVAX,[DX+NW]:
(NW为字变量) ( × )
2.MOVAX,[BX+S1]:
(S1为字变量) ( ∨ )
3.MOV[BX],5 ( × )
4.INC[BX] ( × )
5.用2114组成64K×8的存储器,需要64片。
( × )
6.MOVDI,CH ( × )
7.DECBX ( ∨ )
8.POPCH ( × )
三、编写程序段实现下列运算
(不考虑溢出,除法余数不再参与运算)
1.
(W为字变量)
1.1:
(将Wi看成符号数)
程序段:
MOV AX,W1
ADD AX,W2
CWD
MOV CX,10
IDIV CX
MOV W3,AX;保存商
MOV W4,DX;保存余数
答案2:
(将Wi看成无符号数)
程序段:
MOV AX,W1
ADD AX,W2
MOV DX,0
MOV CX,10
DIV CX
MOV W3,AX;保存商
MOV W4,DX;保存余数
2.
(B为字节变量)
2.
答案1:
(将Wi看成符号数)
程序段:
MOV AL,B1
ADD AL,6
IMUL B2
IDIV B3
MOV B4,AL;保存商
MOV B5,AH;保存余数
答案2:
(将Wi看成无符号数)
程序段:
MOV AL,B1
ADD AL,6
MUL B2
DIV B3
MOV B4,AL;保存商
MOV B5,AH;保存余数
3.编写将数字字符“0123456789”存到字节变量中去的程序。
3.
程序段:
MOV CX,10
MOV DI,OFFSETB
MOV AX,SEGB
MOV ES,AX
CLD
MOV AL,'0'
L:
STOSB
INC AL
LOOP L
4.将BX中的4位压缩BCD数用非压缩BCD数形式按序放在AL,BL,CL和DL中。
4.
程序段:
XCHG BH,BL
MOV AL,BL
AND BL,0FH
MOV CL,4
SHR AL,CL
MOV DL,BH
AND DL,0FH
SHR BH,CL
MOV CL,BH
5.
(AB为非压缩的BCD数,B为压缩的BCD数,均为字节变量)
5.
程序段:
MOV AL,10
MUL AB1
AAM
MOV CL,4
;将非压缩BCD数,转换成压缩BCD数
SHL AH,CL
OR AL,AH
;压缩BCD数减法运算
SUB AL,AB2
DAS
MOV B,AL
6.已知字变量WA中存放有4位十六进制数a3a2a1a0,现要求将ai的4位二进制位取反(i由键盘键入),其它各位不变,结果仍保存在WA中。
6.
方法1:
MOV AH,1
INT 21H
MOV CL,AL
AND CL,0FH
SHL CL,1
SHL CL,1
MOV AX,WA
SHR AX,CL
AND AL,0FH
NOT AL
MOV BA,AL
方法2:
MOV AH,1
INT 21H
MOV DX,WA
TEST AL,1
JZ NODD
MOV CL,4
SHR DX,CL
NODD:
TEST AL,2
JZ NHIGH
MOV DL,DH
NHIGH:
AND DL,0FH
NOT DL
MOV BA,DL
四、一数据段定义为
1.数据段定义为:
data segment
S1 DB‘012345’
S2 DW0,-1,2,-3,4,-5
COUNTEQU ($-S2)/2
NBDB 3DUP
(2)
NW DW120,-256
P DW-1
data ends
1.画出该数据段中数据的存储形式。
2.在下表中填写各变量的偏移地址和各变量的值。
变量名
偏移地址
变量的值
S1
.
.
S2
.
.
NB
.
.
NW
.
.
P
.
.
参考答案1.
变量名
偏移地址(H)
存储单元内初始值(H)
S1
0000
30
.
.
31
.
.
32
.
.
33
.
.
34
.
.
35
S2
0006
00
.
.
00
.
.
FF
.
.
FF
.
.
02
.
.
00
.
.
FD
.
.
FF
.
.
04
.
.
00
.
.
FB
.
.
FF
NB
0012
02
.
.
02
.
.
02
NW
0015
78
.
.
00
.
.
00
.
.
FF
P
0019
FF
.
.
FF
常数COUNT=6,不占存储单元。
参考答案2.
变量名
偏移地址
变量的值
S1
0000
30
S2
0006
0000
NB
0012
02
NW
0015
0078
P
0019
FFFF
2.DATA SEGMENT
BUF DW -18,2005H,253
COUNT EQU ($-BUF)/2
B DB 2 DUP(10,’B’)
W DW B
DATA ENDS
1.画出该数据段中数据的存储形式,并指出count的值。
2.在下表中填写各变量的偏移地址和各变量的值。
变量名
偏移地址
变量的值
BUF
.
.
B
.
.
W
.
.
参考答案1.
变量名
偏移地址(H)
存储单元中的值(H)
BUF
0000
EE
.
.
FF
.
.
05
.
.
20
.
.
FD
.
.
00
B
0006
0A
.
.
42
.
.
0A
.
.
42
W
000A
06
.
.
00
COUNT=3
变量名
偏移地址
变量的值
BUF
0000H
FFEEH
B
0006H
0AH
W
000AH
0006H
2.
五、分析程序
1.下列程序实现的功能是:
求4位非压缩BCD数之和,并将和送显示器显示。
分析程序,并在空格处填写适当指令以完善整个程序。
stack segment stack ‘stack’
dw32dup(?
)
stack ends
data segment
FIRST DB 08H,06H,04H,02H
SECOND DB 07H,05H,03H,01H
RESULT DB 5 DUP(0),‘$’
data ends
code segment
begin proc far
assume ss:
stack,cs:
code,ds:
data
push ds
sub ax,ax
mov ax,data
movds,ax
MOV CX,4
MOV DI,4
MOV SI,0
XOR AX,AX
L:
ADD AL,FIRST[SI]
MOVRESULT[DI],AL
INCSI
DECDI
MOVAH,0
LOOPL
ADDAL,30H
MOVRESULT[DI],AL
MOVDX,OFFSETRESULT
MOVAH,9
INT21H
ret
begin endp
code ends
end begin
参考答案
1.
AAA
ADD AL,SECOND[SI]
AAA
ADD AL,30H
MOV AL,AH
六、用EPROM2764和SRAM6264各一片组成存储器,其地址范围为AC000H~AFFFFH,试画出存储器与8088的连接图。
参考答案:
因为地址范围是AC000H~AFFFFH,即10101100000000000000B~10101111111111111111B可见,A19~A14固定在101011,因此,变化的位A13~A0中A12~A0直接接存储器芯片地址引脚,用于片内存储单元寻址,剩下的A13则用于译码,译码电路采用3-8线译码器138,该存储系统电路如下:
七.设计一监视2台设备状态的接口电路和监控程序:
若发现某一设备状态异常(由低电平变为高电平),则发出报警信号(指示灯亮),一旦状态恢复正常,则将其报警信号撤除。
(设片选信号PORT为负脉冲,地址为80H)
参考答案:
接口电路:
程序段:
WAIT1:
IN AL,80H
AND AL,3
JZ WAIT1
MOV AL,1;报警,指示灯亮
OUT 80H,AL
WAIT2:
IN AL,80H
AND AL,3
JNZ WAIT2
MOV AL,0
OUT 80H,AL;取消报警,指示灯灭
MOV AH,0BH
INT 21H
INC AL
JNZ WAIT1
HLT
八.设计8255与微机系统的接口电路,并编写C口轮流置位复位程序段
参考答案:
接口电路:
程序段:
;发模式控制字
MOV DX,0B863H
MOV AL,80H
OUT DX,AL
;置位
MOV AL,1
AGAIN:
OUT DX,AL
LOOP $
;复位
AND AL,0FEH
OUT DX,AL
LOOP $
;修改数据,准备置位下一位
ADD AL,3
AND AL,0FH
;检查有无键按下
PUSH AX
MOV AH,0BH
INT 21H ;11号DOS功能调用,返回值:
无键按下AL=0,有键按下AL=-1。
INC AL
POP AX
JNZ AGAIN;无键按下回到前面继续
HLT