Преобразовать целое число в его шестнадцатеричное значение для печати - PullRequest
0 голосов
/ 06 декабря 2010

Скажем, я беру целое число, присвоенное $ a0, как мне пойти и напечатать целое число в шестнадцатеричной форме?

1 Ответ

3 голосов
/ 06 декабря 2010

Используйте системный вызов 34. Системные вызовы MARS

Если вы используете симулятор, у которого нет этого системного вызова, или вы хотите видеть только необходимые байты, вам нужно будет сделать это вручную. Самый простой подход был бы итеративным. Получите строку из 10 байтов (8 шестнадцатеричных значений и ведущий 0x).

1) Побитово и $ a0 с постоянной 15.

2) Преобразовать результат в эквивалентное шестнадцатеричное значение в ASCII. Таблица поиска будет чистой и эффективной.

3) Сохранить эквивалентное шестнадцатеричное значение в пространстве для строки. Имейте в виду небольшие порядковые номера.

4) Логическое смещение вправо на $ a0 на 4.

5) Перейти к 1.

Делайте это до тех пор, пока $ a0 не станет равным 0, и у вас должно получиться шестнадцатеричное значение в строке, которое вы затем сможете напечатать.

...