首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在汇编语言中表示八进制数?

如何在汇编语言中表示八进制数?
EN

Stack Overflow用户
提问于 2016-09-19 10:04:06
回答 2查看 3.5K关注 0票数 3

例如,对于十六进制数,我们可以使用0x983988790h

如何编写八进制数字常量?这行得通吗?

代码语言:javascript
复制
mov eax, 70o
EN

回答 2

Stack Overflow用户

发布于 2016-09-19 10:07:51

八进制的NASM supports 70o70q0o700q70

我推荐0q70版本,以避免将来的(人类)读者将小写-o误认为0的风险。我也不是十六进制尾随后缀样式的粉丝,因为它很容易遗漏。它有助于使用与常量的其余部分相反的情况,但前导0x或0q更清晰。(对于十六进制,不需要使用前导0来使其成为数值常量而不是符号名称。)

至于十六进制常量支持,it will certainly vary by assembler,所以只需要检查你的汇编手册。例如,大多数仅用于DOS/Windows的汇编程序不支持0xDEADBEEF,只支持0DEADBEEFh样式,所以我猜他们对八进制的选择也较少。

有关各种汇编手册(以及许多其他有用的资源和指南)的链接,请参阅x86标签维基。

票数 5
EN

Stack Overflow用户

发布于 2016-09-19 10:07:35

这取决于汇编器,但包括NASM在内的大多数汇编器都允许0,o代表八进制。就像你使用0x一样,其中x代表十六进制。

代码语言:javascript
复制
    mov     ax,310q         ; octal 
    mov     ax,310o         ; octal again 
    mov     ax,0o310        ; octal yet again 
    mov     ax,0q310        ; octal yet again 

信息来源:Here

同样,对于所有的汇编程序,它不是0,也不是上面的语法。不同的汇编程序可能会有所不同,但NASM确实使用了上述语法,因为您可以看到提供的链接以获取更多信息。如果您有其他的汇编程序,请查看他们的手册,如FASM:Here。气体:Here

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

https://stackoverflow.com/questions/39564402

复制
相关文章

相似问题

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