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

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

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

DSEG SEGMENT

ENG DB ‘Here is sun, sun ,…,$’

DISP DB ‘SUN:’

DAT DB ‘0000’ , 0DH, 0AH, ‘$’

KEYWORD DB ‘sun’

DSEG ENDS

;--------------------------------------------------------------------------

CSEG SEGMENT

MAIN PROC FAR

ASSUME CS: CSEG, DS: DSEG, ES: DSEG

START: PUSH DS ;设置返回DOS

SUB AX, AX

PUSH AX

MOV AX, DSEG

MOV DS, AX ;给DS赋值

MOV ES, AX ;给ES赋值

BEGIN: MOV AX, 0

MOV DX, DISP-ENG-2 ;计算ENG的长度(每次比较sun,因此比较次数-2)

LEA BX, ENG

COMP: MOV DI, BX

LEA SI, KEYWORD

MOV CX, 3

REPE CMPSB ;串比较

JNZ NOMATCH

INC AX ;是,SUN的个数加1

ADD BX, 2

NOMATCH: INC BX ;指向ENG的下一个字母

DEC DX

JNZ COMP

DONE: MOV CH, 4 ;将次数转换为16进制数的ASCII码

MOV CL, 4

LEA BX, DAT ;转换结果存入DAT单元中

DONE1: ROL AX, CL

MOV DX, AX

AND DL, 0FH ;取一位16进制数

ADD DL, 30H

CMP DL, 39H

JLE STORE

ADD DL, 07H ;是“A~F”所以要加7

STORE: MOV [BX], DL ;转换结果存入DAT单元中

INC BX

DEC CH

JNZ DONE1

DISPLAY: LEA DX, DISP ;显示字符串程序(将DISP和DAT一起显示)

MOV AH, 09H

INT 21H

RET

MAIN ENDP

CSEG ENDS ;以上定义代码段

;--------------------------------------------------------------------------

END START

5.11 从键盘输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并显示出计数结果。

答:程序段如下:

DSEG SEGMENT

BUFF DB 50 DUP (‘ ’)

COUNT DW 0

DSEG ENDS ┇

BEGIN: LEA BX, BUFF

MOV COUNT, 0

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