17.11.2019, 12:35 [+3 UTC]
в нашей команде: 3 977 чел. | участники онлайн: 7 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.77 (31.05.2019)
JS-v.1.34 | CSS-v.3.35

Общие новости:
28.04.2019, 09:13

Форум:
16.11.2019, 20:23

Последний вопрос:
17.11.2019, 12:05
Всего: 150984

Последний ответ:
17.11.2019, 02:39
Всего: 259420

Последняя рассылка:
17.11.2019, 10:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
12.11.2018, 12:42 »
askolesnikov
Ответ с пояснением, применённого способа. Спасибо! [вопрос № 193826, ответ № 276858]
18.12.2011, 09:12 »
Посетитель - 385948
Спасибо огромное за помощь !!! [вопрос № 184839, ответ № 269198]
21.02.2010, 17:19 »
DimasaN
Круто Большой Рахмат так просто и круто ну и ну !!!!!!!!вот это да !!!!!!!!!!!!!!! [вопрос № 176820, ответ № 259630]

РАЗДЕЛ • Assembler

Создание программ на языке Assembler.

[администратор рассылки: Лысков Игорь Витальевич (Старший модератор)]

Лучшие эксперты в этом разделе

Коцюрбенко Алексей Владимирович
Статус: Модератор
Рейтинг: 1366
Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 565
solowey
Статус: Бакалавр
Рейтинг: 215

Перейти к консультации №:
 

Консультация онлайн # 193478
Раздел: • Assembler
Автор вопроса: Роман (Посетитель)
Отправлена: 21.08.2018, 15:54
Поступило ответов: 1

Здравствуйте, уважаемые эксперты! Я написал программу, выводящую введенные символы в консоль (ассемблируя с помощью MASM 6.11). Пытаясь добавить в программу поддержку Enter, я наткнулся на проблему: если первый ввод Enter работает нормально, то после второго нажатия дальнейший ввод идет некорректно. На скриншоте изображено состояние консоли после ввода "qwert-Enter-asdfg-Enter-zxcvb".
Просьба помочь решить проблему. Спасибо.

Программа:

Код (Assembler) :: выделить код
CSEG segment 
org 100h 

start: 

mov ax,3
int 10h

mov ax,0B800h 
mov es,ax 
mov di,0
mov cx,25 

again:

push cx
mov cx,80

again2:

mov ah,10h
int 16h
mov ah,07h
cmp al,0Dh
jz enter_yes
mov es:[di],ax
add di,2
jmp not_enter

enter_yes:
add di,cx
add di,cx
mov cx,0

not_enter:

loop again2

pop cx

loop again

int 20h 

CSEG ends 
end start

Последнее редактирование 21.08.2018, 16:20 Лысков Игорь Витальевич (Старший модератор)

-----
 Прикрепленный файл (кликните по картинке для увеличения):

Состояние: Консультация закрыта

Ответ # 276650 от Лысков Игорь Витальевич (Старший модератор)

Здравствуйте, Роман!
Сравните со следующим кодом...
Добавил выход по ESC
Не мешало бы добавить управление курсором smile

Код (Assembler) :: выделить код
CSEG segment 
	org	100h 
 
start: 
	mov	ax, 3 
	int	10h
 
	mov	ax, 0B800h 
	mov	es, ax 
	mov	di, 0 
	mov	cx, 25 
 
again:
	push	di
	push	cx 

	mov	cx, 80 

again2:
	mov	ah, 10h
	int	16h

	cmp	al, 1bh
	je	exit

	mov	ah, 07h
	cmp	al, 0Dh
	jz	enter_yes

	mov	es:[di], ax 
	add	di, 2 
	loop	again2
 
enter_yes:
	pop	cx
	pop	di
	add	di, 80*2 
	loop 	again
exit:
	int 20h 

CSEG	ends 
	end	start


Консультировал: Лысков Игорь Витальевич (Старший модератор)
Дата отправки: 21.08.2018, 16:46

5
нет комментария
-----
Дата оценки: 21.08.2018, 20:42

Рейтинг ответа:

+1

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.14236 сек.

© 2001-2019, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.77 от 31.05.2019
Версия JS: 1.34 | Версия CSS: 3.35