首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编制程序PROG1.ASM,其功能是:对一个由可打印ASCII字符(ASCII码20H-7FH)组成的字符串可采用下列方法进行压缩:从串首开始向后扫描,如某字符单独出现则该字符不变,如某字符连续出现n次,则该字符用ESC(1BH),n,〈原字符〉三个字节
请编制程序PROG1.ASM,其功能是:对一个由可打印ASCII字符(ASCII码20H-7FH)组成的字符串可采用下列方法进行压缩:从串首开始向后扫描,如某字符单独出现则该字符不变,如某字符连续出现n次,则该字符用ESC(1BH),n,〈原字符〉三个字节
admin
2009-02-15
34
问题
请编制程序PROG1.ASM,其功能是:对一个由可打印ASCII字符(ASCII码20H-7FH)组成的字符串可采用下列方法进行压缩:从串首开始向后扫描,如某字符单独出现则该字符不变,如某字符连续出现n次,则该字符用ESC(1BH),n,〈原字符〉三个字节来代替(假定n不超过255)。
设内存中从SOURCE开始有一用上述方法压缩的字符串,其以00H结束,解压后长度不超过 100。试编程对其解压缩,结果存入RESULT开始的内存单元。
例如:
原串:41H,1BH,06H,43H,61H,00H
解压后:41H,43H,43H,43H,43H,43H,43H,61H,00H("ACCCCCCa")
部分程序已在PROG1.ASM中给出,请填空BEGIN和END之间已给出的源程序使其完整(空白已用横线标出,每行空白一般只需一条指令,但功能相当的多条指令亦可)或删除BEGIN和 END之间原有的代码并自行编写程序片段来完成要求的功能。
原始数据由过程LOAD从文件INPUT1.DAT中读入SOURCE开始的内存单元中,结果要求从 RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
对程序必须进行汇编,并与IO.OBI链接产生PROG1.EXE执行文件,最终运行程序产生结果 (无结果或结果不正确者均不得分)。
PROG1.ASM文件内容如下:
EXTRN LOAD:FAR,SAVE:FAR
N EQU 100
ESC_CODE EQU 27
STAC SEGMENT STACK
DB 128DUP(?)
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
MOV ES,AX ;置附加段寄存器
LEA DX,SOURCE ;数据区起始地址
LEA SI,NAME0 ;原始数据文件名
MOV CX,N ;字节数
CALL LOAD ;从’input1.DAT’中读取数据
;* * * * BEGIN * * * *
LEA SI,SOURCE
LEA DI,RESULT
CLD
LO: LODSB
CMP AL,0
JE QUIT
CMP AL,ESC_CODE
_____ EXPAND
_____ _____
JMP LO
EXPAND: _____ _____ ;解压
XOR CX,CX
_____ _____
_____ _____
_____ _____
_____ _____
JMP LO
QUIT:
STOSB ;STORE THE ’00H’
;* * * * END * * * *
LEA DX,RESULT ;结果数据区首址
LEA SI,NAME1 ;结果文件名起始地址
MOV CX,N ;字节数
CALL SAVE ;保存结果到’OUTPUT1.DAT’文件中
RET
START ENDP
CODE ENDS
END START
选项
答案
;* * * * BEGIN * * * * LEA SI,SOURCE LEA DI,RESULT CLD LO:LODSB ;从源数据区取一个字节放入AL CMP AL,0 ;判断AL中是否是可打印ASCII字符 JE QUIT ;若不是,则退出 CMP AL,ESC_CODE 判断是否是 ESC JZ EXPAND ;若是,则进行解压 MOV [DI],AL ;若不是,则保存,接着取下一个字节 INC DI JMP LO EXPAND:MOV AL,[SI] ;解压,取出该字符的个数,放入CX中 XOR CX,CX MOV CL,AL INC SI AGAIN:MOV AL,[SI] MOV [DI],AL INC DI LOOP AGAIN INC SI JMP LO QUIT: STOSB ;STORE THE ’00H’ ;* * * * END * * * * 输入数据 41 1B 03 42 65 1B 19 42 43 1B 03 44 45 1B 23 48 49 4A 4C 1B 0C 47 1B 0E 4D 00 00 00 00 00 00 00 00 00 000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000 00 输出结果: 41 42 42 42 65 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 43 44 44 44 45 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 49 4A 4C 47 47 47 47 47 47 47 47 47 47 47 47 4D 4D 4D 4D 4D 4D 4D 4D 4D 4D 4D 4D 4D 4D 00
解析
转载请注明原文地址:https://jikaoti.com/ti/pwV7FFFM
本试题收录于:
三级PC技术题库NCRE全国计算机三级分类
0
三级PC技术
NCRE全国计算机三级
相关试题推荐
在信息系统的需求分析中,首先应是()。
通过决策支持系统的输入接口输入决策支持系统的初始信息包括()。
企业系统规划(BSP)方法认为,一个企业的信息系统应该能适应其管理体制和______的变化。
软件的面向数据流的设计方法,利用其定义的映射方法可以把数据流图变换成软件结构,在映射中一般将数据流分为变换流和______两种。
通常信息系统的数据转换图包含典型的结构,其中,呈现一种线性状态,其描述的对象可以抽象为输入、处理和输出的结构是
程序内部的各个部分之间存在的联系,用结构图表达时,最关心的是模块的内聚性和()。
在计算机硬件系统的基本组成中,完成解释指令、执行指令的功能部件是
根据下面的数据段定义:DSEGSEGMENTADW1234HBDB56HCEQUA+1DSEGENDS执行MOVBX,C指令后,BX寄存器中的内容是
外置Modem与主机连接的接口标准是( )
ASDL MODEM分为内置式、外置式和【 】。
随机试题
外感头痛的致病因素主要为()
政府采购的最终目标是()。
安全生产管理是指()。
项目总承包方项目管理工作涉及项目()的全过程。
2007年1月1日,A公司采取控股合并方。式以700000元购得甲公司100%股份。合并前A公司和甲公司合并前的资产负债表如下:要求:(1)假定合并日甲公司各项资产与负债账面价值与市值相等。要求采用购买法、母公司理论进行A公司投资的账务处
某产品本月成本资料如下:(1)单位产品标准成本本企业该产品预算产量的标准工时为1000小时。(2)本月实际产量20件,实际耗用材料900千克,实际人工工时950小时,实际成本如下:
下面是四幅需求曲线变动图。在市场经济条件下,假定甲、乙两商品互为替代品,当甲商品价格上升时,反映乙商品需求曲线变动趋势的是()。
A.滤过膜受损B.系膜基质受损C.分子屏障受损D.电荷屏障受损女性,31岁,水肿1个月,尿蛋白4.5g/d,以白蛋白为主,本例蛋白尿属于哪种损伤所致
近年来,越来越多的教育专家不断呼吁小学生家长不要给孩子增加太多的学习负担,少报课外班。过多地上课外班对小学生的心理健康不利。现在社会上充斥着各类针对小学生的课外培训机构,良莠不齐。以下哪项陈述为真,最有力地支持了教育专家的观点?
Youmaysaythatthebusinessofmarkingbooksisgoingtoslowdownyourreading.Itprobablywill.That’soneofthe【B1】_____
最新回复
(
0
)