微机原理练习题Word文档格式.doc
《微机原理练习题Word文档格式.doc》由会员分享,可在线阅读,更多相关《微机原理练习题Word文档格式.doc(16页珍藏版)》请在冰点文库上搜索。
5、8086中(D)的源操作数和目的操作数可同时为存储器操作数。
A、数据传送指令B、算术、逻辑运算指令
C、控制转移指令D、串操作指令
6、下列指令中隐含使用寄存器SI的是:
(B)
A.HLTB.CMPSBC.XLATD.NOT
7、下列指令中,有语法错误的指令是(D)
A.MOVAX,[BX][SI]
B.LEADI,[2000H]C.OUTDX,AL
D.SHLBX,2
8、将AL中带符号数乘10送AL,正确的程序段是(A)。
A. SALAL,1 B. ADDAL,AL
MOVBL,AL MOVBL,AL
SALAL,1 ADDAL,AL
ADDAL,BL ADDAL,AL
C.MOVCL,4 D. ADDAL,AL
MOVBL,AL ADDAL,AL
SALAL,CL ADDAL,AL
ADDAL,BL ADDAL,AL
ADDAL,AL
9、假定SS=2000H,SP=0100H,AX=2107H,执行指令PUSHAX后,存放数据21H的物理地址是(D)。
A、20102HB、20101HC、200FEHD、200FFH
10、在串传送指令MOVSB中,源串操作数和目的串操作数使用的数据段和偏移地址指针寄存器为A。
A.DS和SI;
ES和DIB.DS和DI;
ES和SI
C.ES和SI;
DS和DID.DS和SI;
DS和DI;
11、
寻址方式(A)的段超越前缀不可省略。
A.DS:
[BP]
B.DS:
[SI]
C.DS:
[DI]
D.SS:
[BP]
段超越:
不在默认段内寻址,而在其它段内寻址,就称为段超越。
通常取指令时,默认在代码段内寻址,即物理地址由CS:
IP给出。
取数据时,在数据段内寻址,物理地址由DS:
EA给出。
但若指令中用了寄存器BP作为地址寄存器时,默认在堆栈段内寻址,物理地址由SS:
串操作时,源串默认在数据段内,目的串默认在附加段内。
堆栈操作时,默认在堆栈段内寻址,由SS:
SP给出物理地址。
若编程时不想按默认规定进行,可用段超越,如BP用作地址寄存器时,若数据放在数据段内,编程时就必须用段超越前缀指明,即DS:
[BP],CPU就知道此时数据在数据段内,而不是默认的堆栈段内。
12、若要检查BX寄存器中的D12位是否为1,应该用指令(B)。
A.OR
BX,1000H
B.TEST
BX,1000H
JNZ
NO
JNZ
YES
C.XOR
D.AND
JZ
YES
13、用BP作基址变址寻址时,默认操作数所在的段是(C)。
A.数据段
B.代码段
C.堆栈段
D.附加段
14、执行下列指令后:
MOV
AX,1234H
CL,4
ROL
AX,CL
DEC
AX
CX,4
MUL
CX
HLT
AX=(A)
A.8D00H
B.9260H
C.8CAOH
D.0123H
15、下列程序:
NEXT:
MOV
AL,[SI]
MOV
ES:
[DI],AL
INC
SI
DI
LOOP
NEXT
可用指令(D)来完成该功能。
A.REP
LODSB
B.REP
STOSB
C.REPE
SCASB
D.REP
MOVSB
16、设AL=-68,BL=86,执行SUB
AL,BL指令后,下列标志位中正确的是(C)。
A.CF=1
B.SF=1
C.OF=1
D.ZF=1
17、下列4条指令中,指令(A)需要使用DX寄存器。
A.MULBX;
B.DIVBL;
C.INAX,20H;
D.OUT20H,AL;
18、下列指令中,不影响CF标志位的指令是(D)。
A.SUBAX,BXB.RORAL,1C.ANDAL,BLD.INCDL
19、下列指令经汇编后,机器指令代码最长的是(A)。
A.MOVAX,0B.SUBAX,AXC.XORAX,AXD.MULBX
20、假设AX和BX寄存器中存放的是有符号整数,为了判断AX寄存器中的数据是否大于BX寄存器中的数据,应采用指令序列(D)。
A.SUBAX,BXB.SUBAX,BX
JClabelJNClabel
C.CMPAX,BXD.CMPAX,BX
JAlabelJGlabel
21、循环指令LOOPNZ终止循环的条件是(B)。
A、CX=0,且ZF=0
B、CX=0,或ZF=1
C、CX=0,且ZF=0
D、CX=0,或ZF=1
22、对寄存器AX的内容乘以4的正确指令序列是(B)。
A、SHRAX,1
SHRAX,1
B、SHLAX,1
SHLAX,1
C、ROLAX,1
ROLAX,1
D、RCRAX,1
RCRAX,1
23、设DH=10H,执行NEGDH指令后,正确的结果是(D)。
A、DH=10HCF=1
B、DH=F0HCF=0
C、DH=10HCF=0
D、DH=F0HCF=1
24、下列传送指令中有语法错误的是(A)。
A、MOVCS,AX
B、MOVDS,AX
C、MOVSS,AX
D、MOVES,AX
25、下面指令执行后,改变AL寄存器值的指令是(D)。
A、TESTAL,02H
B、ORAL,AL
C、CMPAL,BL
D、ANDAL,BL
26、执行下面指令序列后,结果是(A)。
MOVAL,82H
CBW
A、AX=FF82H
B、AX=8082H
C、AX=0082H
D、AX=0F82H
27、 MOVSP,3210H
PUSHAX
执行上述指令序列后,SP寄存器的值是(B)
A、3211H
B、320EH
C、320FH
D、3212H
28、AL和VAR字节单元中分别存放一个带符号数,执行CMPAL,VAR时,如AL>
VAR,那么溢出标志位和符号标志位的关系是(A).
A、OF=SF
B、OF≠SF
C、OF=SF=1
D、OF=SF=0
29、检查BUF的内容是否为正偶数,如是正偶数,则将AL置为0,下面程序段正确的是(C)。
A、MOVAL,BUF
SHRAL,1
JNCK1
MOVAL,0
K1:
……
B、MOVAL,BUF
ANDAL,1
JNZK2
K2:
C、MOVAL,BUF
TESTAL,81H
JNZK3
K3:
D、MOVAL,BUF
TESTAL,80H
JNZK4
K4:
三、程序分析题
1、执行下列指令后AL的值是(11H).
MOVAL,08H
ADDAL,09H
2、执行下面的程序段后,AL的内容是(20H),BL的内容是(0).
MOVAL,20H
4、源程序如下:
MOVAL,0B7H
ANDAL,0DDH
XORAL,81H
ORAL,33H
JPLAB1
JMPLAB2
试问:
j执行程序后AL=___37H____;
k程序将转到哪一个地址执行?
____LAB2______。
TESTAL,80H
JNZDO1
MOVBL,0
JMPDO2
DO1:
MOVBL,1
DO2:
HLT
3、下面程序段执行后,AX=(003CH)。
MOVSI,0
MOVDI,0
MOVCX,60
REP MOVSB
MOVAX,SI
第四章练习题
1、假设DS=2000H,BX=1256H,SI=528FH;
位移量TABLE=20A1H,(232F7H)=3280H,(264E5H)=2450H,则
执行指令JMPBX后,IP=1256H;
执行指令JMPTABLE[BX]后,(IP)=3280H;
执行指令JMP[BX][SI]后,(IP)=2450H。
2、设AX和BX寄存器中是有符号数,CX和DX寄存器中是无符号数,写出下列条件转移指令序列。
(1)CX值高于或等于DX值,则转移HIEQU
CMPCX,DXJAEHIEQU
(2)AX值大于BX值,则转移GREAT
CMPAX,BXJGEGREAT
(3)CX值为0,则转移ZERO
JCXZZERO
(4)AX值小于或等于BX值,则转移SMAEQU
CMPAX,BXJLESAMEQU
(5)CX值低于或等于DX值,则转移LOWEQU
CMPCX,DXJBELOWEQU
(6)AX为负值,则转移NEGAT
CMPAX,0JLNEGAT
(7)AX为偶数,则转移IMAGE
SHRAX,1JNCIMAGE
3、指出下列指令序列中的错误。
功能:
从端口5FH中输入数据到AL,对该数据进行符号扩展
CMPAL,-3
JAINVALIDJG
…
CODE SEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
LEABX,FIRST
LEASI,SECOND
MOVCL,2
MOVDX,4
NEXT:
MOVAL,[BX]
SHLAL,CL
MOV[SI],AL
INCBX
INCSI
DECDX
JNZNEXT
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
INVALID:
……
4、分析下列程序段完成什么功能?
BEGIN:
INAL,5FH
TESTAL,80H
JNZNEGATIVE
MOVAH,0
JMPSTOP
NEGATIVE:
MOVAH,0FFH
STOP:
HLT
5、编写下列程序
数据段定义如下:
DATASEGMENT
FIRST DB90H,5FH,6EH,69H
SECONDDB4DUP(?
)
DATA ENDS
编写程序,将FIRST开始的四个字节十六进制数左移两位,
结果存放在SECOND开始的存储区中。
6、编写程序计算S=2+4+6+……+200。
7、设数据段定义如下:
编写一个程序,
比较两个字符串是否相等。
若两个字符串相等,则在RESULT单元存放字符‘E’;
否则存放字符‘N’。
8、下列程序段运行后,A单元的内容为250。
9、分析以下程序段
ADDAX,BX
JNOL1
JNCL2
SUBAX,BX
JNCL3
JNOL4
JMPSHORTL5
(1)如果AX=147BH,BX=80DC,则程序执行后,程序转向标号L1执行。
(2)如果AX=42C8H,BX=608DH,则程序执行后,程序转向标号(L2)执行。
(3)如果AX=D023H,BX=9FD0H,则程序执行后,程序转向标号(L5)执行
在上述三种情况下,当程序执行完后,AX、BX、CX、DX的值分别是多少?
10、在下列程序的横线上分别填入如下指令:
(1)LOOPL20
(2)LOOPEL20
(3)LOOPNEL20
MOVAX,01
MOVBX,02
MOVDX,03
MOVCX,04
L20:
INCAX
ADDBX,AX
SHRDX,1
HLT
11、下列程序段是比较AX,BX,CX中带符号数的大小,将最大数放在AX中。
请将程序填充完整。
CMPAX,BX
JGENEXT
XCHGAX,BX
NEXT:
CMPAX,CX
JGEOUT
XCHGAX,CX
OUT:
12、对于下列程序段:
AGAIN:
MOVAL,[SI]
MOVES:
INCSI
INCDI
LOOPAGAIN
也可用指令A完成同样的功能。
A)REPMOVSBB)REPLODSBC)REPSTOSBD)REPESCASB
第五章思考题
1、静态RAM的优点是只要电源不撤除,信息就不会丢失,但它的功耗较大,容量__较小______,存取速度_____较快___。
2、16K字节的RAM芯片应有__14____根地址输入端.
16K字节表示成16KB,也即16K*8=16*210*8=214*8,故有14根地址线
3、RAM称为_______随机读写存储器____,ROM称为__只读存储器___。
RAM一般有两类,分别是:
SRAM和DRAM。
4、实现片选控制的三种方法有全译码、部分译码、线选;
只有全译码没有地址重叠。
二、单项选择题
1、计算机中地址的概念是内存储器各存储单元的编号,现有一个32KB的存储器,用十六进制对它的地址进行编码,则编号可从0000H到(
B
)H。
A.
32767
B.
7FFF
C.
8000
D.
8EEE
32KB即为32*210=25*210=215,故应有15个二进制的1.7FFFH写成二进制为0111,1111,1111,1111。
2、在一般的PC机系统中,下面说法正确的是(D)。
A)EPROM是不能改写的
B)EPROM是可以改写的,所以也是一种读写存储器
C)EPROM只能改写一次
D)EPROM是可以改写的,但是不能作为读写存储器
3、与外存储器(如硬盘)相比,内存储器的特点是(B)。
A)容量大、速度快 B)容量小、速度快C)容量大、速度慢D)容量小、速度慢
三、简答题
1.在8088/8086中,从物理地址388H开始顺序存放下列三个字数据,651AH,D761H和007BH,请问物理地址388H,389H,38AH,38BH,38CH和38DH6个单元中分别是什么数据?
2、画出数据DATA在存储器中的存储情况。
DATADW5634H,9BH,2DUP(5678H,55H)
3、用下列芯片构成存储系统,需要多少RAM芯片?
需要多少位地址作为片外地址译码?
(1)512×
4位RAM构成16KB的存储系统;
64片2片一组,分为32组,故需5位地址作片外地址译码
(2)1024×
1位RAM构成4KB的存储系统;
32片8片一组,分为4组,故需2位地址作片外地址译码
(3)2K×
4位RAM构成32KB的存储系统;
32片2片一组,分为16组,故需4位地址作片外地址译码
(4)64K×
8位RAM构成256KB的存储系统;
4片故需2位地址作片外地址译码
4、计算内存芯片地址范围。
如作业题的
5、用二片静态RAM芯片