Ведущие нули в шестнадцатеричных значениях - PullRequest
0 голосов
/ 23 сентября 2019

Чтение какой-то сборки для проекта 8051, и мне трудно понять, почему некоторые шестнадцатеричные значения имеют начальные нули, а другие нет, правильно ли я предполагаю, что оба примера установлены в соответствии с 5? 1 100 *

mov a, # 020h

mov a, # 20h

1 Ответ

1 голос
/ 23 сентября 2019

Прав ли я, если предположить, что в обоих примерах установлено значение 5 = 1?

Да.


Но ваш скрытый вопрос: "Почему шестнадцатеричные значения имеют ведущий ноль, даже если это кажется необязательным?"

Ну, это просто для визуальной согласованности со значениями, начинающимися с 'A' до 'F'.Если они не начинаются с цифры, они будут распознаваться не как числа, а как идентификаторы.

    mov a, #0E0H  ; loads hex E0 (= dec 224) into ACC
    mov a, #E0H   ; loads the value of "E0H" into ACC, with any value defined as "E0H"

Автор любит записывать все значения одинаково.Если есть значение без нуля, это может быть опечатка, пропущенный случай, от другого автора или по любой другой причине.

...