Вывод чисел |
1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!
Вывод чисел |
CMOS |
Сообщение
#1
|
Пионер Группа: Пользователи Сообщений: 57 Пол: Мужской Репутация: 0 |
Как в вывести числа в Ассемблере? Можно, конечно, взять число поделить на 10, к остатку прибавить 30h, затем частное снова поделить на 10 и т.д. Кстати, я на форуме видел что-то подобное. Но неужели мелкомягкие не предусмотрели для этого дела какой-нибудь функции?
|
CMOS |
Сообщение
#2
|
Пионер Группа: Пользователи Сообщений: 57 Пол: Мужской Репутация: 0 |
Да пробовал я это раньше. Работает только с байтами. Для слов подогнать не смог.
Ладно, вспомним старую добрую математику. Так надежней. Вот код (для 3х значных чисел), если кого интересует: Код mov ax, x mov d, 100 mov cx, 3 repeat: mov dl, d div dl mov dl, al add dl, 30h mov al, ah mov ah, 0 push ax mov ah, 2 int 21h mov dl, 10 mov ah, 0 mov al, d div dl mov d, al pop ax loop repeat |
Malice |
Сообщение
#3
|
Профи Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: 20 |
А вот вывод 16-ричных чисел, даже попроще:
Код mov eax,01234DEADh mov cl,8 @1: rol eax,4 push eax and al,0Fh cmp al,0Ah sbb al,69h das int 029h pop eax loop @1 |
Текстовая версия | 24.04.2024 20:12 |