Всем привет, кто-нибудь знает как написать эту рограмму на Assemblere. Мучаюсь уже несколько дней и ничего не получается.Помогите кто может, заранее спасибо.
Написать программу формирования сжатой строки символов. Сжатие заключается в удалении пробелов из исходной строки при просмотре её слева направо. |
Перешли полное содержание задачи попробую помочь
:) |
Можно так. Если что не ясно, то пиши bsurin@mail.ru
.model tiny .code org 100h start: ; вывод исходной строки lea dx, mes mov ah, 09 int 21h ; сжатие cld; флаг направления - просмотр слева направо mov si, offset mes ; ES:SI - начало строки push si pop di @@1: lodsb ; загрузить в AL символиз DS:SI cmp al, '$'; это символ конца строки ? je @exit; "ДА" - выход cmp al, ' '; это пробел ? je @@1; "ДА" - перейти к следующему stosb; записать по адресу ES:DI jmp@@1; следующий символ @exit: stosb; записать символ конца строки ; для ясности перейдем на новую строку ; с помощью ф-ии ДОС mov ah, 2 mov dl, 0Dh; переход в начало строки int 21h mov dl, 0Ah; переход на след.строку int 21h ;вывод сжатой lea dx, mes mov ah, 9 int 21h ret mes db 'Это строка для сжатия$' end start |
Время: 15:44. |
Время: 15:44.
© OSzone.net 2001-