宏替换GAS中的常数
X86 GNU Assembly 上的那个宏有什么问题吗?它表示符号 S 在链接期间未定义。 .macro S size=40 \size .endm 我用它就像 mov %eax, S …
mov 0、%eax 上的 x86 程序集出现段错误
我正在尝试汇编一小段 x86 代码。我在 32 位机器上编写了以下代码。它应该只是将值添加到 eax 中然后返回。我意识到不会有任何输出。当我使用 gcc mai…
如何在条件汇编期间将标志传递给预处理器
我想将 Makefile 中定义的某些宏传递给预处理器,例如以下代码中的“_DBGR_ON_”,以便相应地汇编代码。该选项在diab编译器(powerpc的c交叉编译器)…
关于ASM执行流程的问题
我不确定如何解释 ASM 执行流程。到目前为止,我查看过的所有文件都已明确跳转(Intel x86 AT&T 语法,即 jmp 或 jl)到 ASM 文件中的标签。 我的问题…
如何访问asm中的数组?
char greet[] = "hello mate"; __asm__("\n\ movl foo, %eax\n\ "); 如何将 greet[0] 移至 %eax 等寄存器中? 我的猜测: char greet[] = "hello mate…
GCC 将标签作为函数调用
一切都在标题中。 由于某些原因我必须这样做。 但是当我编译我的代码时,GCC(或 GAS 也许...)显示以下错误: .../Temp/cc1C1fjs.s:19: Error:立即操…
将另一个汇编器(MASM、NASM、TASM 等)与 GCC 一起使用
我已经在这里和互联网上查找问题一段时间了,我似乎无法弄清楚是否可以使用 GAS 以外的东西与 GCC 进行内联汇编。我试图找出是否可以避免不仅使用 GAS…
无法使用'&' Gnu AS 表达式中的运算符
我想获取变量的地址并按 4096 编辑(这将对应于其内存页的地址)。因为这是可以离线计算的东西,所以我做了一些看起来像这样的事情(v是变量,vpage应…
GAS ELF 什么时候需要指令 .type、.thumb、.size 和 .section?
我正在为基于 ARM Cortex-M3 的微控制器(Thumb 2 指令集)开发一个汇编程序,使用 GNU as。 在一些示例代码中,我发现诸如 .size、.section 和 .type…
32 位 Linux 汇编 - 将文件链接在一起(gas 和 ld)
我写了一个名为 strlen 的函数: .section .text .global strlen .type strlen, @function strlen: ... code ... 我像这样组装了它: as --32 strlen.…
MIPS 的 GNU 汇编器:如何发出sync_* 指令?
MIPS32 ISA为sync指令定义了以下格式: SYNC (stype = 0 implied) SYNC stype 这里,stype可以是SYNC_WMB(SYNC 4)、SYNC_MB(SYNC 16)等。 在内联汇编…
如何在不使用gcc的情况下将使用C标准库的气体汇编程序与ld链接?
作为更准确地了解 C 程序如何工作以及程序能够使用 libc 必须存在的最低内容级别的练习,我自己尝试主要使用 Gas 和 ld 在 x86 汇编中进行编程。 作为…