首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编制程序PROG1.ASM,其功能是:将连续20个字节的ASCII码(30~39之间)顺序转换成10个压缩BCD码。 例如:原始数据 31H,33H,35H,38H……(后面依次有16个ASCII码) 转换后为 13H,58H,……(后面
请编制程序PROG1.ASM,其功能是:将连续20个字节的ASCII码(30~39之间)顺序转换成10个压缩BCD码。 例如:原始数据 31H,33H,35H,38H……(后面依次有16个ASCII码) 转换后为 13H,58H,……(后面
admin
2009-02-15
89
问题
请编制程序PROG1.ASM,其功能是:将连续20个字节的ASCII码(30~39之间)顺序转换成10个压缩BCD码。
例如:原始数据 31H,33H,35H,38H……(后面依次有16个ASCII码)
转换后为 13H,58H,……(后面依次有8个压缩BCD码)
部分程序已经给出,其中原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,运算结果(要求从RESULT开始存入)由SAVE过程保存到OUTPUT. DAT中。请在BEGIN和END之间补充一段源程序,完成要求的功能。
原有数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,结果要求从RESULT开始存放,由SAVE保存到OUTPUT1.DAT文件
对程序必须进行汇编,并与IO.OBJ连接产生PROG1.EXE执行文件,最终产生运行结果(无结果或结果不正确均不得分)。
部分程序如下:
EXTRN LOAD:FAR,SAVE:FAR
N EQU 20
STAC SEGMENT STACK
DB 128 DUP(?)
STAC ENDS
DATA SEGMENT
SOURCE DB 31H,32H,33H,34H,35H,36H,37H,38H
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,RESULT ; 结果数据区首地址
LEA SI, NAME1 ; 结果文件名
MOV CX,N ; 结果字节数
CALL SAVE ; 保存结果到文件
RET
START ENDP
CODE ENDS
END START
相关知识:
●BCD码和压缩BCD码
BCD码就是以二进制数表示十进制数,以4位二进制数表示1位十进制数,0000~1001表示0~9,1010~1111六个状态无意义。非压缩BCD码以一个字节表示一位BCD码,压缩BCD码一个字节表示两位BCD码。
●ASCII码与压缩BCD码之间的转换
0~9的ASCH码为30H~39H,从数字的ASCII码求数字本身,只要用他的ASCII码减去30H即可。由两位非压缩BCD码构成一个字节的压缩BCD码可将高位的BCD码移到高四位,然后与低位的BCD码进行逻辑或(OR)操作即可完成。
编程思路:
第一步:分析本程序要求完成的功能。
本程序要求完成以下功能:
(1)从数据文件INPUT1.DAT中读取20个字节的ASCII码存放在SOURCE开始的内存单元中。
(2)将SOURCE开始的20个ASCII码求出其对应的数值,然后转换成压缩的BCD码,依次放在RESULT开始的内存单元中。
(3)将处理之后的字符串存入到OUTPUT1.DAT。
第二步:用相应汇编程序来实现其功能。
(1)数据的读取和存入题目中已经给出,只要完成20个ASCII码到压缩BCD的转换即可。
(2)由ASCII码到压缩BCD码的转换过程如下:
由于20位ASCII码正好转换成10个字节压缩BCD码,不存在某个字节的BCD码只有一位。因此依次从SOURCE开始的内存单元取两个ASCII码,前一个转换成压缩BCD码的高位,后一个转换成压缩BCD码的低位来构成压缩BCD码;每两个ASCII码转换成一个字节的压缩BCD码,直至转换完毕。
选项
答案
LEA SI,SOURCE LEA DI,RESULT MOV CX,N/2 LO: MOV AL,[SI] SUB AL,30H ;将ASCII码转换成10进制数 INC SI MOV AH,[SI] SUB AH,30H ;将第二个数转换成10进制数 SHL AH,1 SHL AH, SHL AH,1 SHL AH,1 ;将第二个数移到高4位中 OR AL,AH ;将两个BCD码,压缩到一个字节中,成为压缩 BCD码 MOV [DI],AL INC SI INC DI LOOP LO
解析
转载请注明原文地址:https://kaotiyun.com/show/ZVrZ777K
本试题收录于:
三级PC技术题库NCRE全国计算机三级分类
0
三级PC技术
NCRE全国计算机三级
相关试题推荐
数据仓库是一个面向______的、集成的、相对稳定、体现历史变化的数据集合,其目的是更好地支持企业或组织的决策分析处理。
良好的程序设计风格对面向对象实现来说尤其重要,不仅能够明显减少______的开销,而且有助于在新项目开发中重用已有的程序代码。
BSP方法中,定义数据类有许多步骤,下列中哪一步不属于它的步骤
软件开发可行性研究,一般涉及经济、技术、操作和法律可行性,而进行可行性研究的基本依据则是用户提出的软件
实现信息系统的原型化开发往往可采用灵活的策略,下述Ⅰ.从需求定义开始Ⅱ.购买初始原型Ⅲ.子系统原型化Ⅳ.屏幕原型化()是可采用的策略。
在关系模式R(A,B,C)中,有函数依赖集F={(A,B)→C,(B,C)→A},则R最高达到()。
当前的管理信息系统的形式发生很大的变化,这些系统除了它传统的功能外,还包括了诸如即时库存管理(JIT)、电子数据交换(EDl)、电子订货系统(EOS)、电子转账系统(EFT)、信用卡服务(POS)、商业增值服务网络(VAN)等,其主要原因是由于【】技术
在数据库中,下面列出的数据模型的三个要素中,用于描述系统的动态特性的要素是()。Ⅰ.数据结构Ⅱ.数据操作Ⅲ.完整性约束
确定企业的主题数据库是战略数据规划的重要内容之一,下述哪个不是对主题数据库提出的要求?
数据库物理设计完成后,进入数据库实施阶段,下述工作中,哪一项一般不属于实施阶段的工作
随机试题
用人单位对从事有职业危害作业的劳动者应当定期进行()
安全教育的主要内容包括()。
对于Windows7桌面上的原有的程序图标,用户可以根据需要进行增删。
A.插入双链DNA之间,抑制DNA的模板作用B.抑制原核细胞RNA聚合酶活性,阻止转录C.与原核细胞核蛋白体小亚基结合,影响翻译D.抑制真核细胞核蛋白体大亚基转肽酶活性放线菌素
对有足够数量的正常外周血细胞且无症状的慢性淋巴细胞白血病B期患者,出现下述哪些情况时应开始化疗
A.玉堂B.血堂C.胸堂D.肾堂E.开关治疗马胃热、舌疮、上腭肿胀宜选
治疗慢性失血(如内痔出血)所致的贫血应选用
A公司委托证券公司代理发行普通股股票10000万股,每股面值1元,按每股3元的价格发行,证券公司按发行收入1%收取手续费从发行收入中扣除。假如企业股款已经收到,该公司“资本公积”科目的金额是( )万元。
在现场勘验或者搜查中发现可用以证明犯罪嫌疑人有罪或者无罪的各种物证、书证需要扣押的,由()决定。
清朝明确规定了典当回赎权的年限,即若约定年限超过这一年限即认定为买卖契约,必须缴纳契税,这一年限是
最新回复
(
0
)