Удаление пробелов в строке - Assembler

Узнай цену своей работы

Формулировка задачи:

Нарыл множество способов удаления пробелов в строке и столкнулся с проблемой, программка не хочет ничего выводить, может я где-то накосячил. Буду благодарен,если подскажите Вот собственно мой код (если его так можно назвать).
prg segment para public 'code' 
assume cs:prg,ss:prg,es:prg,ds:prg 
org 100h 
 
start: jmp go 
go: 
msg db 'Строка без пробелов',0
lea si,msg
mov di,si
lp: lodsb
cmp al,0
jz lp
stosb
cmp al,' '
jnz lp
mov ax,4c00h
int 21h
 
prg ends 
end start

Решение задачи: «Удаление пробелов в строке»

textual
Листинг программы
.MODEL Small
 
.STACK  100h
 
.DATA
        msg     db      'String whithout spaces',0
        CrLf    db      0Dh, 0Ah, '$'
 
.CODE
Start   proc
        mov     ax,     @data
        mov     ds,     ax
        mov     es,     ax
 
        lea     si,     [msg]
        call    ShowString
        mov     ah,     09h
        lea     dx,     [CrLf]
        int     21h
 
 
        lea     si,     msg
        mov     di,     si
        lp:
                lodsb
                cmp     al,     ' '
                je      mTestZero
                stosb
        mTestZero:
                or      al,     al
        jnz     lp
 
        lea     si,     [msg]
        call    ShowString
        mov     ah,     09h
        lea     dx,     [CrLf]
        int     21h
 
        ;завершение программы
        mov ax,4c00h
        int 21h
Start   endp
 
ShowString      proc
        push    ax
        push    dx
        push    si
        pushf
 
        mov     ah,     02h
        cld
        jmp     ssTestZero
        ssRepeat:
                int     21h
        ssTestZero:
                lodsb
                mov     dl,     al
                or      dl,     dl
        jnz     ssRepeat
 
        popf
        pop     si
        pop     dx
        pop     ax
        ret
ShowString      endp
 
END     Start

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.5 из 5
Похожие ответы