【问题标题】:hexadecimal values in masm starting with a letter [duplicate]masm中以字母开头的十六进制值[重复]
【发布时间】:2013-11-24 21:22:14
【问题描述】:

masm 中的十六进制值是否必须以数字开头?如果我使用

.const

    _mmx_cons   QWORD f000000000000000h

我得到一个构建错误:

test.asm(26): error A2006: undefined symbol : f000000000000000h

但是如果我添加一个前导 0

.const

    _mmx_cons   QWORD 0f000000000000000h

错误消失了。这是为什么?我确定它代表64位值0xf000000000000000吗?

【问题讨论】:

    标签: visual-studio-2010 masm


    【解决方案1】:

    使用h 后缀的十六进制数字必须以十进制数字开头,否则会被误认为是标签名称。这就是为什么如果最重要的十六进制数字是A..F,则添加前导零。

    前导零不会影响立即数的值或存储大小要求。比如写MOV AL, 00000001h完全没问题,因为00000001h1完全一样。

    【讨论】:

      猜你喜欢
      • 2016-01-21
      • 2017-06-22
      • 2021-06-26
      • 2019-10-25
      • 2017-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多