Top.Mail.Ru
Ответы

Assembler. вывести байт в 10-м виде

Не могли бы вы мне отправить пример кода такой программы в ассемблере. Я просто не до конца понимаю задание. я выводил число в десятичном виде разделяя его на 2 регистра. верхний и нижний, 10 число делил на 10, частное и остаток были в ah и al. их выводил в нужном порядке и все. Программа будет выглядеть иначе? Числа же представляются в виде байта?

По дате
По рейтингу
Аватар пользователя
Просветленный
5лет

к вышесказанному совету добавлю
1Байт делим на 100 и получаем сотни
2 Байт = Байт - Сотни
3 Байт делим на 10 получаем десятки
4 остаток уже единицы

Аватар пользователя
Мыслитель
5лет

байт может содержать число до 255, а это три символа. Тогда как вы планировали при помощи двух регистров выводить три символа!? Тут нужно из числа находящегося в одном байте найти цифры. Далее перевести их в символы (легче всего, наверное, прибавить к цифре число 48, это символ нуля, и так как символы (цифр) идут по порядку получить символ цифры). И вывести символы на экран. Не забыть что впереди идущие нули выводить не нужно, если число не трехзначное.

объясню на пальцах с символами:
48 - символ '0'
49 - символ '1'
50 - символ '2'
51 - символ '3'
...
...
...
57 - символ '9'

У нас есть число например 3, как получить символ '3'? Прибавляем к символу '0' число 3 и вуаля символ тройки