第一范文网 - 专业文章范例文档资料分享平台

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

来源:用户分享 时间:2025/5/21 4:15:59 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

7.设有一段英文,其字符变量名为ENG,试编写一个程序,查对单词READ在该文中出现次数并存放在BX寄存器中。

.MODEL SMALL .STACK .DATA ENG

DB 'SNNREADRAREADUNSUN'

CNTENG EQU $-ENG KEYWORD DB 'READ' CNTKEY .CODE .STARTUP

XOR LEA SUB INC

AGAIN:

LEA

MOV

COMPARE:

MOV MOV INC INC CMP

AL,[SI] AH,[DI] SI DI AL,AH BX,BX SI,ENG DX,CNTKEY DX

DI,KEYWORD CX,CNTKEY EQU $-KEYWORD

MOV DX,CNTENG

LOOPZ COMPARE JNZ NOREAD INC BX

NOREAD: DEC

JNZ

.EXIT 0

END

8.测试AL寄存器的最低位是否为0,若为0,跳转到B1,否则,跳转到B2。

TEST JZ

AL,1 B1 DX AGAIN

JMP B2

9.比较两个字符串STARING1和STARING2所含字符是否完全相同,若相同则显示“MATCH”,不同则显示“NO MATCH”。

.MODEL SMALL .STACK .DATA

NO_MA

DB ‘NO_MATCH’,0DH,0AH,’$’

MAT

DB ‘MATCH’,0DH,0AH,’$’

.CODE .STARTUP

MOV SI,0 MOV DI,0 MOV

CX,COUNT

AGAIN:MOV AL,STRING1[SI]

CMP AL,STRING2[DI]

JZ MA

MOV DX,OFFSET NO_MA MOV AH,9 INT 21H JMP

OK MA:

INC

SI

INC DI

LOOP AGAIN MOV DX,OFFSET MAT MOV AH,9 INT

21H

OK:

.EXIT 0

END

10.设在变量单元A、B和C中存放有三个数, 若三个数都不为0,0,则将其他两个单元也清零,请编写此程序。

MOV AX,A CMP AX,0H JZ NEXT MOV BX,B CMP BX,0H JZ NEXT MOV CX,C CMP CX,0H JZ NEXT ADD D,AX ADD D,BX ADD

D,CX JMP

OK NEXT: MOV

A,0 MOV

B,0

MOV C,0

OK: NOP

11.设变量X为带符号整数,试按下面的要求编制此程序:

①如果X的绝对值大于5,变量FX赋值为零。

则求出三个数之和存入D 中;若有一个为②如果X的绝对值不大于5,变量FX赋值为1—X

MOV MOV CMP JG NEG

NEXT: CMP

JA

NEG ADD MOV

FX,0 AX,X AX,0H NEXT AX AX,5 OK AX AX,1 FX,AX

OK: NOP

12.编制程序计算(见下图):

设X,Y为双字节带符号数据,分别存放在DAX,DAY单元,计算结果存入RLT单元。

X×Y S= X÷Y

(Y>0,X>0)

(Y<0,X<0)

|X+Y| (其它) MOV AX,DAX MOV CMP JL CMP JL IMUL JMP

BX,DAY AX,0H NEXT BX,0H QT BX OK BX,0 QT DX,0 BX OK AX,BX OK AX RLT,AX

NEXT: CMP

JGE MOV

IDIV JMP

QT:

ADD JNS NEG

OK:

MOV

第七章课外练习题

一、单项选择题:

1.完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是( A )

(A)MOV AL,00H (B)AND AL,00H

(C)XOR AL,AL

(D)SUB AL,AL

(D)INC

2.下列指令执行后总是使CF=0,OF=0的是( A ) (A)AND (B)NEG (C)NOT

3.若(AX)=10101101B,为了使其内容变为01010010B,下列( A )指令执行一次即可完成

此操作?

(A)NOT指令

5.

(B)OR指令

(C)AND指令

(D)XOR指令

4.实现将DX:AX中存放的32位数扩大四倍,正确的程序段是( C )

(A)SHL AX,2 (B) RCL AX,2

ROL DX,2

(C)MOV CX,2 LOP: SHL AX,1

(D)

SHL DX,2 SHL AX,1 SHL AX,1

RCL DX,1 RCL DX,1 LOOP LOP RCL DX,1 TA1 DW 0102H,0304H,0506H

TA2 ┆

MOV ADD MOV AND ADD

DB 02H,04H,06H BX, OFFSET TA1 BL, TA2+2 BX, [BX] BX, 0FFH

BH, BYTE PTR TA1 [BX]

(C)0606H

(D)0204H

上述指令序列运行后,BX的内容是( B )

(A)0605H (B)0402H

6.NEXT是某指令语句标号,下述哪个程序段不能实现转移到NEXT语句执行( C ) (A) JMP NEXT (B) MOV BX, OFFSET NEXT (C)

MOV JMP

BX, NEXT BX

(D)

JMP BX

LEA AX, NEXT JMP AX

7.测试BL内容是否与数据4FH相等,若相等则转NEXT处执行,可实现的是( D )

(A) TEST BL,4FH (B) OR BL,4FH

(C)

JZ

AND JZ

NEXT BL,4FH NEXT

(D)

JZ

XOR JZ

NEXT BL,4FH NEXT

8.下面指令序列测试BH中的数是否为奇数,若为奇数则转移至K1处,括号处的指令应为( A )

TEST BH,01H ( ) K1 (A)JNE (B)JZ (C)JS (D)JC

9.下面指令序列测试BX中的数是否为负数,若为负数则转移至F1处,不正确的指令序列应为

刘臣奇主编-汇编语言程序设计-课外练习题参考答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c3qvy95hsr620sz53255e_6.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top