UmN*_*obe 2 masm visual-studio-2010
masm 中的十六进制值必须以数字开头吗?如果我使用
.const
_mmx_cons QWORD f000000000000000h
Run Code Online (Sandbox Code Playgroud)
我收到一个构建错误:
test.asm(26): error A2006: undefined symbol : f000000000000000h
Run Code Online (Sandbox Code Playgroud)
但是如果我添加一个前导 0
.const
_mmx_cons QWORD 0f000000000000000h
Run Code Online (Sandbox Code Playgroud)
错误消失。这是为什么?我确定它代表 64 位值0xf000000000000000吗?
使用h后缀的十六进制数字必须以十进制数字开头,否则会被误认为标签名称。这就是为什么如果最重要的十六进制数字是A.. 时添加前导零的原因F。
前导零不会影响立即数的值或存储大小要求。例如,写 完全没问题MOV AL, 00000001h,因为00000001h与1.