汇编习题含答案.docx
《汇编习题含答案.docx》由会员分享,可在线阅读,更多相关《汇编习题含答案.docx(15页珍藏版)》请在冰豆网上搜索。
汇编习题含答案
第一章基本知识
一、单项选择题
1.若十进制数为132.75,则其十六进制数为(B)
A.21.3
C.4.6
2.若[X]补=11111,则其十进制真值为(C)
3.已知X=78,Y=-83则[X+Y]补=(C)
A.0F5HB.0A1H
4.已知[X]补=98H,则[X]补/2=(A)
二、填空题
1.(35)10=(23)16。
2.(15)10=(1111)2。
3.计算机的存储容量1KB=(1024)Byte。
4.计算机的存储容量1MB=(1024)KB。
5.计算机的存储容量1GB=(1024)MB。
第二章8086计算机组织
一、单项选择题
1.在微机系统中分析并控制指令执行的部件是(C)
2.在计算机的CPU中执行算术逻辑运算的部件是(A)
3.能被计算机直接识别的语言是(C)
4.8086/8088的存储器组织是将存储器划分为段,可作为段的起始地址的是(B)。
A.185A2H
B.01004HD.0AB568H
5.堆栈中当前出栈的存储单元地址是(A)
A.SS*10H+SPB.SS*10H+BP
C.SS*10+SPD.SS*10+BP
6.标志寄存器中属于控制标志位的是(B)
A.DF,OF,SFB.DF,IF,TF
C.OF,CF,PFD.AF,OF,SF
7.8086/8088存储器分段,每个段不超过(D)
C.1M个字节D.64K个字节
二、填空题
1.假设某个字的值为1234H,其低位字节地址是20H,高位字节地址是21H,那么该字的地址是_______20H_____________。
2.在8086/8088控制寄存器中,_______IP_________寄存器内容始终指向下一条指令的首地址,此时该指令物理地址计算式是_____CS*10H+IP__________________。
3.CPU的标志寄存器中标志位,可以分为两大类,其中一类成为___状态标志位________,另一类称为____控制标志位________标志位。
4.当标志位___CF___=1时候表示无符号数运算产生溢出。
而当标志位__OF______=1是表示带符号位数运算产生溢出。
1.实模式下写出段地址和偏移地址为1234:
2002、1430:
0042、FF00:
0FFF的物理地址。
答:
物理地址=段地址*10H+偏移地址
(1)14342H
(2)14342H
(3)FFFFFH
2.从物理地址为00100H开始到00103H单元中顺序存放的数据为12H,34H,56H,78H。
请画出数据存放示意图,并回答一下为题:
(1)写出地址00101H字节单元的内容。
(2)写出地址00102字单元内容。
答:
00100H
12H
00101H
34H
00102H
45H
00103H
78H
(1)(00101H)字节=34H
(2)(00102H)字=7845H
第三章IBMPC机的寻址方式和指令系统
一、选择题
1.MOVAX,ES:
[1000H]源操作数的寻址方式是(B)
D.基址寻址
2.MOVAX,ES:
COUNT[DI]源操作数的寻址方式是(C)
D.基址变址寻址
3.MOVDX,COUNT[BP][DI]的源操作数的寻址方式是(D)
B.基址寻址
4.下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是(B)
A.AX,BX,CX,DXB.BX,BP,SI,DI
C.SP,IP,BP,DXD.CS,DS,ES,SS
5.下列四组寄存器中,属于通用寄存器的是(A)
A.AX,BX,CX,DX
B.SP,BP,IP
C.SI,DI,FLAGS
6.指令指针寄存器是(A)
C.BPDBX
7.指令MOVBX,MASK[BP],若MASK=3500H,SS=1200H,DS=1000H,BP=1000H,那么物理地址为(B)
C.14500H D.13500H
8.指令MOVAX,COUNT[BX],若COUNT=0400H,SS=1200H,DS=1000H,BX=5000H,那么物理地址为(C)
9.8086/8088系统中,存储器是分段组织的,存储器物理地址计算式是(B)
A.段地址+偏移地址 B.段地址*10H+偏移地址
C.段地址*16H+偏移地址 D.段地址+10H*偏移地址
10.当程序顺序执行时,每取一条指令语句,IP指针增加的值是(D)。
A.1B.2C.3D.由指令长度决定的
11.下列属于合法的指令是(D)
A.MOVDS,ESB.MOV[SI],[DI]
C.MOVAX,BLD.MOV[DI],BL
12.下列传送指令中有语法错误的是(A)。
A.MOVCS,AXB.MOVDS,AX
C.MOVSS,AXD.MOVES,AX
13.当执行指令ADDAX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是(D)
A.表示结果中含1的个数为偶数
C.表示该数为偶数
14.下面指令执行后,改变AL寄存器内容的指令是(D)。
A.TESTAL,02HB.ORAL,AL
C.CMPAL,BLD.ANDAL,BL
15.与MOVBX,OFFSETVAR指令完全等效的指令是(D)。
A.MOVBX,VARB.LDSBX,VAR
C.LESBX,VARD.LEABX,VAR
16.将DX的内容除以2,正确的指令是(C)。
A.DIV2B.DIVDX,2C.SARDX,1D.SHLDX,1
17.下列数值表达式和地址表达式中,错误的是(D)。
A.MOVAL,8*14+4B.MOVSI,OFFSETBUF+13
C.MOVCX,NUM2-NUM1D.MOVCX,NUM2+NUM1
18.为使CX=-1时,转至MINUS而编制了一指令序列,其中错误的序列是(C)。
A.NCCXJZMINUSB.SUBCX,OFFFFHJZMINUS
C.ANDCX,OFFFFHJZMINUSD.XORCX,OFFFFHJZMINUS
19.完成对CL寄存器的内容乘以4的正确操作是(C)
A.ROLCL,1
B.MUL4ROLCL,1
C.SHLCL,1SHLCL,1
D.MOVCL,2SHLCL,CL
20.在下列串操作指令中,同时使用源串和目的串地址指针的指令是(D)
A.STOSWB.LODSWC.SCASWD.CMPSW
21.AL=0AH,下列指令执行后能使AL=05H的是(C)
A.NOTALB.ANDAL,0FH
C.XORAL,0FHD.ORAL,0FH
22.下面指令执行后,改变AL寄存器内容的指令是(D)。
A、TESTAL,02HB、ORAL,AL
C、CMPAL,BLD、ANDAL,BL
23.堆栈指针SP的内容是(B)
24.执行指令PUCHCX后堆栈指针SP自动(C)
25.指令ADDES:
[DI],AX和存放在(B)
A.寄存器 B.附加段
26.将DX的内容除以2,正确的指令是(C)。
A.DIV2B.DIVDX,2C.SARDX,1D.SHLDX,1
27.下列数值表达式和地址表达式中,错误的是(D)。
A.MOVAL,8*14+4B.MOVSI,OFFSETBUF+13
C.MOVCX,NUM2-NUM1D.MOVCX,NUM2+NUM1
28.为使CX=-1时,转至MINUS而编制了一指令序列,其中错误的序列是(C)。
A.INCCXJZMINUSB.SUBCX,OFFFFHJZMINUS
C.ANDCX,OFFFFHJZMINUSD.XORCX,OFFFFHJZMINUS
29.在下列串操作指令中,同时使用源串和目的串地址指针的指令是(D)
A.STOSWB.LODSWC.SCASWD.CMPSW
30.下面指令中,合理而有意义的指令是(D)。
A.REPLODSBB.REPSCASBC.REPCMPSBD.REPMOVSB
二、填空题
1.若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOVAX,(SI+COUNT)中,源操作数的有效地址EA为___20A8H_____,其物理地址为___11488H_____。
2.如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是____IP____,而后两个字节存放的是____CS____。
3.下列指令属于基址加变址寻址方式的是(MOVDX,DS:
[BP][SI])。
4.在串操作程序中,通常在重复前缀指令REPZ或REPNZ后,选用的串操作指令是___STOS____或___CMP__才有实际意义。
5.如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是____IP____,而后两个字节存放的是____CS____。
6.已知
AX=0FF60H,CF=1
MOVDX,96
XORDH,0FFH
SBBAX,DX
执行上述指令序列后,AX=_________0__________,CF=______0__________。
7.设寄存器AL,BL,CL中内容均为76H,
XORAL,0FH
ANDBL,0FH
ORCL,0FH
执行上述指令序列后,AL=______79H___,BL=__06H___CL=_7FH___。
8.已知
AX=0A33AH,DX=0F0F0H
ANDAH,DL
XORAL,DH
NEGAH
NOTAL
执行上述指令序列后,AH=____60H____,AL=_____35H_。
9.执行下面指令序列后,结果是(AX=0FF82H)。
MOVAL,82H
CBW
10.MOVAH,7896H
ADDAL,AH
上述指令执行后,标志位CF和OF的值是(CF=1,OF=0)。
10.设AL=0B4H,BL=11H,指令“MULBL”和指令“IMULBL”分别执行后OF,CF的值为(OF=1,CF=1)。
1.在debug下设置(SP)=20H,设置AX,BX,CX,DX为不同值,把这四个寄存器内容依次压入堆栈,再从堆栈中依次弹出到SI、DI、BP、BX寄存器。
写出一段程序实现上述操作,并画出每条入栈指令执行后SP和堆栈中数据的变化。
答:
(1)修改(SP):
-rSP
SP****
:
20
AX,BX,CX,DX相同方式
(2)pushAX
PushBX
PushCX
PushDX
。
。
。
PopBX
PopBP
PopDI
PopSI
2.测试AL寄存器,如果最高位和最低位同时为0,则转L0,如果最高位和最低位只有一个为1,则转L1,如果最高位和最低位同时为1,则转L2,画出流程图,并