|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
11.12.2018, 05:44 | #11 |
Пользователь
Регистрация: 29.11.2018
Сообщений: 12
|
Здравствуйте, подскажите, пожалуйста ,а как сделать проверку на пустую строку, а так же , чтобы программа выполнялась повторно?
|
11.12.2018, 22:33 | #12 | |||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Цитата:
Вот только надо проверить, пишется ли в буфер нажатый Enter. Если пишется, то счётчик будет не ноль. Введите пустую строку и постмотрите в отладчике, что получилось в буфере. jmp на начало программы |
|||
11.12.2018, 23:32 | #13 |
Пользователь
Регистрация: 29.11.2018
Сообщений: 12
|
Извиняюсь, а куда конкретно сделать jmp? не могу понять, мне надо чтобы я снова вводил строку с клавиатуры
Код:
|
12.12.2018, 10:10 | #14 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
а по какому условию перезапускать программу с начала?
в начало программы, там, где идёт подготовка к вызову функции ввода: Код:
|
12.12.2018, 11:11 | #15 |
Пользователь
Регистрация: 29.11.2018
Сообщений: 12
|
Благодарю. Только возникла проблема, что ввод текста , вывод сообщения и повтор, все идет на одной строке. Как сделать чтобы строка очищалась или был переход на новую?
|
12.12.2018, 11:41 | #16 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
10-возврат кaретки 13-переход на новую строку проще всего добавить эти символы в конце необходимых строк: Цитата:
Код:
почитайте стать по ссылке - возможно, что многие вопросы отпадут - http://www.mini-soft.ru/document/assembler-ibm-pc-7 |
||
12.12.2018, 11:49 | #17 |
Пользователь
Регистрация: 29.11.2018
Сообщений: 12
|
Спасибо
|
12.12.2018, 16:48 | #18 |
Пользователь
Регистрация: 29.11.2018
Сообщений: 12
|
Программа работает и все бы хорошо, только вот после нескольких вводов строк , начинает выдавать "there is a space char", даже если была строка без пробела. При пустой строке выдает то, что нужно. С чем это может быть связано?
Код:
|
12.12.2018, 22:52 | #19 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
Ввод строки неправильно организован. Зачем там sor+2 ? И определение конца введённой строки - тоже. Конец старой строки остаётся в буфере и портит результат, если введена более короткая строка. Нужно брать из второго байта буфера реальную длину считанных данных и, например, писать символ '$' по адресу конца строки. Или, как более тупой вариант, каждый раз заново расписывать буфер символами '$'
|
12.12.2018, 22:53 | #20 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
в буфере остаются остатки прошлой строки. А Вы цикл крутите, пока не встретите '$'
так нельзя. Можно вставлять в нужное место строки символ '$', но в данном случае в этом нет необходимости. Ведь у нас уже есть байт, в котором находится количество символов в строке. Достаточно использовать его в качестве счётчика цикла (см. loop), чтобы получить решение: Код:
Последний раз редактировалось Serge_Bliznykov; 12.12.2018 в 22:58. Причина: исправил вызов функции ввода строки, убрал +2 (нужно lea dx, sor ) |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Код выдает ошибку при вводе 9 строки | Николай4434 | Помощь студентам | 2 | 10.10.2017 01:17 |
Предусмотреть соответствующее сообщение при делении на ноль. | deconi | JavaScript, Ajax | 2 | 09.12.2015 09:30 |
Как сделать так,что бы при введение,например 0;0 выдавалось сообщение,что точка находится на границе? | TEIROP | Visual C++ | 4 | 08.11.2015 20:19 |
С++, подскажите что не так в коде | Dima-91 | Помощь студентам | 13 | 16.07.2015 13:11 |
проверяет пароль при открытие формы, движение рисунка Делфи 7 (есть код программы. нужен другой вариант) | программирование | Помощь студентам | 3 | 29.09.2013 15:47 |