汇编:滤去(删除)某个字符串中空格符号
1 ;过滤字符串中的空格 2 DATAS SEGMENT 3 string db ' your finger can change the world0';待测试的字符串0作为结束符 4 DATAS ends 5 6 CODES SEGMENT 7 ASSUME CS:CODES, DS:DATAS 8 START: 9 mov AX,DATAS 10 mov DS,AX 11 12 call delspace;调用delspace子程序 13 14 mov ah,4CH 15 int 21h 16 delspace proc 17 mov si,offset string ;si存放待判断字符的偏移地址 18 flag1: 19 mov ah,[si] ;ah零食存放每个待判断的字符 20 cmp ah,'0' 21 JZ EXIT ;如果是0则结束程序 22 cmp ah,20H ;如果是空格 23 JZ delS ;则让所有的字符往前移动一位 24 inc si 25 jmp flag1 ;继续判断下一个字符 26 27 delS: 28 mov di,si ;记录开始进行移动的偏移地址 29 flag2: 30 mov ah,[di+1] 31 mov [di],ah ;后一个复制给前一个 32 33 cmp ah,'0' 34 JZ flag1 ;如果为0则结束移位 跳转至flag1继续进行判断空格 35 inc di 36 jmp flag2 37 38 EXIT: 39 mov byte ptr [si],'$';把最后的0变为结束符方便显示输出 40 mov dx,offset string 41 mov ah,09h 42 int 21h 43 ret 44 delspace endp 45 CODES ends 46 end START
"你的指尖,拥有改变世界的力量! "
欢迎关注我的个人博客:https://sugarat.top