刘臣奇主编-汇编语言程序设计-课外练习题参考答案(3)

2020-03-27 02:21

第五章课外练习题

一、单项选择题:

1.假定AX的内容为-32768,在执行了指令NEG AH后,标志位(SF,OF)为(D)。

(A)0,0 (B)0,1 (C)1,0 (D)1,1 2.已知AL,BX为带符号数,计算AL×BX的乘积,使用下述程序段(D) (A) MOV AH,0

(B) (C) (D)

MUL BX MOV AH,-1 IMUL BX MOV AH,0 IMUL BX CBW IMUL

BX

3.已知AL,BX为无符号数,计算AL×BX的乘积,使用下述程序段( C )

(A)MUL BX (B)IMUL BX (C) MOV AH,0(D)CBW

MUL BX MUL BX

4.当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是(A)。

(A)表示结果中含1的个数为偶数 (B)表示结果中含1的个数为奇数

(C)表示该数为偶数

(D)表示结果中低八位含1的个数为偶数

5.设AH=0,AL=06H,BL=09H,执行下列两条指令之后,其结果应是(A)。

ADD AL,BL

AAA

(A)AH=01,AL=05

(B)AH=1, AL=15

(C)AH=0 ,AL=0FH (D)AH=0, AL=05

6.设AL=0B4H,BL=11H,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF的值为(B)。

(A)OF=1,CF=0

(C)OF=0,CF=0

(B)OF=1,CF=1 (D)OF=0,CF=1

7.当执行完下列两条指令后,标志位CF和SF的值为( D )。

MOV AL,0C4H ADD AL,9DH

(A)0,0

(B)1,1

(C)0,1

(D)1,0

二、判断题(判断每题正误,对的在题后括号内划 “√”,错的划“×”)

1.ADD [SI], [BX] ( × )

2.ADD 3.ADD 4.ADD 5.ADD 6.INC 7.SUB 8.DEC

AX, AX, [SI], ES, [BX]

100 BL 100 BX

( √ ) ( × ) ( × ) ( × ) ( × )

BYTE PTR [SI],1 ( × ) [BX],1 ( × )

三、指出下列指令中的错误,并写出与该条指令意义相近的所有可能的正确指令。

1.ADD BH, AX

(类型错误。改正:ADD BX,AX) 2.SUB 100H,AX

(立即数不可做目标操作数。改正:SUB AX,100H) 3.MOV DS, 100H

(立即数不可以直接向段寄存器送数。改正:MOV AX,100H和MOV DS,AX) 4.MOV [DI], [100H] (两个操作数不可以同时是存储器中的数。改正:MOV AX,[100H]和MOV [DI],AX) 5.INC 100H (立即数不可做目标操作数。改正:MOV AX,100H和INC AX) 6.MOV AL, ARRAY [BX][BP]

(没有此寻址方式。改正:MOV AL,ARRAY [BX][SI]) 7.ADD [BX],[SI]

(两个操作数不可以同时是存储器中的数。改正:MOV AX,[SI]和ADD [BX],AX) 四、填空题

1.当执行MUL BX指令后,乘积的高半部分在(DX)中,低半部分在(AX)中。

2.当执行DIV BX指令后,被除数在(DX,AX)中,所得商在(AX)中,余数在(DX)中。 3.已知AL, BL中数据为无符号数,若求AL∕BL的商,应使用指令序列为: (MOV AH,0)和(DIV BL)。

4.已知AL, BL中数据为带符号数,若求AL∕BL的商,应使用指令序列为: (CBW ) 和( IDIV )。

5.用一条语句实现AX的内容加1,要求不影响CF(INC AX )。

6.将AX的内容,减去0520H,和上次运算的借位,选用(SBB AX,0520H)指令。 7.在SUB AX,BX指令执行后,CF=1,说明: ①最高有效位(有借位)。

②对(无符号)数,操作结果溢出。

五、简答题

1.写一指令序列,完成将存于AX、BX中的压缩BCD数加到存于CX、DX中的8位BCD数上的操作。

PUSH MOV ADD DAA MOV MOV ADC DAA MOV POP MOV ADC DAA

DL,AL AL,BH AL,DH DH,AL BX

AL,BL AL,CL AX AL,BL AL,DL

MOV MOV ADC DAA MOV

