请编制程序,其功能为:将一个字符串中连续相同的字符仅用一个字符代替,生成一个新的字符串。字符串
请编制程序,其功能为:将一个字符串中连续相同的字符仅用一个字符代替,生成一个新的字符串。字符串以00H结束,长度不超过20个字节。
例如:
原字符串为:4EH,4EH,4EH,42H,1AH,31H,31H,00H:
新字符串为:4EH,42H,1AH,31H,00H
部分程序已经给出,其中原始数据由LOAD过程从文件INPUT1. DAT中读入从SOURCE开始的内存单元,运算结果要求从RESULT开始存放,由SAVE过程保存到OUTPUT1.DAT文件中。请在BEGIN和END 之间补充一段源程序,完成要求的功能。
对程序必须进行汇编,并与IO.OBJ链接产生PROG1.EXE执行文件,最终产生运行结果。
部分程序如下:
; PROG1. ASM
EXTRN LOAD:FAR,SAVE:FAR
LEN EQU 20
N EQU 10
DSEG SEGMENT
SOURCE DW N DUP (?)
RESULT DW N DUP (0)
NAME0 DB 'INPUT1. DAT', 0
NAME1 DB 'OUTPUT1.DAT',0
DSEG ENDS
SSEG SEGMENT STACK
DB 256 DUP (?)
SSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG, DS:DSEG;SS:SSEG
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DSEG
MOV DS,AX
MOV ES, AX
LEA DX,SOURCE
LEA SI,NAME0
MOV CX,N
CALL LOAD
; *** BEGIN ***
…………
…………
…………
; *** END ***
LEA DX,RESULT
LEA SI,NAME1
MOV CX,N
CALL SAVE
RET
START ENDP
CSEG ENDS
END START
; *** BEGIN *** LEA SI,SOURCE LEA DI,RESULT LOOP1: MOV AL,[SI] CMP AL,00H JE EXIT NEXT: INC SI MOV AH,[SI] CMP AL,AH JE NEXT MOV [DI] ,AL INC DI JMP LOOP1 EXIT: MOV [DI], AL ; *** END *** [INPUT1. DAT 中的输入数据]: 4EH,4EH,4EH,42H, 1AH,31H,31H,00H,23H,25H [输出结果] 4E 42 1A 31 00 00 00 00 00 00
用SQL计算同一个字符(汉字、字母、数字、表情、符号)连续重复出现的次数如:aaaa%%%vfah 其他 2020-05-16 …
请编制程序,其功能为:将一个字符串中连续相同的字符仅用一个字符代替,生成一个新的字符串。字符串 计算机类考试 2020-05-23 …
一串字符数字,隐藏两位,不知道隐藏的两位是数字或者字母数字.数字0到9,字母是ABCDEF不分大小 数学 2020-06-09 …
有关英语选择题中的连字符.---Howoldistheboy?---Heis.A.six-mont 英语 2020-06-14 …
连字可以自己造英语词组?连字符号连用,好无语的,有的词典查带连字符的单词,查不到,去掉就可以查到, 语文 2020-06-18 …
将下列字连成首位相连的8个成语从“放”开始,一次连接所有字,将他们联成8个首尾相连的成语.放山高水 语文 2020-07-24 …
根据以下Excel图表,回答第64-67题:D6单元格的公式“=SUM(D2:D5)”中“:”符号表 其他 2020-10-31 …
连接运算符中“+”连接运算符如果一个是字符串而另一个是数字,则进行相加,结果为两个数字相加。可是我在 其他 2020-11-01 …
编程将两个字符串连接起来输入两行,每行一个字符串(只包含小写字母长度不超过100)输出一行一个字符串 其他 2020-11-07 …
在空格中填入数字1-5使得每行、每列和每宫(在数独中被粗线分割开的每块称为宫)数字都不重复,斜线相邻 数学 2020-11-10 …