微机原理模拟题.docx
《微机原理模拟题.docx》由会员分享,可在线阅读,更多相关《微机原理模拟题.docx(13页珍藏版)》请在冰豆网上搜索。
微机原理模拟题
装
订
线
华中科技大学武昌分校
《微机原理与接口技术》试卷()
(闭)卷答案
专业班级:
学号:
_________姓名:
__________总分
得分
一、填空。
(30分1分/空)
1.符号数-8192的补码用十六进制数表示为E000H。
2.8位补码数CBH的真值用十进制表示为-53。
3.十进制数1025所对应的十六进制数为401H;所对应的压缩BCD数为
1025H;所对应的ASCII码为。
4.将8为无符号数A2H扩展为16位形式,则应为00A2H;将8为补码数F3H扩
展为16位形式,则应为FFF3H。
5.在8086/8088的通用寄存器AX、BX、CX、DX中,用作存储器间址的寄存器为BX;
用作I/O端口间址的寄存器为DX;用作循环控制指令(LOOP)的寄存器为CX。
6.8086/8088有4段寄存器。
其中用来存放数据段段首地址的段寄存器为DS;
用来存放代码段段首地址的段寄存器为CS;用来存放堆栈段段首地址的段寄存器为
SS。
7.若DS=095FH时,物理地址是11820H。
当DS=2F5FH时,物理地址为37820H。
8.8086/8088微处理器堆栈的伸展方向是高地址向低地址。
堆栈的操作是
以字为单位进行的。
9.AX中有一个负数,欲求其绝对值,若该数为补码,则用指令NEGAX;若
该数为原码,则用指令ANDAX,7FFFH。
在循环程序设计中,对于控制循环的
DECCX和JNZAGAIN两条语句可合并用一条语句LOOPAGAIN代替。
10.写出执行下列程序段的中间结果:
MOVAX,0809H
MOVDL,10
XCHGAH,DL
MULAH;AX=005AH
AAM;AX=0900H
ADDAL,DL;AX=0908H
11.现要用6116(2K×8位)静态RAM芯片构成8K×32位的存储器,共需此种芯片16片。
12.8086/8088微处理器对I/O设备的管理是利用IN和OUT指令来实现的。
13.已知中断向量表中,001C4H中存放2200H,001C6H中存放3040H,则其中断类型码是
71H,中断服务程序的入口地址的逻辑地址和物理地址分别为3040H:
2200H和32600H。
得分
二、单项选择。
(10分1分/题)
1.算式65H-3EH的运算结果是否有溢出,结果的真值为(C)
A.有、39
B.有、27
C.无、39
D.无、27
2.CPU执行算术运算指令不会影响的标志位是(D)
A.溢出标志
B.符号标志
C.零标志
D.方向标志
3.已知AL,BL中为无符号数,若使AL≤BL时转到标号AGAIN,哪个程序段不能实现
此功能 (D )
A.CMP AL,BL B.CMP AL,BL
JC AGAIN JBE AGAIN
C.CMPBL,AL D.CMPAL,BL
JNC AGAIN JNBAGAIN
4.下列指令中不会改变指令指示器IP的是( A)
A.MOV
B.JMP
C.CALL
D.RET
5.使用移位指令,把寄存器的最高位移入CF,并在最低位补为0时使用( D)
A.ROL
B.SAR
C.SHR
D.SAL
6.已知下列程序段
DATADW04H,05H,06H
:
:
:
:
LEABX,DATA
MOVAX,3
ADDBX,AX
MOVAX,[BX]
:
:
当程序执行完MOVAX,[BX]指令后,AX=( C)
A.0400H
B.0500H
C.0600H
D.8000H
7.某存贮器的容量为4K字节,则CPU至少应提供( C)根地址线才能对所有存贮单
元进行寻址。
A.14
B.13
C.12
D.11
8.8086/8088指令OUT 80H,AL表示( C )
A.将80H送给AL
B.将80H端口的内容送给AL
C.将AL的内容送给80H端口
D.将AL内容送给80H内存单元
9.若8255A口工作于方式1输出,B口工作于方式0输入,C口工作于方式0输入,则方式控制字应为( B)。
A.0A9H
B.0ABH
C.0A3H
D.1BH
10.80X86有几种类型的中断。
(B)
A.1种
B.2种
C.3种
D.4种
得分
三、一数据段定义如下:
ORG0000H
DATASEGMENT
S1DB1,2,3,4,5
S2DB‵12345′
COUNTEQU$-S1
NBDB3DUP
(2)
NWDW-120,-3
PDW-2,S2
DATAENDS
画出该数据段中数据的存储形式。
(10分)
得分
四、简答题。
(15分)
1.分别指出下列指令中目的操作数的寻址方式。
(5分)
(1)MOVAX,1000H
(2)MOVAX,ES:
1000H
(3)ADDAX,[BX+4](4)SUBAX,[BX+DI+5]
(5)MOV[BX],AL
(1).立即寻址
(2).直接寻址
(3).基址寻址
(4).基址变址寻址
(5).寄存器寻址
2.分别写出实现下列功能的程序段。
(10分)
(1)将AX中间8位(作高8位),BX的低4位和DX的高4位(作低4位)拼成一个新
的字。
MOVCL,4
SHLAX,CL
SHLBL,CL
MOVAL,BL
SHRDH,CL
ORAL,DH
(2)将AL中一个两位的十六进制数变换成为其所对应的ASCII码,存放到AX中。
MOVAH,AL
ANDAL,0FH
CMPAL,0AH
JBG1
ADDAL,7
G1:
ADDAL,30H
MOVCL,4
ANDAH,0F0H
SHRAH,CL
CMPAH,0AH
JBG2
ADDAH,7
G2:
ADDAH,30H
得分
四、编写程序实现从键盘输入一个补码数(1-4位十六进制数),在显示器上以十进制形式显示其真值。
(10分)
例如:
输入FFFF;
输出=-1;
输入80;
输出=128
stacksegmentstack'stack'
dw32dup(0)
stackends
datasegment
obufdb'inputonenumber:
=','$'
obuf1db'result:
=','$'
ibufdb5,0,5dup(0)
obuf2db7dup(0)
dataends
codesegment
beginprocfar
assumess:
stack,cs:
code,ds:
data
pushds
subax,ax
pushax
movax,data
movds,ax
movdx,offsetobuf
movah,9
int21h
movdx,offsetibuf
movah,10
int21h
movdl,0ah
movah,2
int21h
movdx,offsetobuf1
movah,9
int21h
movsi,offsetibuf+2
movbl,ibuf+1
movbh,0
movax,0
movcl,4
again:
shlax,cl
movdh,[si]
cmpdh,41h
jcag1
subdh,7
ag1:
subdh,30h
oral,dh
incsi
decbx
jnzagain
movcx,10
movdi,offsetobuf2+6
movbyteptr[di],'$'
testax,8000h
pushf
jzag2
negax
ag2:
movdx,0
divcx
adddl,30h
decdi
mov[di],dl
orax,ax
jnzag2
popf
jzag3
decdi
movbyteptr[di],'-'
ag3:
movdx,di
movah,9
int21h
ret
beginendp
codeends
endbegin
得分
五、CPU要实现对16个I/O端口280H-28FH的寻址,画出地址译码电路
(10分)
得分
六、用8255的A端口接8只理想开关输入二进制数,B端口和C端口各接8只发光二极管显示二进制数。
设计控制电路和控制程序,实现读入开关数据(原码)送B端口(补码)和C端口(绝对值)的发光二极管显示的功能。
(设端口地址为280H-283H)(20分)
接口电路图:
控制程序:
stacksegmentstack'stack'
dw32dup(0)
stackends
codesegment
startprocfar
assumess:
stack,cs:
cods
pushds
subax,ax
pushax
movax,data
movds,ax
MOVDX,283H
MOVAL,90H
OUTDX,AL
MOVDX,280H
INAL,DX
ANDAL,AL
JNSDN
ANDAL,7FH
MOVDX,282H
OUTDX,AL
NEGAL
DECDX
OUTDX,AL
RET
DN:
INCDX
OUTDX,AL
INCDX
OUTDX,AL
ret
startendp
codeends
endstart