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