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

IBM_PC汇编语言程序的设计课后习题答案(第二版沈美明))

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

JCXZ STOP ;最后一个数是偶数,即为最小偶数,退出

COMPARE1: MOV DX, DATA[BX] ;取数组的下一个偶数

ADD BX, 2

TEST DX, 01H ;是偶数吗?

JNZ NEXT ;不是,比较下一个数

CMP AX, DX ;(AX)<(DX)吗?

JLE NEXT

MOV AX, DX ;(AX)<(DX),则置换(AX)为最小偶数

NEXT: LOOP COMPARE1

STOP: RET

5.8 把AX中存放的16位二进制数K看作是8个二进制的“四分之一字节”。试编写程序要求数一下值为3(即11B)的四分之一字节数,并将该数(即11B的个数)在终端上显示出来。

答:程序段如下:

BEGIN: MOV DL, 0 ;计数初始值

MOV CX, 8

COMPARE: TEST AX, 03H ;是数03吗?

JNZ NOEQUAL ;不是,转走

INC DL ;是,计数

NOEQUAL: ROR AX, 1 ;准备判断下一个数

ROR AX, 1

LOOP COMPARE

ADD DL, ‘0’ ;将计数值转换为ASCII码

MOV AH, 2 ;进行显示

INT 21H

STOP: RET

5.9 试编写一个汇编语言程序,要求从键盘接收一个四位的16进制数,并在终端上显示与它等值的二进制数。

答:程序段如下:

BEGIN: MOV BX, 0 ;用于存放四位的16进制数

MOV CH, 4

MOV CL, 4

INPUT: SHL BX, CL ;将前面输入的数左移4位

MOV AH, 1 ;从键盘取数

INT 21H

CMP AL, 30H ;<0吗?

JB INPUT ;不是‘0~F’的数重新输入

CMP AL, 39H ;是‘0~9’吗?

JA AF ;不是,转‘A~F’的处理

AND AL, 0FH ;转换为:0000B~1001B

JMP BINARY

AF: AND AL, 1101 1111B ;转换为大写字母

CMP AL, 41H ;又

JB INPUT ;不是‘A~F’的数重新输入

CMP AL, 46H ;>F吗?

JA INPUT ;不是‘A~F’的数重新输入

AND AL, 0FH ;转换为:1010B~1111B

ADD AL, 9

BINARY: OR BL, AL ;将键盘输入的数进行组合

DEL CH

JNZ INPUT

DISPN: MOV CX, 16 ;将16位二进制数一位位地转换成ASCII码显示

DISP: MOV DL, 0

ROL BX, 1

RCL DL, 1

OR DL, 30H

MOV AH, 2 ;进行显示

INT 21H

LOOP DISP

STOP: RET

5.10 设有一段英文,其字符变量名为ENG,并以$字符结束。试编写一程序,查对单词SUN在该文中的出现次数,并以格式“SUN:xxxx”显示出次数。

答:程序如下:

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