汇编语言练习.docx
- 文档编号:9678921
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:14
- 大小:21.77KB
汇编语言练习.docx
《汇编语言练习.docx》由会员分享,可在线阅读,更多相关《汇编语言练习.docx(14页珍藏版)》请在冰豆网上搜索。
汇编语言练习
1、8086/8088的存贮器组织是将存储器划分为段,可作为段的起始地址是()。
A.00010HB.AB076HC.010C3HD.12345H
2、下列指令执行后,能影响标志位的指令是()。
A.PUSHFB.JNLENEXTC.POPFD.LOOPZLOP
3、某存储单元的段地址是0AB50H,偏移地址是1234H,该存储单元的物理地址是( )。
A.0BDC4HB.0AC734HC.0AD134HD.1CED0H
4、AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是( )。
A.指令XORAX,AX执行后,AX内容不变,但影响了标志位。
B.指令ORDX,1000H执行后,将DX最高位置1,其余各位置0。
C.指令ANDAL,OFH执行后,AL高四位清零,低四位内容不变。
D.指令NOTAX执行后,AX内容清零。
5、设DF=0,每次执行CMPSW指令时,SI和DI均要分别( )。
A.减1B.减2C.加1D.加2
6、设(AL)=03H,要使(AL)=-03H应执行的指令是( )。
A.ORAL,80HB.NOTAL
C.NEGALD.ADDAL,80H
7、汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法( )。
A.名字的第一个字符可以是大写英文字母及小写英文字母
B.名字的第一个字符可以是字母、数字及、@、_
C.名字的有效长度≤31个字符
D.在名字中不允许出现$
8、比较两个带符号的数A、B,当A≠B时程序转移,测试的条件为( )。
A.ZF=1B.ZF=0C.SF=1D.SF=0
9、下面各传送指令中,正确的是( )。
A.MOV[DI],[SI] B.MOV[DX+DI],AL
C.MOVWORDPTR[BX],0100H D.MOVAL,BX
10、用于显示字符串的DOS系统功能调用,应设置AH寄存器的内容为( )。
A.1HB.2HC.9HD.0AH
11、DA1 DW‘AB’,‘CD’,‘EF’,‘GH’
┇
MOVAX,DA1+3
指令执行后AX中的内容是( )。
A.‘EF’ B.‘CD’C.‘BC’ D.‘FC’
12、DOS系统功能调用时,使用的软中断指令是( )。
A.INT21 B.INT10H
C.INT16H D.INT21H
13、循环控制指令LoopNZ/LoopNE控制循环继续执行的条件是( )。
A.CX≠0且ZF=1 B.CX≠0且ZF=0
C.CX≠0或ZF=1 D.CX≠0或ZF=0
14、编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有( )。
A.CMPB.SUBC.ANDD.MOV
15、用一条指令实现将寄存器BX和SI中的内容相加,结果送入AX中,这条指令是()。
A.ADDAX,[SI][BX]B.MOVAX,[BX+SI]
C.ANDAX,[BX+SI]D.LEAAX,[BX][SI]
16、语句:
COUNTEQU256,下列四种叙述中,正确的是()。
A.COUNT是变量B.COUNT占用一个字节存储单元
C.COUNT是符号常数D.COUNT占用二个字节存储单元
17、BUF1DB3DUP(0,2DUP(1,2),3)
COUNTEQU$-BUF1
符号COUNT等价的值是()。
A.6B.18C.16D.8
18、下列指令执行后对源和目的操作数均无影响的是()。
A.MOV[BX+2],AXB.SUBAX,1237H
C.AND[SI],BXD.CMPAX,BX
19、执行下面指令语句,则AX=()。
MOVAL,95H
CBW
A.0095HB.0F95HC.0FF95HD.9095H
20、用REPESCASB指令对字符串进行扫描,如CX>0时,扫描结束,那么表示()。
A.在字符串中遇上第一个AL中指定的字符
B.在字符串中有一个AL中指定的字符
C.在字符串中有一个不是AL中指定的字符
D.在字符串中遇上第一个不是AL中指令的字符
21、设DS=8225H,DI=3942H,指令NEGBYTEPTR[DI]操作数的物理地址是( )。
A.85B92HB.86192HC.BB690HD.12169H
22、指令指针寄存器是( )。
A.IPB.SPC.BPD.PSW
23、在串处理指令中,要使串处理从低地址向高地址进行,应设置标志位( )。
A.IF=1B.TF=0C.DF=1D.DF=0
24、执行一条段内RET指令后,应完成的操作是( )。
A.SP指针加2,然后从堆栈中弹出两个字节内容送入IP中
B.从堆栈中弹出两个字节的内容送入IP中,然后SP指针加2
C.SP指针减2,然后从堆栈中弹出两个字节内容送入IP中
D.从堆栈中弹出两个字节的内容送入IP中,然后SP指针减2
25、下列指令中操作数在代码段中的是( )。
A.MOVAL,42HB.ADDAL,BL
C.SUB[BX],DID.INC[DI]
26、下列传送指令中有语法错误的是( )。
A.MOVDS,AXB.MOVSS,AXC.MOVCS,AXD.MOVES,AX
27、下面指令中,源操作数的寻址方式为立即寻址的是( )。
A.MOVAX,OFFSETDATB.MOVAX,DAT
C.MOVAX,DAT+1D.MOVAX,DAT[BX]
28、设有变量VAR和标号LAB,不正确的指令是( )。
A.LEAAX,VAR B.LEAAX,LAB
C.JMPNEARPTRVAR D.JMPSHORTLAB
29、设NUM1EQU100
NUM2=64H
下面指令执行后,使BL中为全1的指令是( )。
A.MOVBL,NUM1EQNUM2 B.MOVBL,NUM1LTNUM2
C.MOVBL,NUM1NENUM2 D.MOVBL,NUM1GTNUM2
30、下列指令中有语法错误的是( )。
A.PUSH AX B.PUSH [20H+SI+BX]C.POP CS D.PUSH CS
31、下列指令执行后影响CF值的是( )。
A.DEC B.XCHGC.LEA D.SHL
32、比较两个带符号的数A、B,当A=B时程序转移,测试的条件为( )。
A.ZF=1 B.ZF=0C.SF=1 D.SF=0
33、使用循环指令Loop前,按规定应将循环次数放在( )寄存器中。
A.DX B.DLC.CX D.CL
34、在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是( )。
A.CX=0且ZF=0B.CX=0且ZF=1
C.CX=0或ZF=0D.CX=0或ZF=1
35、下列8086指令中,不合法的指令是( )。
A.INAX,78HB.MOVBL,AL
C.MOVSBD.SHLAX,6
36、在程序状态字寄存器Flags中,下面哪一组全是反映指令执行结果的状态标志( )。
A.OF,DF,IF,SF,ZF,CFB.CF,PF,ZF,SF,TF,OF
C.CF,OF,PF,AF,SF,ZFD.IF,DF,OF,CF,AF,ZF
37、8086的存储器是分段管理的,在程序中定义一个段的伪指令是( )。
A.PROC和ENDP B.SEGMENT和END
C.SEGMENT和ENDS D.MACRO和ENDM
38、8086CPU在基址变址寻址方式中,基址寄存器只能是( )。
A.AX或CXB.BX或BPC.SI或BXD.DX和DI
39、无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是( )。
A.ADDBH,01H B.ORBH,01H
C.XORBH,01H D.TESTBH,01H
40、检查二个无符号数的关系,若要实现AL≥BL时分支去LOP处,那么在“CMPAL,BL”指令后应跟的分支指令是( )
A.JNCLOP B.JA LOP
C.JCLOP D.JGE LOP
1、中断向量表就是各类型中断处理程序的表。
2、中断类型号N,中断响应过程从中断向量表中取4*N单元的字内容送入,取4*N+2
单元的字内容送入。
3、DEBUG命令中,显示存储单元内容命令是,查看或者修改寄存器内容命令是,修改内存单元内容命令是,单步运行命令是。
4、假设执行前AX=7862H,指令XORAX,AX执行后AX中的值是。
5、要从一个字符串中找出一个AL中指定的字符,可选用指令实现。
6、8086CPU的字长为位,地址总线为位,寻址范围为。
7、汇编语言源程序中的语句有三种类型,他们是语句,语句和语句。
8、汇编程序产生的OBJ文件还必须利用程序转换成可执行的EXE文件。
9、CPU标志寄存器的标志位可分两类,一类称为标志位,另一类称为______标志位。
10、已知DS=29A0H,某数据的物理地址是2A400H,则当DS=6700H时,该数据的物理地址是。
11、存储器中,数据是以为单位存放的,它是一个位二进制数。
12、8086有个寄存器,其中、、、既可作为16位寄存器使用,又可作为两个8位寄存器使用。
13、进行字除法时,被除数应为类型,必须放于中,相除后,商在中,余数在中。
14、指令操作数可以存放在指令中,也可以存放在CPU的寄存器中,大多数存放在存储器中,它们分别被称为、和寻址方式。
15、微型计算机一般都采用总线结构,系统总线的信号线有三组,即总线、地址总线和总线。
1、已知:
BX=1357H,DI=2000H,DS=2000H,CS=4000H,分别指出下面各指令中存储器操作数的物理地址。
(1)MOVAL,[BX]
(2)MOVCS:
[BX+DI],AH
2、简述下面三条指令分别是什么语法错误?
MOV[BX],[0012H]
NOTAX,BX
POPAL
3、写出下列各条指令中源操作数所用的寻址方式。
MOVBX,100H
MOVAX,TAB[BP][SI]
MOVAX,[2200H]
MOVBX,[SI+0200H]
MOVAL,[BX]
MOVBX,DI
1、ARYDW10DUP(?
)
┇
MOVAL,TYPEARY
MOVBL,LENGTHARY
MOVCL,SIZEARY
上述MOV指令序列执行后的结果是什么?
AL=,BL=,CL=。
2、DAT1DB 78H,56H,34H,12H
MOVCX,0
MOVAX,WORDPTRDAT1
MOVCL,DAT1+2
当程序段执行完后AX=,CX=。
3、有如下程序段:
DA1DB57H
DA2DB?
……
MOVAL,DA1
TESTAL,08H
JNZS
NEGAL
S:
MOVDA2,AL
请问:
程序执行后(DA2)=。
4、已知(DS)=091DH,(SS)=1E4AH,(AX)=1234H,(BX)=0024H,(CX)=5678H,(BP)=0024H,(SI)=0012H,(DI)=0032H,(09226H)=00F6H,(09228H)=1E40H,(1E4F6H)=091DH。
将下列各指令或程序段执行后的结果填入相应位置(注意:
各小题互不相关)。
①MOVCL,20H[BX][SI]CL=。
②MOVCX,[BP][DI]CX=。
③LEABX,20H[BX][SI]
MOVAX,2[BX]AX=。
④LDSSI,[BX][DI]
MOVBX,[SI]BX=。
⑤XCHGCX,32H[BX]
XCHG20H[BX][SI],AXAX=。
5、执行以下指令:
DA1DB83H,72H,61H,94H,5AH
┇
MOVCX,WORDPTRDA1
ANDCX,0FH
MOVAL,DA1+3
SHLAL,CL
上述指令序列执行后,AL=,CL=。
6、有如下程序段:
DATASEGMENT
ORG3040H
DAT1DB30H,40H
DAT2DW3040H
DATAENDS
┇
MOVBX,OFFSETDAT1
MOVAX,[BX]
MOVCL,BYTEPTRDAT2+1
MOVCH,TYPEDAT2
上述程序段运行后,AX=,BX=,CX=。
1、某程序欲用单个字符显示的2号功能调用显示STRING中的字符串‘COMPUTER’(不显示字符‘$’),试在空白处填上适当的一条指令。
STRINGDB‘COMPUTER’,‘$’
┇
MOVBX,0FFSETSTRING
LOP:
MOVDL,[BX]
MOVAH,02H
INT21H
JNELOP
2、试编写一程序段,用串操作指令实现以BUF为首址的20H个字节单元中存放相同字符‘Y’。
DATASEGMENT
BUFDB20HDUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,ES:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVES,AX
MOVAL,‘Y’
MOVCX,32
CLD
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
3、有两个长度完全相同的字符串X和Y,试比较这两个字符串,若其中字符完全相同,则显示“MATCH!
”,否则显示“NOMATCH!
”。
将该程序的代码段部分补充完整。
DATASEGMENT
STR1DB‘KNOWLEDGE'
STR2DB‘KNOWLEDGE'
BUF1DB‘VERYGOOD!
’,‘$’
BUF2DB‘NOMATCH!
’,‘$’
DATAENDS
判断下列指令是否正确,正确打“√”,错误打“×”,如果错误,请说明原因。
(若原因写错该题不得分)
1.MOVDAT1,DAT2()
2.MOVBX,[CX]()
3.ADDAX,3()
4.INAL,DX()
5.PUSHCL()
6.MULDL()
7.DECBL,1()
8.ROLAX,5()
9.AND0FH,AL()
10.XCHGBL,75H()
1、已知数据段如下:
ORG0100H
ARYDW3,$+4,5,6
DATEQU$-ARY
DB1,2,DAT,3
……
MOVAX,ARY+2
MOVBL,ARY+10
则执行上述指令后,AX=,BL=。
2、已知AX=0A33AH,DX=0F0F0H
ANDAH,DL
XORAL,DH
NEGAH
NOTAL
执行上述指令序列后,AH=________________,AL=________________。
3、已知:
BX=4567H
NEGBX
INCBX
NEGBX
DECBX
程序段执行后,BX=,CF=。
4、设(DS)=2000H (BX)=0100H (SI)=0002H (20100H)=12H
(SS)=1F00H(BP)=2000H(21000H)=58H(20101H)=34H
(20102H)=56H (20103H)=78H (21200H)=2AH(21201H)=4CH
(21202H)=0B7H(21203H)=65H(21001H)=73H。
试写出下列各条指令执行完后AX寄存器中的内容。
①MOVAX,0100H ;AX=
②MOVAX,[BX] ;AX=
③MOVAX,[1202H] ;AX=
④MOVAX,[BP+200H];AX=
⑤MOVAX,BP ;AX=
⑥MOVAX,[BP+SI+200H];AX=
⑦MOVAX,[BX+SI];AX=
⑧MOVAX,[BP];AX=
5、已知AX=1000H,BX=2340H
CMPAX,BX
则执行上述指令之后,标志CF=,ZF=。
1、下面程序段是实现把STR中所有字符逆向传送到BUF缓冲区(即STR中第一个字符送到BUF的最后一个单元,STR中最后一字符送到BUF的第一个单元)。
试把程序中所空缺的指令填上。
DATASEGMENT
STRDB‘ABCDEFGHIJKL'
COUNTEQU$-STR
BUFDBCOUNTDUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,ES:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVES,AX
MOVSI,OFFSETBUF-1
MOVDI,OFFSETBUF
MOVCX,COUNT
LOOP:
MOVSB
LOOPLOP
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
2、试编写程序将字符串STR中的第一个“W”用“M”代替。
DATASEGMENT
STRDB‘PERSONALCOWPUTER!
’
COUNTEQU$-STR
DATAENDS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 练习
![提示](https://static.bdocx.com/images/bang_tan.gif)