问题标签 [gnu-assembler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2196 浏览

assembly - x86 程序集,误导性错误

我正在尝试学习汇编,并有一个 AT&T 语法的程序,用于与 GNU AS 一起使用,我认为这应该可以工作。我收到 GDB 的这个错误:

代码是:

我真的做错了什么吗?你会推荐哪些资源来学习汇编?(我已经阅读了 WikiBooks X86 汇编文章和大部分 GAS 手册)。

0 投票
1 回答
1919 浏览

assembly - asm中的内存寻址

我正在学习 asm,这是我的(许多)问题之一:我想更改数组的某些索引的值。让我们这么说:

  • %eax 包含我的新值
  • 栈顶(即(0)%esp)包含数组的索引
  • -4(%ebp) 包含数组的地址。

我试过movl %eax, (-4(%ebp),0(%esp),4)了,但没有用。更糟糕的是,它会引发语法错误:bobi.s:15: Error: junk `(%ebp),0(%esp),4)' after expression

什么是正确的语法?

0 投票
1 回答
5283 浏览

assembly - gcc 内联汇编中的 ljmp 语法

我正在考虑使用远跳转来设置代码段(CS)寄存器。了解我为什么要这样做以及我为什么要处理细分需要一段时间,所以请耐心等待,并将其视为学术练习。我似乎无法正确使用语法。

Error: suffix or operands invalid for 'ljmp'

我知道cs放入另一个寄存器是愚蠢的,但我想我会尝试它,因为 using%0不起作用(ax寄存器也不起作用)。

我正在查看一些编译良好的代码,这让我发疯,因为我认为ljmp会是一样的:__asm volatile ( "lcall $0x8, $far_call" );

我当然欢迎其他影响 CS 寄存器的 hacky 方式。

0 投票
4 回答
8557 浏览

macos - 在 OSX 中安装 GNU 汇编器

无论我多么努力地用谷歌搜索,我似乎都找不到(相对)易于遵循的关于如何在 Mac 上安装 GNU 汇编程序的说明。

我知道我可以使用gcc -c(Mac 上的 Apple Clang)来组装.s/.S文件,但我想使用实际的 GNU Binutils as

0 投票
2 回答
2602 浏览

assembly - 如何使用 AVR 的 gnu 汇编程序相对于 PC 跳转?

我有一个使用 avr-objcopy 反汇编的二进制文件。中断向量表如下所示:

我想通过一些修改重新组装这个文件。我通过删除前 2 列对其进行了重新格式化,使其成为常规程序集文件。IE:

但是,当我跑步时

然后反汇编生成的文件。(使用 objcopy -S a.out)输出如下:

那么我怎样才能让 avr-as 尊重 PC 相关的跳跃呢?

0 投票
2 回答
258 浏览

assembly - 单声道“asmonly”选项

我使用打印“hello world”的 MonoDevelop 创建了一个简单的单声道可执行文件。我想尝试 AOT 'asmonly' 选项。所以:

为什么我得到分段错误?我正在使用 Fedora 12 x64。ld中的“找不到条目符号_start”错误是什么?

谢谢你!

0 投票
1 回答
2919 浏览

assembly - 组装:从一个部分跳到另一个部分

在 x86 汇编中,如何从一个部分执行无条件跳转?

例如:

我想这是一个很大的跳跃。尝试运行此程序时出现段错误。任何解决方法?

0 投票
5 回答
8622 浏览

c - 0x4 在 "movl $0x2d, 0x4(%esp)" 中做了什么?

我正在研究 GCC 生成的汇编代码。但我不明白:

在第二个操作数中,0x4代表什么?偏移地址?以及寄存器 EAX 有什么用?

0 投票
1 回答
1289 浏览

visual-studio - Microsoft 汇编程序到 GNU 汇编程序的转换

我有一个 ARM 汇编代码,可以很好地与 Visual Studio 一起编译。我现在想使用相同的 ARM 汇编代码并使用 GNU Assembler 对其进行编译。如您所知,两个汇编程序的语法不同。我想知道是否有任何工具可以从这些汇编语法转换。

0 投票
4 回答
17801 浏览

assembly - MOV src, dest (或) MOV dest, src?

MOV 可能是每个人在学习 ASM 时学习的第一条指令。

刚才我遇到了一本书Rajat Moona 在 GNU/Linux for IA32 Architectures 中的汇编语言编程,它说:(已删除断开的链接)

但我了解到它是MOV dest, src。它就像“加载destsrc。甚至维基也这么说。

我不是说作者错了。我知道他是对的。但是我在这里错过了什么?

顺便说一句..他正在使用 GCCas来组装这些指令。但这不应该改变指令语法吗?