111111
精灵王
精灵王
  • 注册日期2010-12-08
  • 发帖数640
  • QQ
  • 火币1103枚
  • 粉丝120
  • 关注75
  • 社区明星
阅读:2866回复:0

经典汇编语言教程:10.1 字符串的处理程序

楼主#
更多 发布于:2013-01-28 14:19

例10.4编写一个把字符串中空格和TAB压缩掉的子程序Compress,字符串String是以ASCII码0为结束符。
解:
.MODELSMALL, C
.DATA

SPACE
EQU 20H

TAB
EQU 9H

Buff
DB "12 3 4   Ab  cdef", 0
.CODE
CompressPROC USES AX BX SI DS, String:FAR PTR BYTE
LDSSI, String;SI用于扫描字符串的指针
MOVBX, SI;BX用于存放结果的指针
.REPEAT

MOV
AL, [SI]

INC
SI
.IF AL!=SPACE ;; AL!=TAB
MOV[BX], AL
INCBX
.ENDIF
.UNTIL AL==0
RET
CompressENDP
.STARTUP
INVOKE Compress, ADDR Buff
.EXIT0
END

从上面四个例子,我们不难看出处理字符串的一般方法,感兴趣的读者可自行编写实现字符串变小写、整体拷贝、逆转和查找等功能的子程序,甚至还可以建立起自己的字符串处理库文件。

喜欢0 评分0
游客

返回顶部