首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编制程序,其功能是:对一个由可打印ASCII字符(ASCII值为20H~7FH)组成的字符串可采用下列方法进行压缩:从串首开始向后扫描,如某字符单独出现则该字符不变,如某字符连续出现n次,则该字符用ESC(1BH),n,<原字符>三个字节来代替(假定n不
请编制程序,其功能是:对一个由可打印ASCII字符(ASCII值为20H~7FH)组成的字符串可采用下列方法进行压缩:从串首开始向后扫描,如某字符单独出现则该字符不变,如某字符连续出现n次,则该字符用ESC(1BH),n,<原字符>三个字节来代替(假定n不
admin
2010-12-14
32
问题
请编制程序,其功能是:对一个由可打印ASCII字符(ASCII值为20H~7FH)组成的字符串可采用下列方法进行压缩:从串首开始向后扫描,如某字符单独出现则该字符不变,如某字符连续出现n次,则该字符用ESC(1BH),n,<原字符>三个字节来代替(假定n不超过255)。
设内存中从SOURCE开始有一用上述方法压缩的字符串,其以OOH结束,解压后长度不超过100。试编程对其解压缩,结果存入RESULT开始的内存单元。
例如:
原串: 41H,1BH,06H,43H,61H,00H
解压缩后:41H,43H,43H,43H,43H,43H,43H,61H,OOH("ACCCCCCa")
部分程序已给出,原始数据由过程LOAD从文件INPUT.DAT中读入SOURCE开始的内存单元中,结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT.DAT中。
请填空BEGIN和END之间已给出的源程序使其完整,空白己用横线标出,每个空白一般只需一条指令,但采用功能相当的多条指令亦可,或删除BEGIN和END之间原有的代码并自行编写程序片段来完成所要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。
【试题程序】
EXTRN LOAD:FAR, SAVE:FAR
N EQU 100
ESC_CODE EQU 27
STAC SEGMENT STACK
DB 128 DUP(?)
STAC ENDS
DATA SEGMENT
SOURCE DB N DUP(?)
RESULT DB N DUP(0)
NAME0 DB ’INPUT.DAT’,0
NAME1 DB ’OUTPUT.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 ;从"INPUT.DAT" 中读取数据
******** BEGIN ********
LEA SI, SOURCE
LEA DI, RESULT
CLD
LO: LODSB
CMP AL, 0
JE QUIT
CMP AL, ESC_CODE
J (1) EXPAND
(2)
JMP L0
EXPAND: (3) ;解压缩
XOR CX, CX
(4)
(5)
(6)
(7)
JMP LO
QUIT:
STOSB ;STORE THE ’00H’
******** END ********
LEA DX, RESULT ;结果数据区首址
LEA SI, NAME1 ;结果文件名起始地址
MOV CX,N ;字节数
CALL SAVE ;保存结果到"output.dat" 文件
RET
START ENDP
CODE ENDS
END START
选项
答案
(1)E (2)STOSB (3)CID (4)MOV CL,[SI] (5)MOV AL,[SI+1] (6)REP STOSB (7)ADD SI,2
解析
本题是一道数据插入题,其中本题采用的算法是首先从原始数据区读取一个字节,判断是否为结束标志,若是结束标志,则直接送至结果数据区并结束处理,若不是结束标志则再次判断是否是压缩标志,是则读取下一个字节,然后将其值送CL,再读取下一个字节到AL,以CL为计数器重复将刚才读取的数据写入结果数据区,然后继续读取下一个数据开始进行判断,直到发现结束标志为止。反之则直接将该字符送到结果数据区。
程序中使用串处理指令LODSB来完成读取数据和修改原始数据区偏移地址的目的:使用串处理指令STOSB来完成写入数据和修改结果数据区偏移地址的目的;使用CL做计数器和指令REP完成循环处理。
转载请注明原文地址:https://kaotiyun.com/show/HdgZ777K
本试题收录于:
三级PC技术题库NCRE全国计算机三级分类
0
三级PC技术
NCRE全国计算机三级
相关试题推荐
在Windows98环境下,系统支持下面4种文件系统:Ⅰ.FAT12Ⅱ.FAT16Ⅲ.FAT32Ⅳ.CDFS硬磁盘存储系统可采用的文件系统为
在Windows98环境下,Win32应用程序的4GB的地址空间可以划分为四个部分。其中,私有地址空间范围是
假设保护方式下Pentium微处理器的(DS)=0103H,则下列哪一种类型的段能被访问?
Pentium处理器处理的16位二进制整数用补码表示,其数值范围是多少?
输入设备用于向计算机输入命令、数据、文本、声音、图像和视频等信息,其中命令信息是用户向计算机发出的操作请求。下面是一组PC机常用的输入设备: ①笔输入设备②键盘③鼠标④触摸屏 以上输入设备中,哪些可用来输入用户命令信息?
Windows98支持多种不同类型的文件系统,并可以安装第三方提供的文件系统。在Windows98环境下,DVD-ROM采用的文件系统为哪一种?
除了I/O设备本身的性能外,影响计算机I/O数据传输速度的主要因素是
数字摄像机所拍摄的数字视频及其伴音数据量很大,为了将音视频数据输入计算机,一般要求它与计算机的接口能达到每秒百兆位以上的数据传输率,所以目前数字摄像机大多采用【】接口。
下面关于串行通信的叙述中,错误的是:
在数据通信中,为了提高线路利用率,一般使用多路复用技术。最基本的多路复用技术有频分多路复用、时分多路复用和码分多路复用等,目前ADSL采用的是上【】多路复用技术。
随机试题
执法人员当场作出的行政处罚决定,不用报所属行政机关备案。()
宴会菜单的确定一般是由营养配餐员、厨师长和餐厅服务员按照宴会主人提出的宴会费用标准设计。()
干燥过程既是传热过程又是传质过程。 ()
费穆后期导演的电影中,充分体现了中国古典美学精神的作品是()
桥梁上保护层、底座混凝土铺筑采取模筑法方案,钢筋常规法施工,混凝土铺筑采取()。
水利水电工程施工导流建筑物级别最高是()级。
根据支付结算法律制度的规定,关于银行结算账户的管理,下列说法不正确的是()。
甲、乙两个单位分别有60和42名职工,共同成立A、B两个业余活动小组,所有职工每人至少参加1个。乙单位职工中仅参加A组的人数是只参加一个小组人数的60%,乙单位职工中参加B组的人数与参加A组的人数之比为3:4,参加B组的人
曲线y=∫0x(t一1)(t一2)dt在点(0,0)处的切线方程是_________.
完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是
最新回复
(
0
)