Способы отображения чисел на ассемблере
В следующем коде ниже я не уверен, что D'93'
а также D'122'
имею в виду. Единственный раз, когда я использовал ассемблер в прошлом, были использованы шестнадцатеричные числа или двоичные числа. Что означает это обозначение и как я могу преобразовать в то, что я могу понять, чтобы я мог проверить математику вручную?
#include <p18F452.inc>
SUM EQU 0x10
ORG 0x00
GOTO START
ORG 0x20
START: MOVLW D'93'
MOVWF SUM
MOVLW D'122'
ADDWF SUM,W
BNC SAVE
SETF WREG
SAVE: MOVWF SUM
SLEEP
END
1 ответ
Решение
D
обозначает десятичный. По умолчанию неквалифицированные числа интерпретируются как шестнадцатеричные, если не переопределены RADIX
или же LIST
директивы.
Квалификаторы / префиксы, используемые MPASM:
B'10'
для двоичногоO'10'
для восьмеричногоD'10'
для десятичной дроби (также можно записать как.10
)H'10'
для шестнадцатеричного (также можно записать как0x10
)A'a'
для ASCII (также можно записать как'a'
)