汇编网首页登录博客注册
masmaster的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
文章收藏

[2010-09-02 17:09] 习题3.28

写一个程序片段,将字符串中的空格过滤掉。设字符串以0结尾。

答:
;子程序名:delblk
;功能:删除字符串中的20H字符。
;入口:DS:BX,指向含有空格字符串地址。
;出口:DS:BX,指向不含有空格字符地址。
;----------------------------------------------------
delblk  proc uses ax bx si
L0:     mov al,[bx]
        cmp al,0
        jz done
        cmp al,20h
        jz tim
        inc bx
        jmp L0

tim:    mov si,bx
        push bx
L1:     mov al,[si+1]
        cmp al,0
        jz ok
        mov [si],al
        inc si
        jmp L1

ok:     mov byte ptr [si],0
        pop bx
        jmp L0
        ret

delblk  endp
;-----------------------------------------------------
此题的操作全在串中,有点是不占用额外的地址空间。当然, 如果用临时空间的话,就更简单。
评论次数(0)  |  浏览次数(294)  |  类型(汇编习题集) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码