簡體   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