【发布时间】:2011-12-12 19:48:30
【问题描述】:
我最近在我的一个汇编文件的顶部看到了这个,并意识到我在打印整数的过程中使用了很长时间,却没有真正意识到它最初来自哪里(在我的基本汇编模板中使用)或者 10 , 0 表示:
section .data
intfmt: db "%d", 10, 0
谁能分解并解释不同的组件,特别是第 2 行的组件?
我现在正在尝试使用 scanf 读取输入,但这种格式似乎无法正常工作。想想我是时候了解这些数字的含义了!
另外,如果您对使用 scanf 在 64 位架构上读取输入有任何想法,我以前没有这样做过,这给我带来了一些问题,所以任何指向这样做的指针也将不胜感激!
【问题讨论】:
-
这是什么架构?您应该在此处标记它,因为每个架构都有自己的机器/汇编语言,即使在特定架构中,也可能有许多汇编语法取决于使用的汇编器
-
格式字符串和其他只读数据应该放在
.rodata部分,这样它们就可以与其他只读数据一起进入映射共享的页面,而不是私有页面。