[英]yasm: Expected `,' with immediate value
给定以下汇编程序:
BITS 64
mov rax, 0b111
Yasm输出:
error: expected `,'
为什么在这里期望逗号? NASM很高兴将其组装起来。
从YASM手册中:
3.5.1。 数值常数
一个数字常数就是一个数字。 NASM允许您通过多种方式以各种数字基数指定数字: 您可以在 H,Q或O和B 后缀后缀 以表示十六进制,八进制和二进制 ,也可以在C样式中后缀 0x来表示十六进制,也可以采用Borland Pascal样式的十六进制前缀$。
一些例子:
mov ax,10010011b ; binary
NASM手册添加:
此外,当前版本的NASM接受前缀 0h(十六进制),0d或0t(十进制),0o 或0q(八进制)和0b或0y(二进制) 。
TL; DR:虽然NASM同时支持b
-suffix和0b
为二进制文字-prefix,YASM仅支持后缀变体。 因此0b111
需要写为111b
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.