![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
![]()
это счетчик для кол-вы выводимых пробелов. добавьте такую переменную.
А вставить код нужно после int 21h. |
![]() |
![]() |
![]() |
#12 |
Пользователь
Регистрация: 20.09.2009
Сообщений: 23
|
![]()
data segment
NL db 0Ah, 0Dh, '$' Buf DB 255, 0, 256 DUP (0) ; data ends code segment ;отмечаем начало сегмента кодов assume cs:code, dsata START: mov ax,data ;копируем адрес mov ds,ax ;сегмента данных mov dx,offset Buf ;считываем строку с клавиатуры mov ah,0Ah int 21h xor cx,cx mov al,[Buf+1] ;если считано 0 байт, то выход из mov cl,al ;задаем количество повторений (длина строки) test al,al ;программы jz Exit mov ah,09h mov dx,offset NL ; перейти на следующую строку int 21h mov si,offset Buf+2 Cycle: mov dl,[si] ;считать символ cmp dl,' ' ;сравнить с пробелом jne Print ;если не пробел - вывести mov ah,09h ;если пробел - перевод каретки mov dx,offset NL ;адрес строки с переводом каретки int 21h ;вызов DOS push cx mov cx,2 mov dl,' ' mov ah,2 spaces: int 21h loop spaces pop cx jmp Space ;пропустить код вывода - пробел не выводим Print: mov ah,02h ;выбор функции 2 int 21h ;вызов DOS Space: inc si ;перейти к следующему символу loop Cycle Exit: mov AX,4C00h ;выход int 21h ;из программы code ends END START как вы сказали я добавил. почему то происходит добавление пробелов только один раз. т.е. если ввести два слова, то все нормально, а если несколько то не то |
![]() |
![]() |
![]() |
#13 |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
![]()
ну так как я написал и как вы ?
добавьте переменную count в программу. и пользуйтесь пожалуста тегом кода. читать не очень приятно сплошной текст. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ввод/вывод строк | anGeee | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 04.09.2009 21:58 |
вывод большего кол-ва строк | Alternavi | SQL, базы данных | 2 | 03.07.2009 15:43 |
вывод массива строк посимвольно | faraner | Общие вопросы C/C++ | 1 | 25.05.2009 22:51 |
Ввод/Вывод данных.Лабораторная работа. | kry | Общие вопросы C/C++ | 1 | 03.03.2009 11:03 |
вывод GridView строк | Shouldercannon | Общие вопросы Delphi | 0 | 25.02.2009 12:07 |