首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编制程序PROC1.ASM,其功能是:内存中有一个ASCII字符串(从S0URCE开始存放),试将其中所有连续的回车与换行符(0DH,0AH)置换成单个回车符(0DH)。字符串以00H结尾,长度(包括00H)不超过100个字节。 例如:字符串41H
请编制程序PROC1.ASM,其功能是:内存中有一个ASCII字符串(从S0URCE开始存放),试将其中所有连续的回车与换行符(0DH,0AH)置换成单个回车符(0DH)。字符串以00H结尾,长度(包括00H)不超过100个字节。 例如:字符串41H
admin
2009-02-15
41
问题
请编制程序PROC1.ASM,其功能是:内存中有一个ASCII字符串(从S0URCE开始存放),试将其中所有连续的回车与换行符(0DH,0AH)置换成单个回车符(0DH)。字符串以00H结尾,长度(包括00H)不超过100个字节。
例如:字符串41H,42H,0DH,0AH,43H,00H
转换为41H,42H,0DH,43H,00H
部分程序已给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUT- PUT1.DAT中。请编写BECIN到END之间的代码。对程序必须进行汇编,并与IO.OBJ连接产生PROC1.EXE执行文件,最终运行程序产生结果(无结果或结果不正确者均不得分)。
部分源程序如下:
EXTRN LOAD:FAR,SAVE:FAR
N EQU 100
STAC SEGMENT STACK
DB 128 DUP (?)
STAC ENDS
DATA SEGMENT
SOURCE DB N DUP (0)
RESULT DB N DUP (0)
NAME0 DB ’INPUT1. DAT’, 0
NAME1 DB ’OUTPUT1. DAT’, 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA, SS:STAC
START PROC FAR
PUSH DS
XOR AX, AX
PUSH AX
MOV AX, DATA
MOV DS, AX
LEA DX, SOURCE ; 数据区起始地址
LEA SI, NAME0 ; 原始数据文件名
MOV CX,N ; 字节数
CALL LOAD ; 从"INPUT1.DAT"中读取数据
**** BEGIN ****
***** END *****
LEA DX, RFSULT ; 结果数据区首址
LEA SI, NAME1 ; 结果文件名
MOV CX,N ; 结果字节数
CALL SAVE
RET
START ENDP
CODE ENDS
END START
编程思路:
第一步:分析程序要求的功能。
本程序需要完成以下功能。
(1)据文件INPUT1.DAT中读取100个ASCII码存放在SOURCE开始的内存单元中。
(2)将SOURCE开始的100个字单元中的ASCII码,将0DH后的0AH删除,并将结果存放在RFSULT开始的内存单元中。
(3)将结果存放在OUTPUT1.DAT中。
第二步:用相应的汇编程序来实现其功能。
(1) 数据的读取和存入文件部分的实现,题目中已经给出。
(2) 如果是将数据在原地进行处理,那么每删除一个数据就要将其后面的所有数据向前移动一个位置,如果直接将扫描处理完毕的数据复制到结果地址中,将会节省移动数据的开销;
因为要删除0DH后面的0AH,所以,在扫描数组的过程中除了要了解当前数据元素的内容还要了解前一个数据的内容。解决方法可使用标志单元记录前一个数据是否为 0DH,然后当前数据元素根据标志单元的内容决定当前元素是否复制到结果中;也可在扫描数组的过程中,如果碰到一个0DH,则进入不同的程序段,这个程序段决定是否将当前数据元素复制到结果中。我们的参考答案采用了后一种方法。
选项
答案
LEA SI,SOURCE LEA DI,RESULT LO MOV AL,[SI] CMP AL,0 JZ QUIT ;如果当前字符为0,则结束 MOV [DI],AL ;不为0则复制到目的地址 INC SI INC DI CMP AL,0DH ;当前字符若为ODH,则进入L1状态 JE L1 JMP LO L1:MOV AH,[SI] ;在前一个字符为ODH的情况下,判断当前字符是符为OAH,若为OAH则不将OAH复制到目的地址 CMP AH,0AH JEN LO INC SI JMP LO ;重复处理下一个字符 QUIT
解析
转载请注明原文地址:https://kaotiyun.com/show/ljrZ777K
本试题收录于:
三级PC技术题库NCRE全国计算机三级分类
0
三级PC技术
NCRE全国计算机三级
相关试题推荐
数据管理技术随着计算机技术的发展而发展。一般可以分为如下四个阶段:人工管理阶段、文件系统阶段、【】阶段和高级数据技术阶段。
()是数据说明、可执行语句等程序对象的集合,它是单独命名的而且可通过名字来访问。
原型化方法通过对原型的迭代初期和后期的模型验证,不断开发和修正需求,下列工作:Ⅰ.用户进行验证Ⅱ.发现遗漏和不正确的功能Ⅲ.改善用户界面Ⅳ.测试思路和提出建议Ⅴ.总体检查,找出隐含错误哪个(些)工作属于迭代后期的任务
数据库设计有四个阶段,构造数据流图属于以下哪个阶段的任务
与管理信息系统相比较,人们一般认为决策支持系统执行的是【】,管理信息系统更多的则是执行组织的日常业务活动的常规信息处理。
对关系数据库来讲,下面()说法是错误的。
结构化分析和设计方法是信息系统开发时常用的工程化方法,按生命周期特征,它属于()。
一个功能完备的网络系统应该提供一些基本的安全服务功能。其中用来保证源结点用户与目的结点用户不能对已发送或已接收的信息予以否认,这属于网络服务的哪种功能
JamesMartin强调,大多数企业都存在企业经营关键成功因素,下列叙述错误的是
数据是企业中最【】的因素,它又是企业所有运行活动的数字化表征。
随机试题
控制性施工进度计划的主要作用是()。
试以药性理论分析桑寄生的功效与主治证。
患者,男,26岁。饮酒后左上腹剧痛12小时。伴腹胀、恶心、呕吐。体温38.5℃,自服镇痛药物效果不佳。问题3:提示:腹部平片未见膈下游离气体,B超示胆囊壁略毛糙,胰腺水肿,胰头周围可见低回声带。该患者可诊断为1.急性胰腺炎2.急性胃炎3.急性胆囊
具有温中行气、燥湿除满的功用是
甲对乙享有10万元的到期债权,乙对丙也享有10万元的到期债权,三方书面约定,由丙直接向甲清偿,下列那些说法是正确的()
有关消防软管卷盘设计及使用的规定,以下哪一条是正确的?
下列属于投标人之间串通投标的行为是()
以下属于房产税的特点的有()。
(2017年真题)在PowerPoint中,新建演示文稿已选定某特定的应用设计模板,在该文稿中插入一个新幻灯片时,新幻灯片的模板将()。
在ISO/IEC9126软件质量模型中,软件质景特性()包含质量子特性安全性。
最新回复
(
0
)