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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2018, 12:30   #1
Alex_Limono
 
Регистрация: 01.03.2018
Сообщений: 6
По умолчанию Ввод символа с клавиатуры и его печать

Здравствуйте. Начал изучать ассемблер, стоит задача написать простую программу, в которой клавиатурой вводится символ и отображается в консоли. Накидал следующее, в разделах вроде разобрался, библиотеки подключил, которые видел в примерах, пользуюсь MASM32 Editor.
Код:
.386					
.model flat, stdcall			
option casemap :none			
include \masm32\include\masm32rt.inc
include \masm32\include\kernel32.inc
include \masm32\include\windows.inc	
.const
.data					
.code				
start:		
mov ah,01h
int 21h
mov dl,al
mov ah, 2
int 21h
invoke ExitProcess,0
end start
Я посмотрел информацию об int 21h, примерно понял, как должно работать, написал, программа при запуске вылетает. Пробовал оставлять только ввод, все равно вылет. Может, нужно как то переменную использовать? Помогите разобраться.
Alex_Limono вне форума Ответить с цитированием
Старый 02.05.2018, 14:05   #2
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Alex_Limono, под какую систему пишешь - дос или вин?
ато у тебя обёртка виндОвая, а начинка для доси
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 02.05.2018, 16:58   #3
Alex_Limono
 
Регистрация: 01.03.2018
Сообщений: 6
По умолчанию

Да вроде как под винду, на ней работаю
Alex_Limono вне форума Ответить с цитированием
Старый 03.05.2018, 03:42   #4
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,162
По умолчанию

Alex_Limono,
int 21h прерывания для DOS и вызывать их в программе, написанной для Windows нельзя, как только ты обращаешься к int 21h, в тот же момент операционная системы уничтожает твою программу в памяти...
Mikl___ вне форума Ответить с цитированием
Старый 03.05.2018, 03:45   #5
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Цитата:
Сообщение от Alex_Limono Посмотреть сообщение
Да вроде как
так ты определись..
в папке с масмом есть куча примеров (Example), ищи среди них.
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 03.05.2018, 03:51   #6
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Mikl___, привет!
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 03.05.2018, 12:19   #7
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,162
По умолчанию

Привет, Тимур!
Как на майские праздники погулял?
Mikl___ вне форума Ответить с цитированием
Старый 03.05.2018, 13:05   #8
Alex_Limono
 
Регистрация: 01.03.2018
Сообщений: 6
По умолчанию

Не знал про примеры, посмотрю их тогда, может помогут разобраться
Alex_Limono вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод на печать символа ввода и его десятичное значение zamanov Общие вопросы C/C++ 0 08.04.2015 14:20
Получение символа с клавиатуры (Ассемблер) Hierophant Помощь студентам 4 23.01.2015 13:52
цветной ввод символа cucmber Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 8 02.03.2011 08:40
Повтор символа при зажатии клавиши клавиатуры veen Общие вопросы Delphi 7 09.01.2011 15:05