汇 编 语 言 习 题
一、单项选择题
1. 汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是( )。
A、名字项 B、操作项 C、操作数项 D、注释项
2. 在汇编语言程序中,对END语句的叙述正确的是( )。 A、是一可执行语句 B、表示程序执行到此结束 C、表示源程序到此结束 D、在汇编后要产生机器码
3. 汇编语言源程序中,每个语句可由四项组成,其中名字项是一个符号,下面列出的有效名字是( )
A、Variable B、First & ld C、0FFFFH D、'Memphis' 4.用一条指令仅实现将BX+SI=>AX的方法是( )
A、XCHG AX,[BX][SI]B、MOV AX,[BX+SI]C、LEA AX,BX[SI]D、LEA AX,[BX][SI] 5.设 SP初值为2000H,执行指令\后,SP的值是( ) A、1FFFH B、1998H C、2002H D、1FFEH 6.条件转移指令JC产生程序转移的条件是( )
A、CF=1 B、CF=0 C、CF=1和ZF=1 D、CF=1和ZF=0 7.选用串操作指令时,错误的操作是( )
A、置方向标志位 B、根据串操作指令设置重复次数并送入CX
C、设置源操作数及目的操作数指针 D、源操作数和目的操作数都可以加段超越 8.设AL=20H,SI=0500H,DS=3000H,(30500H)=0C0H,CF=1。执行SBB AL,[SI]后,正确的结果是( )
A、AL=5FH SF=1 CF=1 B、AL=60H SF=1 CF=0 C、AL=5FH SF=0 CF=1 D、AL=60H SF=0 CF=0 9.设AX=1000H,执行NOT AX指令后,正确的结果是( )
A、AX=1001H B、AX=0EFFH C、AX=1000H D、AX=0111H
10. 设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是( ) A、85B92H B、86192H C、BB690H D、12169H
11. 可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是( )
A、AX,BX,CX,DX B、DS,ES,CS,SS C、SP,BP,IP,BX D、SI,DI,BP,BX 12. 循环指令LOOPNZ终止循环的条件是( )。
A、CX=0,且ZF=0 B、CX=0,或ZF=1 C、CX10,且ZF=0 D、CX10,或ZF=1 13. 设AH=0,AL=06H,BL=09H,执行指令 ADD AL,BL
AAA 之后,其结果应是( )。
A、 AH=01,AL=05 B、 AH=1 AL=15 C、 AH=0 AL=0FH D、 AH=0 AL=05 14. 下面的数据传送指令中,错误的操作是( )。
A、 MOV SS:[BX+DI],1000H B、 MOV DX,1000H C、 MOV WORD PTR[BX],1000H D、 MOV DS,2000H 15.DA1 EQU BYTE PTR DA2 DA2 DW 0ABCDH ┇
SHL DA1,1 SHR DA2,1
上述指令序列执行后,DA2字存储单元的内容是( )
A、0ABCDH B、0AB9AH C、55CDH D、559AH 16.下面语句中有语法错误的语句是( )
A、MOV CS,AX B、MOV DS,AX C、MOV SS,AX D、MOV ES,AX 17. 下面指令执行后,改变AL寄存器内容的指令是( )。
A、TEST AL,02H B、OR AL,AL C、CMP AL,BL D、AND AL,BL 18.执行下列指令序列后,正确的结果是( ) MOV AL,81H ADD AL,AL ADC AL,AL
A、AL=05H B、AL=204H C、AL=04H D、AL=205H 19. 与MOV BX,OFFSET VAR指令完全等效的指令是( )。
A、MOV BX,VAR B、LDS BX,VAR C、LES BX,VAR D、LEA BX,VAR 20. 下面指令执行后,变量DAB中的内容是( )。 DAW DW 2A05H DAB DB 0FAH :
MOV AL,BYTE PRT DAW SUB DAB,AL
A、 0DAH B、 0FAH C、 0F5H D、 0D0H
1. 汇编语言源程序中,每个语句由四项组成,其中可省略而肯定不影响结果的项是( )。 A、名字项 B、操作项 C、操作数项 D、注释项
2. 在汇编语言程序中,对HLT语句的叙述正确的是( )。 A、是一可执行语句 B、表示程序执行到此结束 C、表示源程序到此结束 D、在汇编后不产生机器码
3. 汇编语言源程序中,其中名字项是一个符号,下面列出的有效名字是( ) A、ibmpc B、First & ld C、0FFFFH D、'Memphis' 4.用一条指令仅实现将BX+SI=>AX的方法是( )
A、XCHG AX,[BX][SI]B、MOV AX,[BX+SI]C、LEA AX,BX[SI]D、MOV AX,OFFSET [BX][SI]
5.设 SP初值为2000H,执行指令\后,SP的值是( ) A、1FFFH B、1998H C、2002H D、1FFEH 6.条件转移指令JNC产生程序转移的条件是( ) A、CF=1 B、CF=0 C、CF=1和ZF=1 D、CF=1和ZF=0 7.选用串操作指令时,错误的操作是( ) A、置方向标志位 B、根据串操作指令设置重复次数并送入CX C、设置源操作数及目的操作数指针 D、源操作数和目的操作数都可以加段超越 8.设AL=20H,SI=0500H,DS=3000H,(30500H)=0C0H,CF=1。执行ADC AL,[SI]后,正确的结果是( )
A、AL=0E0H SF=1 CF=1 B、AL=0E1H SF=1 CF=0 C、AL=5FH SF=0 CF=1
D、AL=60H SF=0 CF=0
9.设AX=1H,执行NOT AX指令后,正确的结果是( ) A、AX=0FFFEH B、AX=0EFFH C、AX=1000H D、AX=0111H 10. 设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是( ) A、12169H B、86192H C、BB690H D、85B92H
11. 可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是( )
A、AX,BX,CX,DX B、SI,DI,BP,BX C、SP,BP,IP,BX D、DS,ES,CS,SS 12. 循环指令LOOPNE终止循环的条件是( )。
A、CX=0,且ZF=0 B、CX=0,或ZF=1 C、CX=0,且ZF=1 D、CX=0,或ZF=0 13. 设AH=0,AL=06H,BL=09H,执行指令 ADD AL,BL AAA 之后,其结果应是( )。
A、 AH=0 AL=05 B、 AH=1 AL=15 C、 AH=0 AL=0FH D、 AH=01,AL=05
14. 下面的数据传送指令中,错误的操作是( )。
A、 MOV SS:[BX+DI],1000H B、 MOV SS,2000H C、 MOV WORD PTR[BX],1000H D、MOV DX,1000H 15.DA1 EQU BYTE PTR DA2 DA2 DW 0ABCDH ┇
SHL DA1,1 SHR DA2,1
上述指令序列执行后,DA2字存储单元的内容是( ) A、0ABCDH B、0AB9AH C、55CDH D、559AH 16.下面语句中有语法错误的语句是( )
A、MOV SS,AX B、MOV DS,AX C、MOV CS,AX D、MOV ES,AX 17. 下面指令执行后,不改变AL寄存器内容的指令是( )。
A、NOT AX B、OR AL,AL C、XOR AL,AL D、AND AL,BL 18.执行下列指令序列后,正确的结果是( ) MOV AL,81H ADD AL,AL ADC AL,AL A、AL=04H B、AL=204H C、AL=05H D、AL=205H 19. 与LEA BX,VAR指令完全等效的指令是( )。
A、MOV BX,VAR B、LDS BX,VAR C、LES BX,VAR D、 MOV BX,OFFSET VAR
20. 下面指令执行后,变量DAB中的内容是( )。 DAW DW 2A05H DAB DB 0FAH :
MOV AL,BYTE PRT DAW ADD DAB,AL A、 0FFH B、 0FAH C、 0F5H D、 0D0H
二、简答题
1. 给出下列2条指令执行后AL值,以及CF、ZF、SF、OF和PF的状态: xor ax,ax ; not ax ;
2. 选用NOT,AND,OR XOR逻辑指令编写一指令序列,实现将AL第0位置1, 第7位置0,其他位变反。 3. 判断下列程序段跳转的条件
(1) test al,10000001b jnz there (2) cmp cx,64h jb there
4. 有两个32位数值,按“小端方式”存放在两个缓冲区buffer1和buffer2中,编写程序段完 成DX.AX←buffer1-buffer2功能。
5. 编写一个程序段,在DX高4位全为0时,使AX=0;否则使AX=-1。
(一)已知DS=2000H,ES=3100H,SS=1500H,SI=00A0H,BX=0100H,BP=0010H,数据段中变量名VAL的偏移地址值为0080H,试指出下列指令源操作数的寻址方式是什么?其物理地址值是多少?
⑴MOV AX,ES:[BP] ⑵MOV AX,[BX][SI] ⑶MOV AX,VAL [BP] ⑷MOV AX, [BX+ VAL] ⑸MOV AX,[BX+SI+10]
(二)指出下列标志位的含义
(1) CF (2) OF (3) AF (4) ZF (5) DF
三、程序分析题 1. A DW 1234H B DW 5678H :
PUSH A PUSH B POP A POP B
试回答:A、上述程序段执行后(A)=_________,(B)=_________ B、设执行前SP=2000H,执行后SP=____________ 2. MOV AX,1234H MOV BX,5678H XOR AX,BX XOR AX,BX
上述程序段运行后,AX=___________________,ZF=____________________ 3.DATA SEGMENT ORG 3040H
YY1 DB 30H,40H YY2 DW 3040H DATA ENDS ┇
MOV BX,OFFSET YY1 MOV AX,[BX]
MOV CL,BYTE PTR YY2 MOV CH,BYTE PTR YY2+1
上述程序段运行后,AX=_____________,BX=_______________,CX=_______________ 4. A DB 0F8H
B DB 3 DUP(?)
┇
LEA DI,B MOV CX,3 MOV AL,A
LOP:SAR AL,1 MOV [DI],AL INC DI LOOP LOP
上述程序段运行后,从B单元开始依次存放的数据 5下面程序段完成的功能是什么? MOV SI,OFFSET ARRAY MOV CX,100
AGAIN: DEC BYTE PTR [SI] INC SI LOOP AGAIN
6.MOV CL,8 MOV AL,0 NOT AL
ROL AL,CL CMP AL,0FFH JZ NEXT MOV AL,0 NEXT:……
上述程序段运行后,AL=__________________,CF=___________________
1. A DW 3412H B DW 7856H : PUSH A PUSH B POP A POP A
试回答:上述程序段执行后(A)=_,(B)=_B、设执行前SP=1000H,执行后SP=_ 2. MOV AX,1234H MOV BX,5678H XOR AX,AX XOR AX,BX
上述程序段运行后,AX=______,ZF=_________SF= 3.DATA SEGMENT ORG 1234H YY1 DB 12H,34H YY2 DW 1234H DATA ENDS ┇