一.选择题
1、通常说计算机的内存为32M、64M或128M指的是:(c)
A.RAM的容量
2.
A
C运行速度快
3
十六进制数88H,可表示成下面几种形式,请找出错误的表示(d
A.
C.压缩型BCD码十进制数88
4
下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是(b
A
C、SP,IP,BP,DX
5
A.AX,BX,CX,DX
C.SP,BP,IP,BX
6.当运行结果为0时,ZF=____b______。
A
7某次求和结果最高位为1,则SF=____b______。
A
8设DS=5788H,偏移地址为94H,该字节的物理地址_____c________。
A 57974H
9. “MOV
A
CS
10.下面不能用于寄存器寻址的寄存器有(
A. CS
11存储器寻址方式在指令中给出操作数在内存中的地址,该地址是(c)
A
逻辑地址
12.堆栈的操作原则是________b_____。
A
13 “MOV SP,3210H”和“PUSH
AX”指令执行后,SP寄存器值是_c___。
A
14
A
15用一条指令实现将AX←BX+SI的方法是__d____
A XCHG
C
16.设AX=1000H,BX=2000H,则在执行了指令“SUB AX, BX”后,
标志位CF和ZF的值分别为________c_____。
A
0
17.设DH=10H,执行NEG
A.DH=10H CF=1
C.DH=10H CF=0
18.
A
C有符号乘法:DX←AL×CL
19.
A
20.下列4条指令中,有___a___条指令需要使用DX寄存器
MUL
A 1
21.执行下面指令序列后,结果是(
MOV
CBW
A
22. 执行AND
A最高位为0
23.指令_a__实现对AX当中D15和D0位设置为0,其他位不变的功能。
A AND
C XOR
24.指令__b___实现对AX当中D15和D0位设置为1,其他位不变的功能。
A AND
C
25.执行OR
A
26.指令______c____实现对AX当中D15和D0位求反,其他位不变的功能。
A AND
C
27设AX=1000H
A 1001H
28.
A
C AND
29.执行“SAR
A
0
30.对寄存器AX的内容乘以2的指令是__b____。
A SHR
C ROR
31
8086/8088CPU的条件转移指令Jcc采用____a______地址寻址方式。
A相对
32.编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有(
A、CMP
33当标志CF=1时转移到目的地址的条件转移指令是____a__
A JC
34条件转移指令JA产生程序转移的条件是__b____
A
35.循环指令LOOPNZ继续循环的条件是___c___
A
CX
D CX≠0,或ZF=1
三判断错对
1.“46”用原码表示为:(00101110)原码
“-46”用原码表示为:(10101110)原码对
2.086/8088系统中,堆栈的操作可以是字节或字操作。错
3
已知AX=1234H、BX=4612H,计算1234-4612的差的算法不能写成下面的形式:对
SUB
4
已知CL=23H,指令“CMP
5判断下列8086指令的对错:SHL
6.
对寄存器AX的内容乘以4的正确指令序列是SHL
AX,1;SHL,AX,1
7. 已知CL=0,指令INC
CL的执行的结果CF=不变对
8.设DH=10H,执行NEG
9下列指令中,执行后对标志未发生影响的是D错
A MOV AX,[BX]
C AND
10对寄存器AX的内容乘以2的指令是SHL AX,1对
11. 8088按逻辑段组织程序,数据变量应该且必须在数据段中。错
12. 说明性语句可以在任何一个段中。对
13. 使用简化段定义源程序格式,必须具有.MODEL语句,
且位于所有简化段定义语句之前。对
14.
使用简化段定义源程序格式,必须具有.MODEL语句,但写在何处没有关系.错
15. 正误判断题:源程序中只能用标号START表示程序的起始执行点。错
16. 完整段定义的程序入口点首先应该设置数据段寄存器的值。对
17.汇编源程序可以用WORD文字处理系统处理,并保存为WORD文档。错
18.对于常数41H,在汇编语言中表达成字符’A’也是正确的,
因’A’的ASCII码就是41H。对
19. EQU和=两个伪指令的功能和用法一样。错
20. MOV AX , DI + SI有没有语法错误?错
四.填空题
1.
2.
3.
4.
5.
6.
1KB=210B=1024B,1MB=220B=210KB=1024KB,1GB=230B=210MB=220KB=1024MB,1TB=240B=230KB=220MB。所以答案:1024/210
7.
输入输出接口电路(I/O接口)
8.
9.
10.
1101+11=10000
11.
主存寻址空间为1M,数据线有16条eee
12.
13.
14.
15.
16.
17.
18.
19.
20.
五.回答问题
1.说明下列指令中源操作数的寻址方式?如果BX=2000H,DI=40H,给出DX的值或有效地址EA的值。
(1) MOV DX,[1234H]
(1)直接寻址,EA=1234H
(2)
MOV DX,1234H
(2)立即数寻址,DX=1234H
(3)
MOV DX,BX
(3)寄存器寻址,DX=2000H
(4) MOV DX,[BX]
(5) MOV DX,[BX+1234H]
(5)相对寻址,EA=3234H
(6)
MOV DX,[BX+DI]
(7) MOV DX,[BX+DI+1234H]
(7)相对基址变址寻址,EA=3274H
2已知DS = 2000H、BX =
0100H、SI = 0002H,存储单元[20100H] ~
[20103H]依次存放12 34 56 78H,[21200H] ~
[21203H]依次存放2A 4C B7
65H,说明下列每条指令执行完后AX寄存器的内容。
3、请分别用一条汇编语言指令完成如下功能:
(1)把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器。
(2)用寄存器BX和SI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,并把结果送到AL中。
(3)用BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和CX寄存器的内容相加,并把结果送回存储器中。
(4)用位移量为0520H的直接寻址方式把存储器中的一个字与数3412H相加,并把结果送回该存储单元中。
(5)把数0A0H与AL寄存器的内容相加,并把结果送回AL中。
(1)ADD
DX,BX
(2)ADD
AL,[BX+SI]
(3)ADD
[BX+0B2H],CX
(4)ADD WORD PTR
[0520H],3412H
(5)ADD
AL,0A0H
六编程序
1.
BUF
DSEG
CSEG
START:
CSEG
2.
MOV
3.
此类拆字问题一般均采用移位指令。先将DAT单元内容取出,屏蔽高四位,送入DAT+2单元。再将DAT单元内容右移四位。即:将高四位移至低四位,高四位补0,送入DAT+1单元。
程序如下:
MOV
MOV
AND
MOV
SHR
MOV
HLT
4.
|
|
x+1 |
x>0 |
y= |
x |
x=0 |
|
|
x-1 |
x<0 |
、本题为分支加简单运算。判断条件在零的左右,分支有三条,
程序如下:
I1:
L1:
5.
本题所要做的工作是将100个连续单元逐一清零。采用循环的方法最为简单。设置一个循环计数器,每清完一个单元,计数器减1,然后判断计数器是否为0,不为0则再去清一个存储单元,否则清零工作完成。
编程如下:
LP:
MOV [BX],0
注:以上采用字节操作,每次清一个存储单元。也可以采用字操作,每次清两个存储单元。
程序如下:
LP:
注:当不知道所清单元个数但已知结束条件时,可编程序如下:
LP: