Взяв стопку и распечатав ее в обратном порядке в UART - PullRequest
0 голосов
/ 26 сентября 2011

Итак, в основном, у меня есть класс, где учителя разработали программу, которую мы используем, и они в основном сказали: «Делайте эти лаборатории без справочной информации».

Сейчас мне нужно сделать RPN калькулятор, используя сборку, и я получил всю его кодировку, за исключением того, что я должен распечатать ее в обратном порядке (стек).

Это было бы легко, за исключением того, что мы используем двухзначные числа в каждом слоте стека.

Мой простой вопрос: как мне взять двузначное число и разбить его на каждый бит?

Примером может быть число 52 и разделение битов на 5 (затем отправка через 5 в UART) и 2 (затем отправка 2 через UART), так что результат будет 52.

1 Ответ

1 голос
/ 26 сентября 2011

Чтобы получить цифры числа, разделите на основание (в данном случае основание 10, я полагаю).Остальная часть является наименее значимой цифрой;частное - это оставшиеся цифры.Повторите для большего количества цифр.

Без инструкции деления и только двух цифр, вот глупый подход:

quotient = 0;

while (number >= 10)
{
    number = number - 10;
    quotient = quotient + 1;
}
print msdigit;
print number;

Убедитесь, что number положителен первым!

...