汇编语言温习题.docx
- 文档编号:9455037
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:24
- 大小:21.93KB
汇编语言温习题.docx
《汇编语言温习题.docx》由会员分享,可在线阅读,更多相关《汇编语言温习题.docx(24页珍藏版)》请在冰豆网上搜索。
汇编语言温习题
汇编语言试卷1
1.CPU要访问的某一存储单元的实际地址称()
A.段地址B.偏移地址
C.物理地址D.逻辑地址
2.某存储单元的物理地址是12345H,能够作为它的段地址有()
A.2345HB.12345H
C.12340HD.1234H
3.执行后使BX=0的同时也使CF=0,OF=0的指令是()
A.XORBX,BXB.ORBX,BX
C.ANDBX,BXD.CMPBX,BX
4.循环操纵指令LoopNZ/LoopNE操纵循环继续执行的条件是()
A.CX≠0且ZF=1B.CX≠0且ZF=0
C.CX≠0或ZF=1D.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.STOSWB.ADDAL,CL
C.NEGBXD.INCDA[BX]
8.无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是()
A.ADDBH,01HB.ORBH,01H
C.XORBH,01HD.TESTBH,01H
9.完成对CL寄存器的内容乘以4的正确操作是()
A.ROLCL,1B.MUL4
ROLCL,1
C.SHLCL,1D.MOVCL,2
SHLCL,1SHLCL,CL
10.下面各传送指令中,正确的是()
A.MOV[DI],[SI]B.MOV[DX+DI],AL
C.MOVWORDPTR[BX],0100HD.MOVAL,BX
11.汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法()
A.名字的第一个字符可以是大写英文字母及小写英文字母
B.名字的第一个字符可以是字母、数字及、@、_
C.名字的有效长度≤31个字符
D.在名字中不允许出现$
12.要实现使BETA的值为56,应采用语句为()
A.BETADB56B.BETADB56H
C.BETAEQU56D.BETAEQU56H
13.REPZCMPSW指令,重复执行的终止条件是()
A.CX=0或ZF=0B.CX=0且ZF=0
C.CX=0或ZF=1D.CX=0且ZF=1
14.下面程序段执行后,AL中的内容是()
MOVAX,8833H
ADDAL,AH
DAA
A.21B.21H
C.0C1HD.0DDH
15.比较两个带符号的数A、B,当A=B时程序转移,测试的条件为()
A.ZF=1B.ZF=0
C.SF=1D.SF=0
16.检查二个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMPAL,BL”指令后应跟的分支指令是()
A.JNCLOP1B.JALOP1
C.JCLOP1D.JGELOP1
17.在下列串操作指令中,同时使用源串和目的串地址指针的指令是()
A.STOSWB.LODSW
C.SCASWD.CMPSW
18.设AL=0AH,下列指令执行后能使AL=05H的是()
A.NOTALB.ANDAL,0FH
C.XORAL,0FHD.ORAL,0FH
19.DA1DW‘AB’,‘CD’,‘EF’,‘GH’()
┇
MOVAX,DA1+3
指令执行后AX中的内容是
A.‘EF’B.‘CD’
C.‘BC’D.‘FC’
20.使用DOS系统功能调用时,使用的软中断指令是()
A.INT21B.INT10H
C.INT16HD.INT21H
二、填空题(本大题共12空,每空分,共6分)请在每小题的空格中填上正确答案。
错填、不填均无分。
21.十六进制数0FFF8H表示的十进制正数为________,表示的十进制负数为________。
22.若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOVAX,(SI+COUNT)中,源操作数的有效地址EA为________,其物理地址为________。
23.CPU的标志寄存器中标志位,可以分为两大类,其中一类称为________标志位,另一类称为________标志位。
24.当标志位________=1时表示无符号数运算产生溢出,而当标志位________=1是表示带符号数运算产生溢出。
25.如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是________,而后两个字节存放的是________。
26.在串操作程序中,通常在重复前缀指令REPZ或REPNZ后,选用的串操作指令是________或________才有实际意义。
三、简答题(本大题共4小题,每小题2分,共8分)
27.已知:
BX=1357H,DI=2000H,DS=2000H,CS=4000H,分别指出下面各指令中存储器操作数的物理地址。
(1)MOVAL,[BX]
(2)MOVCS:
[BX+DI],AH
28.0P1DB1,2
0P2DW3412H,5678H
┇
MOVAX,OP1+1;字单元(OP1+1)AX
MOVBL,OP2+1;字节单元(OP2+1)BL
上述二条传送语句有语法错误,请根据注释字段的说明,将其改正。
29.下列语句在存储器中分别为变量分配多少字节?
(1)AD2DW10DUP(?
),10
(2)AD3DD100DUP(?
)
30.简述下面两条指令分别是什么语法错误?
MOV[BX],[SI]
MOVAX,DL
四、程序分析题(本大题共6小题,每小题6分,共36分)
31.MOVDL,AL
NOTDL
TESTDL,04H
JENEXT
┇
NEXT:
…
若上述程序段执行时产生分支,说明AL中的数第几位一定为1?
程序段执行后CF是多少?
32.DA1DB‘ABCDEFGHI’
DA2DB9DUP(0)
┇
LEASI,DA1
LEADI,DA2
MOVCX,9
CLD
LOP:
LODSB
SUBAL,10H
STOSB
LOOPLOP
...
试问:
①写出程序执行后DA2各字节中的数据。
②保持程序功能情况下,程序中可否改写为
33.已知:
BX=4567H
NEGBX
INCBX
NEGBX
DECBX
程序段执行后,BX=________,CF=________。
34.MOVBL,64H
MOVCL,03H
XORAX,AX
AGAIN:
ADDAL,BL
ADCAH,0
DECCL
JNZAGAIN
问:
(1)该程序段完成的功能是:
(2)AX=________。
35.已知数据段中定义
DAT1DB12H,34H,56H,78H
MOVCX,0
MOVAX,WORDPTRDAT1
MOVCL,DAT1+3
当程序段执行完后AX=________,CX=________。
36.DA1DB83H,72H,61H,94H,5AH
┇
MOVCX,WORDPTRDA1
ANDCX,0FH
MOVAL,DA1+3
SHLAL,CL
上述指令序列执行后,AL=_______,CL=_______。
五、程序填空题(本大题共2小题,每小题6分,共12分)
37.在NUMW单元存放有一个0-65535范围内的整数,将该数除以500,商和余数分别存入QU1和REM单元,请在空行处各填上一条指令完善该程序。
┇
MOVAX,NUMW
_____________
XORDX,DX
DIVBX
MOVQUI,AX
_____________
38.某程序欲用单个字符显示的2号功能调用去显示STRING中的字符串‘COMPUTER’(不显示字符‘$’!
).试在空白处填上适当的一条指令。
STRINGDB‘COMPUTER’,‘$’
┇
MOVBX,0FFSETSTRING
LOP:
MOVDL,[BX]
MOVAH,02H
INT21H
____________________
____________________
JNELOP
六、编程序题(本大题共2小题,第39小题6分,第40小题12分,共18分)
39.试编制一程序段,用串操作指令实现以DA_BY为首址的20H个字节单元中存放相同字符‘Y’(设DA_BY存储区已有ES指向)。
40.试编制一源程序,统计DA1字单元中含0的个数,如统计的个数为奇数,则将进位位置1,否则进位位清0。
DATASEGMENT
DA1DWXXXX
汇编语言程序试卷1答案
一、
1、C;2、D;3、A;4、B;5、C;
6、C;7、D;8、B;9、C;10、C;
11、B;12、C;13、A;14、B;15、A
16、C;17、D;18、C;19、D;20、B
二、
21、+65528;-32760
22、20A8H;11488H
23、状态;控制
24、CF;OF
25、IP;CS
26、STOS;CMP
三、
27、
(1)21357H;
(2)43357H
28、MOVAX,WORDPTR(OP1+1)
MOVBL,BYTEPTR(OP2+1)
29、
(1)22;
(2)400
30、MOV指令不能在两个存储器操作数之间进行;
操作数类型不匹配
四、
31、第2位;CF=0
32、9;不能更改
33、BX=4565H;CF=1
34、AX=012CH,将AX内容乘3送BX中
35、AX=3412H,CX=0078H
36、AL=0A0H,CL=03H
五、
37、MOVBX,500
MOVREM,DX
38、INCBX
CMP[BX],24H
六、
39、LEADI,DA_BY
MOVCX,32
MOVAL,‘Y’
CLD
REPSTOSB
40、CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
LEASI,DA1
MOVCX,16
XORBL,BL
AGAIN:
MOVAL,[SI]
HLAL,1
JCNEXT
INCBL
NEXT:
INCSI
LOOPAGAIN
TESTBL,01H
JNEL1
CLC
JMPDONE
L1:
STC
DONE:
MOVAH,4CH
INT21H
CODEENDS
汇编语言程序设计试卷2
一、单项选择题(在每题的四个备选答案中,选出一个正确的答案,并将其号码填在题干的括号内。
每题1分,共20分)
1、设DS=8225H,DI=3942H,指令NEGBYTEPTR[DI]操作数的物理地址是()
A、85B92H
B、86192H
C、BB690H
D、12169H
2、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是()
A、AX,BX,CX,DX
B、BX,BP,SI,DI
C、SP,IP,BP,DX
D、CS,DS,ES,SS
3、循环指令LOOPNZ终止循环的条件是()。
A、CX=0,且ZF=0
B、CX=0,或ZF=1
C、CX10,且ZF=0
D、CX10,或ZF=1
4、对寄存器AX的内容乘以4的正确指令序列是()。
A、SHRAX,1SHRAX,1
B、SHLAX,1SHL,AX,1
C、ROLAX,1ROLAX,1
D、RCRAX,1RCRAX,1
5、执行INC指令除对SF、ZF有影响外,还要影响的标志位是()。
A、OF,AF,PF
B、OF,AF,CF
C、OF,PF,CF
D、AF,PF,CF
6、设DH=10H,执行NEGDH指令后,正确的结果是()。
A、DH=10HCF=1
B、DH=0F0HCF=0
C、DH=10HCF=0
D、DH=0F0HCF=1
7、下列传送指令中有语法错误的是()。
A、MOVCS,AX
B、MOVDS,AX
C、MOVSS,AX
D、MOVES,AX
8、下面指令执行后,改变AL寄存器内容的指令是()。
A、TESTAL,02H
B、ORAL,AL
C、CMPAL,BL
D、ANDAL,BL
9、执行除法指令后,影响的标志位是()。
A、CF,OF
B、SF,ZF
C、CF,OF,SF
D、AF,CF,OF,PF,SF,ZF都不确定
10、执行下面指令序列后,结果是()。
MOVAL,82H
CBW
A、AX=0FF82H
B、AX=8082H
C、AX=0082H
D、AX=0F82H
11、与MOVBX,OFFSETVAR指令完全等效的指令是()。
A、MOVBX,VAR
B、LDSBX,VAR
C、LESBX,VAR
D、LEABX,VAR
12、在段定义时,如果定位类型用户未选择,就表示是隐含类型,其隐含类型是()。
A、WORD
B、PAGE
C、BYTE
D、PARA
13、MOVSP,3210H
PUSHAX
执行上述指令序列后,SP寄存器的值是()。
A、3211H
B、320EH
C、320FH
D、3212H
14、BUFDW10HDUP(3DUP(2,10H),3,5)
上述语句汇编后,为变量BUF分配的存储单元字节数是()。
A、80H
B、100H
C、124
D、192
15、在汇编语言程序的开发过程中使用宏功能的顺序是()。
A、宏定义,宏调用
B、宏定义,宏展开
C、宏定义,宏调用,宏展开
D、宏定义,宏展开,宏调用
16、汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是()。
A、名字项
B、操作项
C、操作数项
D、注释项
17、编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有()。
A、CMP
B、SUB
C、AND
D、MOV
18、为使CX=-1时,转至MINUS而编制了一指令序列,其中错误的序列是()。
A、INCCXJZMINUS
B、SUBCX,OFFFFHJZMINUS
C、ANDCX,OFFFFHJZMINUS
D、XORCX,OFFFFHJZMINUS
19、AL和VAR字节单元中分别存放一个带符号数,执行CMPAL,VAR时,如AL》VAR,那么溢出位和符号位的关系是()。
A、OF=SF
B、OF1SF
C、OF=SF=1
D、OF=SF=0
20、检查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:
……
二、简答题(每小题4分,共12分)
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字节单元的内容是_________________________________
三、程序分析题(每小题6分,共36分)
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=_____________________
四、程序填空题(注意:
下列各小题中,每空只能填一条指令!
每小题6分,共12分)
1、下面程序段是判断寄存器AH和AL中第3位是相同,如相同,AH置0,否则AH置全1。
试把空白处填上适当指令。
_____________________
ANDAH,08H
_____________________
MOVAH,OFFH
JMPNEXT
ZERO:
MOVAH,0
NEXT:
……
2、以BUF为首址的字节单元中,存放了COUNT个无符号数,下面程序段是找出其中最大数并送入MAX单元中。
BUFDB5,6,7,58H,62,45H,127,……
COUNTEQU$-BUF
MAXDB?
┇
MONBX,OFFSETBUF
MOVCX,COUNT-1
MOVAL,[BX]
LOP1:
INCBX
_____________________
JAENEXT
MOVAL,[BX]
NEXT:
DECCX
_____________________
MOVMAX,AL
五、编制程序题(第1小题6分,第2小题14分,共20分)
1、编定程序段,用DOS的1号功能调用通过键盘输入一字符,并判断输入的字符。
如字符是"Y",则转向YES程序段;如字符是"N",则转向NO程序段;如是其他字符,则转向DOS功能调用,重新输入字符。
(考生勿需写出源程序格式,只需写出与试题要求有关的指令序列)
(YES和NO分别是两程序段入口处的标号)
2、在BUF1和BUF2两个数据区中,各定义有10个带符号字数据,试编制一完整的源程序,求它们对应项的绝对值之和,并将和数存入以SUM为首址的数据区中。
DATASEGMENT
BUF1DW-56,24,54,-1,89,-8……
BUF2DW45,-23,124,345,-265,……
SUMDW10DUP(0)
DATAENDS
汇编语言程序设计试卷2答案
一、单项选择题(每题1分,共20分)
二、简答题(每小题4分,共12分)
1.执行段内返回:
栈顶内容→IP,SP+2→SP(1分)
执行段间返回:
①栈顶内容→IP,SP+2→SP(分)
②栈顶内容→CS,SP+2→SP(分)
=2(1分)
BL=10(分)
CL=20(分)
的偏移地址是20H(1分)
COUNT的值是0AH(1分)
DA2+5字节单元的内容是‘U'的ASCⅡ码(2分)
三、程序分析题(每小题6分,共36分)
=0(4分)CF=0(2分)
=79H(2分)BL=06H(2分)CL=7FH(2分)
=60H(3分)AL=35H(3分)
DB1,0,3,2,5,4,7,6,9,8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 温习