这个intel指令怎么用ATT写

Posted

技术标签:

【中文标题】这个intel指令怎么用ATT写【英文标题】:How can this intel instruction be written in ATT 【发布时间】:2017-01-28 03:21:59 【问题描述】:
movl DWORD[%ebp+8], %eax

AS 汇编器不接受此行并出现以下错误:

junk [%ebp+8] after expression

如何正确地用 AT&T 语法重写它?

【问题讨论】:

imada.sdu.dk/Courses/DM18/Litteratur/IntelnATT.htm 我之前忽略了这一点,但它令人困惑,因为它不包含 DWORD。 如果您查看关于suffixes的最底部,它确实如此 那么 DWORD[ebp+8] 和 dword ptr[ebp+8] 是等价的吗? 英特尔语法有几种不同的变体。 MASM/TASM/JWASM 在需要 ptr 的地方使用,但还有其他 intel 语法(如 yasm、nasm)不需要 ptr 【参考方案1】:

你可以这样写:

movl %eax, 8(%ebp)

【讨论】:

以上是关于这个intel指令怎么用ATT写的主要内容,如果未能解决你的问题,请参考以下文章

在这种情况下,jmp 指令如何在 att 汇编中工作

CSAPP:处理器如何执行指令

我的世界怎么用命令方块给自己的鞋子加上速度属性或者血量增加等效果

Intel call指令

C++,怎么让程序模拟用户输入指令,并自行回车以执行该指令(不是写个输出函数只做样子)?

SQL指令问题,怎么update第一排的数据,没有where条件。