西南大学《汇编语言》复习思考题答案.docx
- 文档编号:27461998
- 上传时间:2023-07-01
- 格式:DOCX
- 页数:37
- 大小:29.93KB
西南大学《汇编语言》复习思考题答案.docx
《西南大学《汇编语言》复习思考题答案.docx》由会员分享,可在线阅读,更多相关《西南大学《汇编语言》复习思考题答案.docx(37页珍藏版)》请在冰豆网上搜索。
西南大学《汇编语言》复习思考题答案
(0413)《汇编语言》复习思考题
一.单项选择题
1.CPU要访问的某一存储单元的实际地址称( )
A.段地址 B.偏移地址
C.物理地址 D.逻辑地址
2.某存储单元的物理地址是12345H,可以作为它的段地址有( )
A.2345H B.12345H
C.12340H D.1234H
3.执行后使BX=0的同时也使CF=0,OF=0的指令是( )
A.XORBX,BX B.ORBX,BX
C.ANDBX,BX D.CMPBX,BX
4.循环控制指令LoopNZ/LoopNE控制循环继续执行的条件是( )
A.CX≠0且ZF=1 B.CX≠0且ZF=0
C.CX≠0或ZF=1 D.CX≠0或ZF=0
5.在执行DAA指令,当高四位BCD码校正时产生进位,如要把此进位值送入AH中,对这进位值的操作应是( )
A.DAA校正指令的功能已自动加在AH中
B.进位值在AF中,校正后根据AF内容再加在AH中
C.进位值在CF中,校正后根据CF内容再加在AH中
D.进位值在AL最高位上,校正后根据AL最高位内容再加在AH中
6.AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是( )
A.指令XORAX,AX执行后,AX内容不变,但设置了标志位
B.指令ORDX,1000H执行后,将DX最高位置1,其余各位置0
C.指令ANDAX,OFH执行后,分离出AL低四位
D.NOTAX,执行后,将AX清0
7.在执行下列指令时,需要使用段寄存器DS的指令是( )
A.STOSW B.ADDAL,CL
C.NEGBX D.INCDA[BX]
8.无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是( )
A.ADDBH,01H B.ORBH,01H
C.XORBH,01H D.TESTBH,01H
9.完成对CL寄存器的内容乘以4的正确操作是( )
A.ROLCL,1 B.MUL4
ROLCL,1
C.SHLCL,1 D.MOVCL,2
SHLCL,1 SHLCL,CL
10.下面各传送指令中,正确的是( )
A.MOV[DI],[SI] B.MOV[DX+DI],AL
C.MOVWORDPTR[BX],0100H D.MOVAL,BX
11.汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法( )
A.名字的第一个字符可以是大写英文字母及小写英文字母
B.名字的第一个字符可以是字母.数字及.@._
C.名字的有效长度≤31个字符
D.在名字中不允许出现$
12.要实现使BETA的值为56,应采用语句为( )
A.BETADB56 B.BETADB56H
C.BETAEQU56 D.BETAEQU56H
13.REPZCMPSW指令,重复执行的终止条件是( )
A.CX=0或ZF=0 B.CX=0且ZF=0
C.CX=0或ZF=1 D.CX=0且ZF=1
14.下面程序段执行后,AL中的内容是( )
MOVAX,8833H
ADDAL,AH
DAA
A.21 B.21H
C.0C1H D.0DDH
15.比较两个带符号的数A.B,当A=B时程序转移,测试的条件为( )
A.ZF=1 B.ZF=0
C.SF=1 D.SF=0
16.检查二个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMPAL,BL”指令后应跟的分支指令是( )
A.JNCLOP1 B.JALOP1
C.JCLOP1 D.JGELOP1
17.在下列串操作指令中,同时使用源串和目的串地址指针的指令是( )
A.STOSW B.LODSW
C.SCASW D.CMPSW
18.设AL=0AH,下列指令执行后能使AL=05H的是( )
A.NOTAL B.ANDAL,0FH
C.XORAL,0FH D.ORAL,0FH
19.DA1DW‘AB’,‘CD’,‘EF’,‘GH’( )
┇
MOVAX,DA1+3
指令执行后AX中的内容是
A.‘EF’ B.‘CD’
C.‘BC’ D.‘FC’
20.使用DOS系统功能调用时,使用的软中断指令是( )
A.INT21 B.INT10H
C.INT16H D.INT21H
21.设DS=8225H,DI=3942H,指令NEGBYTEPTR[DI]操作数的物理地址是()
A.85B92H
B.86192H
C.BB690H
D.12169H
22.下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是()
A.AX,BX,CX,DX
B.BX,BP,SI,DI
C.SP,IP,BP,DX
D.CS,DS,ES,SS
23.循环指令LOOPNZ终止循环的条件是()。
A.CX=0,且ZF=0
B.CX=0,或ZF=1
C.CX=1,且ZF=0
D.CX=1,或ZF=1
24.对寄存器AX的内容乘以4的正确指令序列是()。
A.SHRAX,1SHRAX,1
B.SHLAX,1SHLAX,1
C.ROLAX,1ROLAX,1
D.RCRAX,1RCRAX,1
25.执行INC指令除对SF.ZF有影响外,还要影响的标志位是()。
A.OF,AF,PF
B.OF,AF,CF
C.OF,PF,CF
D.AF,PF,CF
26.设DH=10H,执行NEGDH指令后,正确的结果是()
A.DH=10HCF=1
B.DH=0F0HCF=0
C.DH=10HCF=0
D.DH=0F0HCF=1
27.下列传送指令中有语法错误的是()
A.MOVCS,AX
B.MOVDS,AX
C.MOVSS,AX
D.MOVES,AX
28.下面指令执行后,改变AL寄存器内容的指令是()
A.TESTAL,02H
B.ORAL,AL
C.CMPAL,BL
D.ANDAL,BL
29.执行除法指令后,影响的标志位是()
A.CF,OF
B.SF,ZF
C.CF,OF,SF
D.AF,CF,OF,PF,SF,ZF都不确定
30.执行下面指令序列后,结果是()
MOVAL,82H
CBW
A.AX=0FF82H
B.AX=8082H
C.AX=0082H
D.AX=0F82H
31.与MOVBX,OFFSETVAR指令完全等效的指令是()
A.MOVBX,VAR
B.LDSBX,VAR
C.LESBX,VAR
D.LEABX,VAR
32.在段定义时,如果定位类型用户未选择,就表示是隐含类型,其隐含类型是()
A.WORD
B.PAGE
C.BYTE
D.PARA
33.MOVSP,3210H
PUSHAX
执行上述指令序列后,SP寄存器的值是()
A.3211H
B.320EH
C.320FH
D.3212H
34.BUFDW10HDUP(3DUP(2,10H),3,5)
上述语句汇编后,为变量BUF分配的存储单元字节数是()
A.80H
B.100H
C.124
D.192
35.在汇编语言程序的开发过程中使用宏功能的顺序是()
A.宏定义,宏调用
B.宏定义,宏展开
C.宏定义,宏调用,宏展开
D.宏定义,宏展开,宏调用
36.汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是()
A.名字项
B.操作项
C.操作数项
D.注释项
37.编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有()
A.CMP
B.SUB
C.AND
D.MOV
38.为使CX=-1时,转至MINUS而编制了一指令序列,其中错误的序列是()
A.INCCXJZMINUS
B.SUBCX,OFFFFHJZMINUS
C.ANDCX,OFFFFHJZMINUS
D.XORCX,OFFFFHJZMINUS
39.AL和VAR字节单元中分别存放一个带符号数,执行CMPAL,VAR时,如AL》VAR,那么溢出位和符号位的关系是()
A.OF=SF
B.OF1SF
C.OF=SF=1
D.OF=SF=0
40.检查BUF的内容是否为正偶数,如是正偶数,则0TAL下面程序段正确的是()
A.MOVAL,BUF
JSK1
SHRAL,1
JNCK1
MOVAL,0
K1:
……
B.MOVAL,BUF
ANDAL,11
JNZK2
MOVAL,0
K2:
……
C.MOVAL,BUF
TESTAL,81H
JNZK3
MOVAL,0
K3:
……
D.MOVAL,BUF
JNPK4
TESTAL,80H
JNZK4
MOVAL,0
K4:
……
41.十六进制数88H,可表示成下面几种形式,请找出错误的表示()。
A.无符号十进制数136
B.带符号十进制数-120
C.压缩型BCD码十进制数88
D.8位二进制数-8的补码表示
42.指令指针寄存器是()。
A.IP
B.SP
C.BP
D.PSW
43.当执行指令ADDAX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是()。
A.表示结果中含1的个数为偶数
B.表示结果中含1的个数为奇数
C.表示该数为偶数
D.表示结果中低八位含1的个数为偶数
44.完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是()。
A.MOVAL,00H
B.ANDAL,00H
C.XORAL,AL
D.SUBAL,AL
45.下列指令执行后总是使CF=0,OF=0的是()。
A.AND
B.NEG
C.NOT
D.INC
46.完成同指令XCHGAX,BX相同功能的指令或指令序列是()。
A.MOVAX,BX
B.MOVBX,AX
C.PUSHAX
POPBX
D.MOVCX,AX
MOVAX,BX
MOVBX,CX
47.设AH=0,AL=06H,BL=09H,执行指令
ADDAL,BL
AAA
之后,其结果应是()。
A.AH=01,AL=05
B.AH=1AL=15
C.AH=0AL=0FH
D.AH=0AL=05
48.设AL=0B4H,BL=11H,指令“MULBL”和指令“IMULBL”分别执行后OF,CF的值为()。
A.OF=1,CF=0
B.OF=1,CF=1
C.OF=0,CF=0
D.OF=0,CF=1
49.在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是()。
A.CX=0且ZF=0
B.CX=0且ZF=1
C.CX=0或ZF=0
D.CX=0或ZF=1
50.下面指令中,合理而有意义的指令是()。
A.REPLODSB
B.REPSCASB
C.REPCMPSB
D.REPMOVSB
51.在汇编语言程序中,对END语句的叙述正确的是()。
A.END语句是一可执行语句
B.END语句表示程序执行到此结束
C.END语句表示源程序到此结束
D.END语句在汇编后要产生机器码
52.下面的数据传送指令中,错误的操作是()。
A.MOVSS:
[BX+DI],1000H
B.MOVDX,1000H
C.MOVWORDPTR[BX],1000H
D.MOVDS,2000H
53.下面指令执行后,变量DAB中的内容是()。
DAWDW2A05H
DABDB0FAH
:
MOVAL,BYTEPRTDAW
SUBDAB,AL
A.0DAH
B.0FAH
C.0F5H
D.0D0H
54.执行下列指令后,正确的结果是()。
MOVAL,100
MOVBL,-2
A.AL=100H
BL=02H
B.AL=64H
BL=0FEH
C.AL=64H
BL=82H
D.AL=100H
BL=0FEH
55.设数据段中已有:
DA1DB12H,34H
DA2DW56H,78H
下面有语法错误的语句是()。
A.ADR1DWDA1
B.MOVDA1+1,AX
C.MOVBYTEPTRDA2+1,AL
D.MOVWORDPTRDA1+1,AX
56.实现将DX:
AX中存放的32位数扩大四倍,正确的程序段是()。
A.SHLAX,2
ROLDX,2
B.RCLAX,2
SHLDX,2
C.MOVCX,2
LOP:
SHLAX,1
RCLDX,1
LOOPLOP
D.SHLAX,1
SHLAX,1
RCLDX,1
RCLDX,1
57.DATASEGMENT
TA1DW0102H,0304H,0506H
TA2DB02H,03H,04H
:
MOVBX,DS:
[0006H]
ANDBX,0FFH
ANDBH,[BX]
上述指令序列运行后,BX的内容是()。
A.0605H
B.0402H
C.0606H
D.0204H
58.当一个带符号数大于0FBH时程序转移,需选用的条件转移指令是()。
A.JLE
B.JNL
C.JNLE
D.JL
59.下面指令序列测试BH中的数是否为奇数,若为奇数则转移至K1处,横线处的指令应为()。
TESTBH,01H
_________K1
A.JNE
B.JZ
C.JS
D.JC
60.测试BL寄存器内容是否与数据4FH相等,若相等则转NEXT处执行,可实现的方法是()。
A.TESTBL,4FH
JZNEXT
B.XORBL,4FH
JZNEXT
C.ANDBL,4FH
JZNEXT
D.ORBL,4FH
JZNEXT
二.简答题
1.在指令系统中,段内.段间返回均为RET指令。
试回答:
(1)执行段内返回RET指令时,执行的操作是:
(2)执行段间返回RET指令时,执行的操作是:
2.ARYDW10DUP(?
)
┇
MOVAL,TYPEARY
MOVBL,LENGTHARY
MOVCL,SIZEARY
上述MOV指令序列执行后的结果是什么?
3.设某数据段:
DATASEGMENT
ORG20H
NUM1=8
NUM2=NUM1+10H
DA1DB'COMPUTER'
DB0AH,0DH
COUNTEQU$-DA1
DA2DW'CO','MP','UT','ER'
DATAENDS
试回答:
(1)DA1的偏移地址是:
___________________
(2)COUNT的值是___________________________________
(3)DA2+5字节单元的内容是_________________________________
4.8位无符号整数的表示范围为0~255,写成16进制形式为00H~__________;8位有符号整数的表示范围为-128~+127,写成16进制形式为__________~__________。
5.8086/8088分段管理存储空间,但每段容量最大不超过__________。
6.逻辑地址为F000:
100的存储单元,其物理地址是__________。
7.用来指示堆栈栈顶的偏移地址的是__________寄存器。
8.若要测试AL寄存器D4.D2.D0位是否都为0,则可使用__________指令语句(含操作数),以产生转移条件。
这条指令执行后将利用标志位__________实现转移。
9.若定义:
bdatadb2dup(1,2,2dup(3),4),则dbata变量前5个单元从低地址到高地址的数据依次是__________。
10.假设varw是一个16位变量,则指令“movvarw,ax”的目的操作数的寻址方式是__________。
11.请指出下列指令错误原因:
A. OR AX,[CX]
B. ADD [SI],[BX][DI]
C. JMP BYTE PTR LOOPS
D. SAR AX,4
E. RCL DX
12. A.下面两个语句有何区别?
X1 EQU 1000H
X2=1000H
B.下面的程序段有错吗?
若有,请指出错误。
CRAY PROC
PUSH AX
ADD AX,BX
RET
ENDP CRAY
13.假设程序中的数据定义如下:
ARRAY1 DW ?
ARRAY2 DB 16 DUP(?
)
ARRAY3 DD ?
PLENTH EQU $-ARRAY1
问PLENTH的值为多少?
它表示什么意义?
14.试根据以下要求,分别写出相应的汇编语言指令。
A.把AX寄存器和BX寄存器的内容相加,结果存入AX中。
B.用BX和SI的基址变址寻址方式,把存储器中的一个字节与DL的内容相加,并把结果送回DL中。
C.把数OBEH与AH内容相加,结果送回AH中。
D.用SI和位移量0200H的寄存器相对寻址方式把存储器中的一个字与AX相加,并把结果送回存储单元中。
E.用位移量0860H的直接寻址方式把存储器中一个字与数2EA0H相加,结果回送存储器中。
15.在某子程序的开始处要保护AX,BX,CX,DX四个寄存器信息,在子程序结束时要恢复这四个寄存器信息。
例如:
PUSHAX
PUSHBX
PUSHCX
PUSHDX
试写出恢复现场时的指令序列。
16.完成下列操作,选用什么指令:
(1)将AX的内容,减去0520H,和上次运算的借位;
(2)将变量名TABL的段地址送AX;
17.D1DB20HDUP(?
)
D2DWD1
请写出用一条指令实现取D1的偏移地址到SI中的三种方法。
三.程序分析题
1.已知AX=0FF60H,CF=1
MOVDX,96
XORDH,0FFH
SBBAX,DX
执行上述指令序列后,AX=_____________________,CF=_____________________
2.设寄存器AL,BL,CL中内容均为76H,
XORAL,0FH
ANDBL,0FH
ORCL,0FH
执行上述指令序列后,AL=____________________________________
BL=_________________________________,CL=________________________________
3.已知AX=0A33AH,DX=0F0F0H
ANDAH,DL
XORAL,DH
NEGAH
NOTAL
执行上述指令序列后,AH=_____________________,AL=_____________________
4.DATASEGMENT
S9DB0,1,2,3,4,5,6,7,8,9
DATAENDS
┇
LEASI,S9
LEA,DI,S9+1
MOVCX,5
LOP:
MOVAL,[SI]
XCHGAL,[DI]
MOV[SI],AL
ADDSI,2
ADDDI,2
LOOPLOP
上述程序段运行后,S9开始的10个字节存储单元内容是什么?
5.MOVAL,38H
MOVBL,49H
CALLSUBO
INCAL
DECCL
┇
SUBOPROC
ADDAL,BL
MOVCL,AL
DAA
RET
SUBOENDP
上述程序段运行后,AL=_____________________,CL=_____________________
6.DA3EQUWORDPTRDA4
DA4DB0ABH,89H
┇
SHRDA3,1
MOVDX,DA3
SHLDA4,1
MOVCX,DA3
上述程序段运行后,CX=_____________________,DX=_____________________
7.MOVDL,AL
NOTDL
TESTDL,04H
JENEXT
┇
NEXT:
…
若上述程序段执行时产生分支,说明AL中的数第几位一定为1?
程序段执行后CF是多少?
8.DA1DB‘ABCDEFGHI’
DA2DB9DUP(0)
┇
LEASI,DA1
LEADI,DA2
MOVCX,9
CLD
LOP:
LODSB
SUBAL,10H
STOSB
LOOPLOP
...
试问:
①写出程序执行后DA2各字节中的数据。
②保持程序功能情况下,程序中可否改写为
9.已知:
BX=4567H
NEGBX
INCBX
NEGBX
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 西南 大学 复习 思考题 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)