CL,AL AL,BH AL,CH CH,AL

第六章课外练习题

一、单项选择题:

1.JMP SI的目标地址偏移量为( A )。

(A)SI的内容 (B)SI所指向的内存字单元之内容

(C)SI+IP的内容

(D)IP+ [SI]

2.JMP WORD PTR [BX]转移的目标地址是( D )。 (A)BX的内容 (B)SP+BX之和

(C)IP+ [BX]之和

(D)BX指出的内存单元之内容

(D)JGE

3.当A≥B时转移的条件转移指令为(A,B为带符号数)( D )。 (A)JA (B)JAE (C)JG

4.已知X,Y为带符号数,两个数比较后,欲判断X≤Y发生转移,应使用( C )指令。 (A)JBE (B)JL (C)JNG (D)JNA 5.假定AX和BX寄存器中存放的是有符号整数,如果AX>BX则转移到LABEL,应采用下面哪一条指令序列?( D )。 (A) SUB AX,BX

(C)

JC

CMP JA

(B)

SUB JNC CMP JG

AX, BX LABEL AX, BX LABEL

LABEL AX, BX (D) LABEL

6.已知AX=8078H, BX=5610H,指令CMP

(A)0,0 (B)0,1 BL,AH执行后OF,CF的值为( D )

(C)1,0 (D)1,1

(D)JP与JS

7.在汇编下列条件转移指令中,两条指令功能不一样的是( D )。

(A)JZ 与JE (B)JC与JB (C)JA与JNBE 8.循环指令LOOPNZ终止循环的条件是( B )。 (A)CX=0,且ZF=0 (B)CX=0, 或ZF=1

(C)CX<>0,且ZF=0

(D)CX<>0, 或ZF=1

9.在循环次数已知的情况下,采用哪种方法控制循环程序最方便( A )。 (A)计数法 (B)条件控制法 10.循环控制指令隐含指定哪个寄存器作为循环计数器( B )。 (A)CL (B)CX (C)AL 1.两个数相等时进行转移可用JZ指令 2.当PF=1时发生转移的条件转移指令为JPO

(D)AX

( √ ) ( × ) ( √ ) ( √ ) ( × ) ( × )

二、判断题(判断每题正误,对的在题后括号内划 “√”,错的划“×”):

3.当X

5.JS [BX] 6.JMP AL 三、填空题

1.当两个数不相等时,发生转移的条件转移指令有JNE和( JNZ )。

2.当PF=0时,发生转移的条件转移指令为JNP和( JPO )。

3.当A≥B(A,B为无符号数)时,发生转移的条件转移指令有( JAE )( JNB )。

4.设有下列程序段:

ADD

JNO JNC SUB JNC

L1

AX, BX

AX BX 程序转向 14C6H 80DCH L1 B568H 54B5H L1 42C8H 608DH L2 D023H 9FD0H L5 9FD0H D023H L5 L2

AX, BX L3

JNO L4

习题4示意图 JMP SHORT L5

如果AX和BX的内容如习题4图形,则该程序分别执行后,程序转向哪里? 四、程序分析题

1.阅读如下程序,回答所提出的问题,假定X1,X2,...Xn为无符号数。 .MODEL .STACK .DATA

BLOK DW X1,X2,..,Xn

COUNT EQU ($-BLOK)/2 RESULT DW COUNT,?

.CODE .STARTUP

LEA BX,BLOK-2 MOV CX,RESULT XOR AX,AX

GOON:

ADD CMP

BX,2 AX,[BX]

SMALL

JAE NEXT MOV AX,[BX]

NEXT:

LOOP GOON

MOV RESULT+2,AX

.EXIT 0

END

程序执行完,回答下述问题:

RESULT+2字存储单元的内容=MAX(X1,X2,..,Xn) 程序循环次数=( COUNT ) [BX]=( Xn )

2.下列程序完成的是什么功能?(SUMn=|BUF1n|+|BUF2n|。两个数组BUF1和BUF2对应位绝对值之和存入SUM对应位)

LEA SI, BUF1

LEA LEA MOV

AGAIN:

BX, DI, CX,

BUF2 SUM 100


刘臣奇主编-汇编语言程序设计-课外练习题参考答案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:土地集约利用评价研究我的论文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: