![]() |
|
![]() ![]() ![]() |
|
dimen |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 25.4.2002 Репутация: нет Всего: нет |
![]() с помощью прерывания 21 нужно сначала считать с клавиатуры до нажатия ENTER, а потом вывести считанное на экран очень благодарен тому, кто ответит! |
|||
|
||||
Chingachguk |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: нет Всего: 18 |
Посмотри тему ниже, в этом же разделе(АСМ), с "крайне информативным" названием "HELP ME !". Там есть мой код, убери из него все лишнее - и будет тебе твоя прога ...
-------------------- I don't like the drugs (but the drugs like me). M.Manson. |
|||
|
||||
Melancholy |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 1.4.2002 Репутация: нет Всего: нет |
прога должна обробатывать каждое нажатие клавиши, или можно использовать инт ввода строки?
|
|||
|
||||
dimen |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 25.4.2002 Репутация: нет Всего: нет |
фиг знает, но нужно использовать буфферезированный ввод
я толком в ASM'е не разбираюсь ![]() написать код сюда, а то предложенное мне выше вырезать ненужное из готового кода натолкнёт меня на вырезание нужных частей программ ![]() |
|||
|
||||
Chingachguk |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: нет Всего: 18 |
Вырезал ...
-------------------- I don't like the drugs (but the drugs like me). M.Manson. |
|||
|
||||
dimen |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 25.4.2002 Репутация: нет Всего: нет |
![]() а по-короче не как? ![]() |
|||
|
||||
Chingachguk |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: нет Всего: 18 |
42 байта:
Или еще короче ? ![]() -------------------- I don't like the drugs (but the drugs like me). M.Manson. |
|||
|
||||
ERASER |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 31.5.2002 Где: Бийск Репутация: нет Всего: нет |
dat segment 'data' ; заголовок сегмента данных
text_string db 'Нажмите ESC. для выхода из проргаммы !!!'; Просто текстовая строка dat ends ; Конец сегмента данных cod segment 'code ' ; заголовок сегмента кода assume cs:cod, ds:dat ; main: mov ax, dat ; mov ds, ax ; инициализация сегментных регистров mov es, ax ; mov ax, 0003h ; очистка экрана int 10h ; ;mov dx,offset text_string ;mov ah,9 ;int 21h terminal: mov ah, 01h ; считывание кода кода нажатой клавиши и хранение её в регистре AH int 21h ; Вызов прерывания cmp al, 27 ; сравнимаем с числом 27 (код клав. ESC) je EXIT_PROGRAM ; если равно то переход на метку EXIT_PROGRAM ; ****Кусок программы отвечающий за цветовую гамму символов вводимых с клавиатуры ************************ mov ah,09h ; вывести символ с заданным атрибутом(цветом) на экран mov bh,0 ; BH -> номер страницы mov al,ah ; помещаем в регистр AL код нажатой клавиши(для того чтобы происходил постоянный вывод нового символа на экран) inc bl ; Увеличиваем содержимое регистра BL(для того чтобы происхоило обновление цвета следующего символа) mov cx,2 ; Количество символов int 10h ; Вызов прерывания ;************************************************************* jmp terminal ; вывод производить до тех пор пока не нажат ESC. (пререход на terminal) EXIT_PROGRAM: mov ax, 4c00h ; выход из программы int 21h ; Вызо прерывания cod ends ; Конец сегмента кода end main ; Главный конец |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Asm: Общие вопросы" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |