10.1 字符串的处理程序
优质
小牛编辑
128浏览
2023-12-01
例10.4 编写一个把字符串中空格和TAB压缩掉的子程序Compress,字符串String是以ASCII码0为结束符。
解: | |||||
.MODEL | SMALL, C | ||||
.DATA | |||||
SPACE | EQU 20H | ||||
TAB | EQU 9H | ||||
Buff | DB "123 4 Ab cdef", 0 | ||||
.CODE | |||||
Compress | PROC USES AX BX SI DS,String:FAR PTR BYTE | ||||
LDS | SI, String | ;SI用于扫描字符串的指针 | |||
MOV | BX, SI | ;BX用于存放结果的指针 | |||
.REPEAT | |||||
MOV | AL, [SI] | ||||
INC | SI | ||||
.IF AL!=SPACE && AL!=TAB | |||||
MOV | [BX], AL | ||||
INC | BX | ||||
.ENDIF | |||||
.UNTIL AL==0 | |||||
RET | |||||
Compress | ENDP | ||||
.STARTUP | |||||
INVOKE Compress, ADDR Buff | |||||
.EXIT | 0 | ||||
END |
从上面四个例子,我们不难看出处理字符串的一般方法,感兴趣的读者可自行编写实现字符串变小写、整体拷贝、逆转和查找等功能的子程序,甚至还可以建立起自己的字符串处理库文件。