汇编语言基础试题

6.MOV SP,3210H

PUSH AX执行上述指令序理后,SP寄存器的值是(B)。 A.3211H B.320EH C.320FH D.3212H

7.执行指令PUCH CX后堆栈指针SP自动(C) A.+1 B.不操作 C.-2 D.-1

三、简答题 (30分) 已知数据段定义如下: DATA SEGMENT VA DB 10H

VB DW 3*20

MSG DB ‘HELLO!’

COUNT EQU 15

BUF DW COUNT DUP(5,3 DUP(1,2),0) DATA ENDS 问题:

(1)执行MOV BX,0FFSET VA后,(BX)= (2)执行MOV CX,TYPE BUF后,(CX)= (3)用一条指令将字母‘O’取到AL中. (4)经汇编后,BUF占有的存储空间是字节 答:

(1)0

(2)2

(3)MOV AL, MSG+4 (4)240

四、执行下列指令语句,把执行结果填在空格中(20分) 已知(SS)=3000H (SP)=200H (AX)=785AH 先执行PUSH AX,再执行PUSH BX,此时 (SS)= ( )

(SP)= ( )

数12H存放的物理地址是( ) 答:

(SS)= (3000H) (SP)= (1FCH)

数12H存放的物理地址是(1FDH)

第七章 算术运算程序

一、单项选择题(共24分,每题2分)

1.十进制数运算调整指令AAS可以紧跟在(A)之后: BX)=1234H,

A.SBB B.DEC

C.CMP D.NEG

2.除法调整指令AAD是对(C)调整:

A.AX中组合的十进制被除数 B.AL中组合的十进制的商数 C.AX中未组合的十进制被除数 D.AL中未组合的十进制的商数

3.在多字节加减运算时,特别要注意标志(B)对运算的影响: A.AF B.CF

C.SF D.OF

4.设(DS)=8260H (DI)=3500H,指令DEC WORD PTR[DI]操作数的物理地址是(B) A.11760H B.85B00H C.86100H D.以上都不时 5.指令ADD ES:[DI],AX和存放在(B) A.寄存器 B.附加段 C.堆栈段 D.代码段

6.设VAR是数据段中定义的字节变量,指令MUL VAR乘积存放在(A) A.AX B.BX

C.CX D.DX

7.设(DH)=20H,执行NEG DH指令后,正确的结果是(C) A.(DH)=20H CF=1 B.(DH)=20H CF=0

C.(DH)=0E0H CF=0

D.(DH)=0E0H CF=1

8.设DS=8225H,DI=3942H,指令NEG BYTE PTR [DI]操作数的物理地址是(A)

A.85B92H B.86192H C.BB690H D.12169H

9.执行INC指令除对于SF.ZF有影响外,还要影响的标志位是(A) A.OF,AF,PF B.OF,AF,CF

C.OF,PF,CF D.AF,PF,CF

10.设DH=10H,执行NEG DH指令后,正确的结果是(D) A.DH=10H CF=1 B.DH=10H CF=0 C.DH=10H CF=0 D.DH=0F0H

11.执行除法指令后,影响的标志位是(D)

A.CF,OF B.SF,ZF

C.CF,OF,SF D.AF,CF,OF,PF,SF,ZF都不确定 12.执行下面指令序列后,结果是(A) MOV AL,82H CBW

A.AX=0FF82H B.AX=8082H C.AX=0082H D.AX=0F82H

二、判断题(正确的画,错误的画)(共6分,每题2分) 1.指令AAA必须紧跟在加法指令之后使用。(√) 2.INC指令之后可以使用加法调整指令。(×) 3.AAD指令放在除法指令之后。(×)

三、程序分析题(10分)

MOV AX,0 MOV BX,1 MOV CX,5

LOP:ADD AX,BX

ADD BX,2 LOOP LOP 问题:

(1)程序的功能是什么(可用算式表示)? (2)运行后,(AX)=? 答:

(1)1+3+5+7+9 (2)25

四、按要求编程(共40分,每题10分) 1.设 X.Y.Z.W为十六位有符号数编程计算: W←((X+Y*Z)/8)-Y除法余数丢弃 若ZF=1,程序转EQ;否则转NOT_EQ。 参考答案: MOV AX,Y

IMUL Z

MOV BX,DX MOV CX,AX MOV AX,X

CBW

ADD AX, CX ADC DX, BX MOV CX,8 IDIV CX SUB AX,Y MOV W,AX JZ EQ NOT_EQ:

2.编写一程序段,计算x2+y-5多项式的值。 说明:多项式存于AX中,x.y是无符号数。

数据说明:x DB 0CH y DB 06H 参考答案: MOV AL,x

MUL x

ADD AL,y ADC AH,0

SUB AX,5

3.设X,Y,Z,W存放16位带符号数,编程计算X*Y-Z的值并送到W 要求:写出有关指令语句。 参考答案: MOV AX,X IMUL Y SUB AX,Z SBB DX,0 MOV W,AX

五、执行下列指令语句,把执行结果填在空格中(共20分,每题10分) 1.已知(AL)=0FFH, (BL)=10H。执行MUL BL则 (AH)=( ) (AL)=( ) 答:

(AH)=(0FH) (AL)=(0F0H)

2.执行下列指令语句,把执行结果填在空格中。 已知(DS)=5000H,(BX)=0100H,(DI)=0002H,(50100H)=45H,(50101H)=68H,(50102H)=0A1H,(50103H)=14H

先执行MOV AX,[100H](AX)=( ); 再执行ADD AX,[BX+DI](AX)=( ),CF=( ),OF=( ) 答:

(AX)=(6845H)

(AX)=(7CE6H),CF=(0),OF=(0)

第八章 逻辑运算

一、单项选择题(共30分,每题5分)

1.下列指令执行后,不影响标志位的指令是(A) A.PUSH AX B.ADD DX,CX C.XOR AX,AX D.CMP AX,5

2.下列指令执行后,一定能使CF=0的指令是(B) A.NOT AX B.OR AX,AX

C.SUB BX,SI D.ROL AX,1

3.对寄存器AX中的值除以2正确的指令序列是(C) A.MOV AX,-51 SHR AX,1 B.MOV AX,-51 ROR AX,1 C.MOV AX,-51

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4