首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >yasm:期望值为“,”,具有即时价值

yasm:期望值为“,”,具有即时价值
EN

Stack Overflow用户
提问于 2015-04-01 08:31:16
回答 1查看 235关注 0票数 2

给定以下组装程序:

代码语言:javascript
复制
BITS 64
mov rax, 0b111

Yasm产出:

代码语言:javascript
复制
error: expected `,'

为什么这里需要一个逗号?NASM很高兴地组装了这个。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-01 08:40:21

根据“雅玛斯手册”:

3.5.1。数值常数 数字常量就是一个数字。NASM允许您以多种方式以各种数字基指定数字:可以以 H、Q或O为后缀,B表示十六进制、八进制和二进制,也可以以C的样式前缀0 x,或者以Borland的样式前缀$表示十六进制。下面是一些例子: mov ax,10010011b ; binary

NASM手册补充说:

此外,当前版本的NASM接受前缀 0h表示十六进制,0d或0t表示十进制,0o或0q表示八进制,0b或0y表示二进制

TL;DR: NASM同时支持二进制文本的b-suffix和0b-prefix,而YASM只支持后缀变体。因此,0b111需要编写为111b

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29386177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档