Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2011, 23:28   #1
Windetta
Новичок
Джуниор
 
Регистрация: 20.05.2011
Сообщений: 1
Восклицание работа с строкой

Помогите пожайлусто! завтра последний день сдачи работы, если не сдам отчислят!
Ввести с клавиатуры строку, состоящую из нескольких слов. Вывести каждое слово на экран в отдельной строке лесенкой, т.е. выдать каждое слово в столбик, с фиксированным сдвигом относительно начала предыдущего.
У меня получилась вот такая программа. А теперь мне нужно чтобы она выводила даже слова, содержащии "$".Как это сделать?
Код:
data segment
x db 0
peren db 10, 13, '$'
otst db ' $'
vvod db 100, ?, 100 dup (?)
mess1 db 'Input string', 10, 13, '$'
data ends
code segment
assume cs: code, ds: data
start:  mov ax, data
        mov ds, ax
        mov ah, 09h
        lea dx, mess1
        int 21h
        lea dx, vvod
        mov ah, 0ah
        int 21h
        inc dx
        mov bx, dx
        xor ch, ch
        mov cl, byte ptr [bx]
        inc dx
        mov bx, dx
        push bx
        add bx, cx
        mov byte ptr [bx+1],' '
        mov byte ptr [bx+2],'$'
        add cl, 2
        pop bx
        mov ah, 09h
begin:  cmp byte ptr [bx], ' '
        jne no
        cmp byte ptr [bx]+1, ' '
        je no
        push dx
        lea dx, peren
        int 21h
        lea dx, otst
        push cx
        xor cx, cx
        mov cl, x
        jcxz first
ot:     int 21h
        loop ot
first:  pop cx
        pop dx
        mov [bx], byte ptr '$'
        int 21h
        mov dx, bx
        inc dx
        inc byte ptr x
no:     inc bx
        loop begin
        lea dx, peren
        int 21h
quit:   mov ah, 08h
        int 21h
        mov ax, 4c00h
        int 21h
code ends
end start

Последний раз редактировалось Windetta; 20.05.2011 в 23:41.
Windetta вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с строкой. celovec Общие вопросы Delphi 8 06.04.2011 16:17
Работа со строкой FrostoS Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 04.01.2011 17:20
Работа со строкой. anamnesis Помощь студентам 5 19.12.2010 18:16
работа со строкой mansp Общие вопросы C/C++ 1 15.11.2010 23:19
работа со строкой Андрей.12 Помощь студентам 1 15.02.2010 09:14