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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2010, 18:33   #1
Alex1991
Форумчанин
 
Аватар для Alex1991
 
Регистрация: 18.10.2008
Сообщений: 166
Вопрос Ввод однобайтных чисел(цифр) и их вывод

Как считать с клавиатуры цифру(однобайтовая) и потом ее вывести ?
Может у кого есть готовая процедурка или участок кода то киньте пожалуйста.
Alex1991 вне форума Ответить с цитированием
Старый 21.11.2010, 21:15   #2
airyashov
Форумчанин
 
Регистрация: 02.04.2008
Сообщений: 358
По умолчанию

http://www.cyberforum.ru/assembler/thread54461.html
почитайте про int 21h или int 16h для работы с клавиатурой
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666
mail: airyashov(а)inbox.ru
airyashov вне форума Ответить с цитированием
Старый 21.11.2010, 22:11   #3
Alex1991
Форумчанин
 
Аватар для Alex1991
 
Регистрация: 18.10.2008
Сообщений: 166
По умолчанию

Благодарю но мне нужно именно для однобайтных чисел.
Я думаю так:
Сначала вводим число(это строка)
Потом переводим эту строку в нормальное число, делаем нужные арифм. операции
Потом чтобы вывести, нужно преобразовать число в строку.
Alex1991 вне форума Ответить с цитированием
Старый 21.11.2010, 23:11   #4
airyashov
Форумчанин
 
Регистрация: 02.04.2008
Сообщений: 358
По умолчанию

ну тогда посмотрите функции 01 и 02 int 21h
1 вводите символ, проверяете на диапазон '0'...'9', если попадает вычитаете из кода 30h получаете цифру, для вывода + 30h к цифре и вызвать функцию 2
в приведенной ссылку все есть только чуть сложнее
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666
mail: airyashov(а)inbox.ru
airyashov вне форума Ответить с цитированием
Старый 22.11.2010, 00:09   #5
Alex1991
Форумчанин
 
Аватар для Alex1991
 
Регистрация: 18.10.2008
Сообщений: 166
По умолчанию

Цитата:
Сообщение от airyashov Посмотреть сообщение
ну тогда посмотрите функции 01 и 02 int 21h
1 вводите символ, проверяете на диапазон '0'...'9', если попадает вычитаете из кода 30h получаете цифру, для вывода + 30h к цифре и вызвать функцию 2
в приведенной ссылку все есть только чуть сложнее
Благодарю

Может кому нужно будет то вот:
Код:
	mov	ah, 1 ;считываем символ
	int	21h

	sub	al, 30h ;преобразуем строку в число 

	add al, 4 ; делаем что-то, например +4 :)

	add al, 30h ; преобразуем число снова в строку для вывода

	mov ah, 2 ; выводим в консоль
	mov dl, al
	int 21h
Alex1991 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввод только цифр StdentOfCollege Общие вопросы Delphi 3 09.04.2010 16:13
Ассемблер - сумму элементов массива однобайтных знаковых чисел bum90 Помощь студентам 2 28.04.2009 19:13
Вывод чисел, делящихся на каждую из своих цифр. Паскаль ЯншинаВера Помощь студентам 3 08.04.2008 11:50
Ввод цифр Veytarn Общие вопросы C/C++ 4 30.12.2006 20:02