|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.05.2008, 10:52 | #1 |
Пользователь
Регистрация: 22.05.2008
Сообщений: 10
|
Ввод чисел с клавиатуры
Ниже приведенная программа принимает с клавиатуры ASCII коды нажатых клавиш цифр и переводит их в шестнадцатеричный формат, одна беда: максимальное число которое переводится 999, а кто подскажет как переделать чтобы и большие числа можно было таким же образом переводить.
Код:
Последний раз редактировалось B_N; 22.05.2008 в 11:18. |
22.05.2008, 12:46 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Если бы ты не поленился скачать MASM и заглянуть к нему в генофонд, то увидел бы следующее:
Код:
I'm learning to live...
|
22.05.2008, 16:41 | #3 |
Пользователь
Регистрация: 22.05.2008
Сообщений: 10
|
Да мне в принципе и не лень, но преподавтель требует работы в TASM, сейчас попробую разобраться, честно говоря пока и не пойму что это все значит, нам такого ничего не давали, но в любом случае спасибо что не остались равнодушны.
|
22.05.2008, 16:51 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Дык кишки процедуры этой то не зависят от компилятора, тем паче с комментариями...
I'm learning to live...
|
23.05.2008, 20:06 | #5 |
Пользователь
Регистрация: 22.05.2008
Сообщений: 10
|
Из приведенной вами программы я понял что нужно применить 32 битовые регистры, но пож. ответьте на мой вопрос, а зачем?
Ведь если я допустим набираю число 1000, то оно и так помещается в 16 битовом, или я что-то не так понимаю? Разбирая свою программу в отладчике заметил что до строки 67.mul bl все идет нормально, в регистре ах накапливается 3e8h (1000), в bl у нас 1, умножаем на нее, и тут старший байт регистра ах обнуляется. Вот это мне и не понятно, и здесь я так понимаю и кроется ответ на мой вопрос. В той литературе которая у меня есть, ответа я на него не нашел, а может просто не так искал. Попробовал заменить ах на еах результат тот же. Подскажите пожалуйста в чем здесь дело, или подскажите где это прочитать. |
25.05.2008, 09:24 | #6 |
Пользователь
Регистрация: 22.05.2008
Сообщений: 10
|
Ау люди откликнитесь, ответьте пожалуйста на мои вопросы, а то во вторник сдавать а я никак разобраться не могу.
|
25.05.2008, 09:40 | #7 | ||
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Цитата:
Цитата:
Чтобы умножить AX нужно писать mul bx |
||
25.05.2008, 10:48 | #8 |
Пользователь
Регистрация: 22.05.2008
Сообщений: 10
|
Вот переделал как смог, вроде переводит правильно, если что-то можно к этому добавить, буду рад узнать об этом от вас
Код:
|
25.05.2008, 15:20 | #9 | |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Цитата:
Код:
|
|
25.05.2008, 15:46 | #10 |
Пользователь
Регистрация: 22.05.2008
Сообщений: 10
|
Спасибо за помощь.
Еще такой вопрос, как проверить четное было число введено или нечетное. допустим вот я ввел число и сейчас проверяю его вот так: Код:
Последний раз редактировалось rpy3uH; 25.05.2008 в 15:50. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как запретить/разрешить ввод от клавиатуры любых символов (в том числе и юникодных)? | SkAndrew | Общие вопросы Delphi | 8 | 15.08.2008 15:30 |
ввод чисел со знаком... | maLoy*508 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 21.05.2008 19:32 |
ввод данных с клавиатуры | juden | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 07.05.2008 18:05 |
Ввод последовательности чисел | POPOV | Общие вопросы Delphi | 5 | 16.02.2008 22:13 |
ввод чисел | bruce | Microsoft Office Excel | 1 | 08.02.2007 17:58 |