繁体   English   中英

yasm:预期为`,具有立即值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM