网工汇编语言知识点Word格式文档下载.docx
《网工汇编语言知识点Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《网工汇编语言知识点Word格式文档下载.docx(48页珍藏版)》请在冰豆网上搜索。
![网工汇编语言知识点Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2023-1/4/6689374e-9fa0-475c-b91e-7c06bf88fd2f/6689374e-9fa0-475c-b91e-7c06bf88fd2f1.gif)
15、简述程序中指令和伪指令的区别。
能被计算机识别并执行的二进制代码,它规定了计算机能完成的某一操作。
伪指令是对汇编起某种控制作用的特殊命令,其格式与通常的操作指令一样,并可加在汇编程序的任何地方,但它们并不产生机器指令。
16、十六进制数88H,可表示成下面几种形式,请找出错误的表示(④)。
①无符号十进制数136
②带符号十进制数-120
③压缩型BCD码十进制数88
④8位二进制数-8的补码表示
17、指令指针寄存器是(IP)。
18、汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法(B)DX
A.名字的第一个字符可以是大写英文字母及小写英文字母
B.名字的第一个字符可以是字母、数字及、@、_
C.名字的有效长度≤31个字符
D.在名字中不允许出现$
19、CS寄存器属于(段寄存器)。
20、已知物理地址(371F0H)=12H,(371F1H)=34H,(371F2H)=56H,如从地址371F0H中取出一个字的内容是(3412H)。
21、一个有16个字的数据区,它的起始地址是70A0H∶DDF6H,则这个数据区最末一个字单元的物理地址是(7E814H)。
第2章:
8086/8088的寻址方式和指令系统
1、下列指令属于基址加变址寻址方式的是(MOVDX,DS:
[BP][SI])。
2、当程序顺序执行时,每取一条指令语句,IP指针增加的值是(D)。
A.1B.2C.3D.由指令长度决定的
3、下列属于合法的指令是(D)DX
A.MOVDS,ESB.MOV[SI],[DI]
C.MOVAX,BLD.MOV[DI],BL
4、若AX=349DH,CX=000FH。
则执行指令ANDAX,CX后,AX的值是(000DH)。
5、设DS=8225H,DI=3942H,指令NEGBYTEPTR[DI]操作数的物理地址是(
85B92H
)DX
6、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是(
A、AX,BX,CX,DXB、BX,BP,SI,DI
C、SP,IP,BP,DXD、CS,DS,ES,SS
7、对寄存器AX的内容乘以4的正确指令序列是(
SHLAX,1
SHL,AX,1
8、执行INC指令除对SF、ZF有影响外,还要影响的标志位是(
OF,AF,PF
9、设DH=10H,执行NEGDH指令后,正确的结果是(
DH=0F0H
CF=1
10、下列传送指令中有语法错误的是(
A
A、MOVCS,AXB、MOVDS,AX
C、MOVSS,AXD、MOVES,AX
11、下面指令执行后,改变AL寄存器内容的指令是(
D
A、TEST
AL,02HB、OR
AL,AL
C、CMP
AL,BLD、AND
AL,BL
12、执行除法指令后,影响的标志位是(
AF,CF,OF,PF,SF,ZF都不确定
13、执行下面指令序列后,结果是(
AX=0FF82H
MOV
AL,82H
CBW
14、与MOV
BX,OFFSETVAR指令完全等效的指令是(
A、MOV
BX,VARB、LDS
BX,VAR
C、LES
BX,VARD、LEA
15、在段定义时,如果定位类型用户未选择,就表示是隐含类型,其隐含类型是(
PARA)。
16、MOV
SP,3210H
PUSH
AX
执行上述指令序列后,SP寄存器的值是(
320EH
17、BUF
DW
10HDUP(3DUP(2,10H),3,5)
上述语句汇编后,为变量BUF分配的存储单元字节数是(
100H
18、MOVAX,7896H
ADDAL,AH
上述指令执行后,标志位CF和OF的值是(CF=1,OF=0)。
19、完成将带符号数AX的内容除以2的正确指令是(SHRAX,1)。
20、在汇编语言程序中,对END语句的叙述正确的是(C)。
A.END语句是一可执行语句B.END语句表示程序执行到此结束
C.END语句表示源程序到此结束D.END语句在汇编后要产生机器码
21、已知BX=2000H,SI=1234H,则指令MOVAX,[BX+SI+2]的源操作在(数据段中偏移量为3236H的字节)中。
22、下面指令序列执行后完成的运算,正确的算术表达式应是(y=x2-1)。
MOVAL,BYTEPTRX
SHLAL,1
DECAL
MOVBYTEPTRY,AL
23、已知(AX)=1234H,执行下述三条指令后,(AX)=(0000H)。
MOVBX,AX
NEGBX
ADDAX,BX
A.1234H B.0EDCCH C.6DCCH D.0
24、将DX的内容除以2,正确的指令是(C)。
DX
A.DIV2 B.DIVDX,2 C.SARDX,1 D.SHLDX,1
25、有如下指令序列:
ORG40H
DA1DW0AB12H,8574H
……
MOVAX,DA1
MOVBX,OFFSETDA1
上述指令执行后,寄存器AX和BX的值分别为(AB12H,40H)。
26、下列数值表达式和地址表达式中,错误的是(D)。
A.MOVAL,8*14+4B.MOVSI,OFFSETBUF+13
C.MOVCX,NUM2-NUM1D.MOVCX,NUM2+NUM1
27、数据段定义如下:
X1DB10H,50,1
X2DW10H,20,3
X3DD?
COUNTEQUX3-X1
变量COUNT的值是(9)。
28、为使CX=-1时,转至MINUS而编制了一指令序列,其中错误的序列是(
A、INCCX
JZMINUSB、SUBCX,OFFFFH
JZMINUS
C、ANDCX,OFFFFH
JZMINUSD、XORCX,OFFFFH
29、AL和VAR字节单元中分别存放一个带符号数,执行CMPAL,VAR时,如AL>
VAR,那么溢出位和符号位的关系是(
OF=SF
30、下面是关于汇编语言程序中使用RET的描述,不正确的是(C)。
A.每一个子程序中允许有多条RET指令。
B.每一个子程序结束之前一定要有一条RET指令。
C.每一个子程序中只允许有一条RET指令。
D.以过程形式表示的代码段,一定有RET指令存在。
31、在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是(CX=0或ZF=0)。
32、用MOV指令将十进制64以组合型BCD码格式送入AX,正确使用的指令是(MOVAX,0604H)。
33、重复前缀指令REP的重复次数由CX决定。
34、DR1DB10H,30H
DR2DW10HDUP(0,2DUP
(2))
MOVBL,LENGTHDR1
MOVCL,LENGTHDR2
请问指令执行后,BL和CL的值分别为1和10H。
35、设(SP)=100H,(AX)=0FFFFH
STC
PUSHAX
ADCAX,0
POPBX
上述程序段运行后,(BX)=0,(SP)=0FEH。
CXFX
36、假设数据段定义如下:
DA1DW’C’,’D’
DA2DB18DUP(?
)
DA3DW$-DA2
MOVBX,DA3
上述指令执行后,BX寄存器中的内容是12H(或18),AH寄存器中的内容是00H,AL寄存器中的内容是43H。
37、现有如下数据段
DATASEGMENT
ARRAY1DB1,26,‘3456’
ARRAY2DW7,89H,10
VALEQUARRAY2-ARRAY1
DATAENDS
请问:
该数据段已占有12(或0CH)字节的存储空间。
38、当执行指令ADDAX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是(④)。
①表示结果中含1的个数为偶数
②表示结果中含1的个数为奇数
③表示该数为偶数
④表示结果中低八位含1的个数为偶数
39、AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是( C )DX
A.指令XORAX,AX执行后,AX内容不变,但设置了标志位
B.指令ORDX,1000H执行后,将DX最高位置1,其余各位置0
C.指令ANDAX,0FH执行后,分离出AL低四位
D.NOTAX,执行后,将AX清0
40、完成对CL寄存器的内容乘以4的正确操作是( C )DX
A.ROLCL,1 B.MUL4
ROLCL,1
C.SHLCL,1 D.MOVCL,2
SHLCL,1
SHLCL,CL
41、下面各传送指令中,正确的是( C )DX
A.MOV[DI],[SI] B.MOV[DX+DI],AL
C.MOVWORDPTR[BX],0100H D.MOVAL,BX
42、要实现使BETA的值为56,应采用语句为( BETAEQU56 )DX
43、REPZCMPSW指令,重复执行的终止条件是( CX=0或ZF=0 )DX
44、下面程序段执行后,AL中的内容是( 21H )DX
MOVAX,8833H
ADDAL,AH
DAA
45、完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是(①)。
①MOVAL,00H
②ANDAL,00H
③XORAL,AL
④SUBAL,AL
46、下列指令执行后总是使CF=0,OF=0的是(AND)。
47、完成同指令XCHGAX,BX相同功能的指令或指令序列是(④)。
①MOVAX,BX
②MOVBX,AX
③PUSHAX
POPBX
④MOVCX,AX
MOVAX,BX
MOVBX,CX
48、设AH=0,AL=06H,BL=09H,执行指令
ADDAL,BL
AAA
之后,其结果应是(AH=01,AL=05)。
49、设AL=0B4H,BL=11H,指令“MULBL”和指令“IMULBL”分别执行后OF,CF的值为(OF=1,CF=1)。
50、在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是(CX=0或ZF=0)。
51、下面指令中,合理而有意义的指令是(④)。
①REPLODSB
②REPSCASB
③REPCMPSB
④REPMOVSB
52、在下列串操作指令中,同时使用源串和目的串地址指针的指令是( D )DX
A.STOSW B.LODSW
C.SCASW D.CMPSW
53、AL=0AH,下列指令执行后能使AL=05H的是( C )DX
A.NOTAL B.ANDAL,0FH
C.XORAL,0FH D.ORAL,0FH
54、DA1
DW‘AB’,‘CD’,‘EF’,‘GH’
┇
MOVAX,DA1+3
指令执行后AX中的内容是( ‘FC’ )。
55、在汇编语言程序中,对END语句的叙述正确的是(③)。
①END语句是一可执行语句
②END语句表示程序执行到此结束
③END语句表示源程序到此结束
④END语句在汇编后要产生机器码
56、下面的数据传送指令中,错误的操作是(④)。
①MOVSS:
[BX+DI],1000H
②MOVDX,1000H
③MOVWORDPTR[BX],1000H
④MOVDS,2000H
57、下面指令执行后,变量DAB中的内容是(0F5H)。
DAWDW2A05H
DABDB0FAH
:
MOVAL,BYTEPRTDAW
SUBDAB,AL
58、执行下列指令后,正确的结果是(②)。
MOVAL,100
MOVBL,-2
①AL=100H
BL=02H
②AL=64H
BL=0FEH
③AL=64H
BL=82H
④AL=100H
59、设数据段中已有:
DA1DB12H,34H
DA2DW56H,78H
下面有语法错误的语句是(②)。
①ADR1DWDA1
②MOVDA1+1,AX
③MOVBYTEPTRDA2+1,AL
④MOVWORDPTRDA1+1,AX
60、DATASEGMENT
TA1DW0102H,0304H,0506H
TA2DB02H,03H,04H
MOVBX,DS:
[0006H]
ANDBX,0FFH
ADDBH,[BX]
上述指令序列运行后,BX的内容是(0402H)。
61、若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOVAX,[SI+COUNT]中,源操作数的有效地址EA为__20A8H_,其物理地址为_11488H_。
62、如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是____IP____,而后两个字节存放的是____CS____。
63、在串操作程序中,通常在重复前缀指令REPZ或REPNZ后,选用的串操作指令是___SCAS____或___CMPS__才有实际意义。
64、已知:
BX=1357H,DI=2000H,DS=2000H,CS=4000H,分别指出下面各指令中存储器操作数的物理地址。
(1)MOVAL,[BX]
21357H
(2)MOVCS:
[BX+DI],AH
43357H
65、0P1DB1,2
0P2DW3412H,5678H
┇
MOVAX,OP1+1;
字单元(OP1+1)=>
MOVBL,OP2+1;
字节单元(OP2+1)=>
BL
上述二条传送语句有语法错误,请根据注释字段的说明,将其改正。
MOVAX,WORDPTR(OP1+1)
MOVBL,BYTEPTR(OP2+1)
66、下列语句在存储器中分别为变量分配多少字节?
(1)AD2DW10DUP(?
),10
22
(2)AD3DD100DUP(?
400
67、简述下面两条指令分别是什么语法错误?
MOV[BX],[SI]
MOVAX,DL
MOV指令不能在两个存储器操作数之间进行;
操作数类型不匹配。
68、在指令系统中,段内、段间返回均为RET指令。
试回答:
(1)执行段内返回RET指令时,执行的操作是:
栈顶内容→IP,SP+2→SP
(2)执行段间返回RET指令时,执行的操作是:
①栈顶内容→IP,SP+2→SP
②栈顶内容→CS,SP+2→SP
69、ARYDW10DUP(?
MOVAL,TYPEARY
MOVBL,LENGTHARY
MOVCL,SIZEARY
上述MOV指令序列执行后的结果是什么?
AL=2
BL=10
CL=20
70、设某数据段:
DATASEGMENT
ORG20H
NUM1=8
NUM2=NUM1+10H
DA1DB'
COMPUTER'
DB0AH,0DH
COUNTEQU$-DA1
DA2DW'
CO'
,'
MP'
UT'
ER'
DATAENDS
(1)DA1的偏移地址是:
___20H__
(2)COUNT的值是_______0AH_____
(3)DA2+5字节单元的内容是____‘U’的ASCII码_______
71、已知
AX=0FF60H,CF=1
MOVDX,96
XORDH,0FFH
SBBAX,DX
执行上述指令序列后,AX=_________0__________,CF=______0__________。
72、设寄存器AL,BL,CL中内容均为76H,
XORAL,0FH
ANDBL,0FH
ORCL,0FH
执行上述指令序列后,AL=______79H___,BL=__06H___CL=_7FH___。
73、已知
AX=0A33AH,DX=0F0F0H
ANDAH,DL
XORAL,DH
NEGAH
NOTAL
执行上述指令序列后,AH=____60H____,AL=_____35H_。
74、假定(DX)=10111001B,(CL)=3,(CF)=1,试确定下列各条指令单独执行后,DX中的值。
(1)SHRDX,1
(2)RCRDL,1
(3)RCLDX,CL
答:
(1)005CH
(2)00DCH(3)05CCH
75、写出完成下述功能的程序段:
(1)传送25H到AL寄存器
(2)将AL的内容乘以2
(3)传送15H到BL寄存器
(4)AL的内容乘以BL的内容
并请写出最后(AX)=?
(1)MOVAL,25H
(2)SHLAL,1 (3)MOVBL,15H
(4)MULBL 最后,(AX)=612H=1554
76、写一程序段,求双字长数DX∶bX的相反数。
答:
NEGDX
NEGBX
SBBDX,0
Notdx
Notbx
Addbx,1
Adcdx,0
77、在某子程序的开始处要保护AX,BX,CX,DX四个寄存器信息,在子程序结束时要恢复这四个寄存器信息。
例如:
PUSHAX\
PUSHBX\保护现场
PUSHCX/
PUSHDX/
}恢复现场
试写出恢复现场时的指令序列。
答:
POPDX
POPCX
POPBX
POPAX
78、完成下列操作,选用什么指令:
(1)将AX的内容,减去0520H,和上次运算的借位;
(2)将变量名TABL的段地址送AX;
(1)SBBAX,0520H(2分)
(2)MOVAX,SEGTABL(2分)
79、D1DB20HDUP(?
)
D2DWD1
请写出用一条指令实现取D1的偏移地址=>
SI中的三种方法。
答:
①LEASI,D1
②MOVSI,OFFSETD1
③MOVSI,D2
80、ADW1234H
BDW5678H
PUSHA
PUSHB
POPA
POPB
试回答:
①上述程序段执行后(A)=_________