十六进制值中的前导零

时间:2019-09-23 11:21:54

标签: assembly 8051

在阅读了8051项目的某些程序集后,我很难理解为什么有些十六进制值的前导零,而有些则没有,我以为两个示例都将acc.5设置为1是正确的吗?

移动#020h

mov a,#20h

1 个答案:

答案 0 :(得分:1)

  

我猜对两个示例都将acc.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"

作者喜欢以相同的方式编写所有值。如果存在一个不为零的值,则可能是拼写错误,错案,来自其他作者或出于其他任何原因。