问题标签 [addressing-mode]

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 投票
1 回答
894 浏览

gcc - 我可以在 x86-64 中使用 gcc 为不同的变量选择 RIP 相对或绝对寻址吗

我编写了自己的链接脚本,将不同的变量放在两个不同的数据部分(A 和 B)中。

A 链接到零地址;B 链接到代码附近,并且在高地址空间中(高于 4G,这不适用于 x86-64 中的正常绝对寻址)。

A 可以通过绝对寻址访问,但不能通过 RIP-relative 访问;B可以通过RIP-relative寻址访问,但不是绝对的;

我的问题:有没有办法为 gcc 中的不同变量选择相对 RIP 或绝对寻址?也许有一些注释,比如#pragma

0 投票
3 回答
827 浏览

assembly - 不能在寻址模式下减去寄存器?

我读完了 PC 汇编语言,我正在研究在汇编中实现 RC4 加密。我无法理解的是为什么

有效,但

没有。内联汇编器给了我这个错误信息,

“第二个操作数”中的非常量表达式

这意味着什么?提前致谢。

0 投票
3 回答
1441 浏览

cpu-architecture - 用于寻址模式的术语。[英特尔 8085]

在我正在研究的处理器的文档中说:

可用的操作数寻址模式有隐含、寄存器、立即、直接和寄存器间接(使用 BC、DE 和 HL 寄存器对作为指向内存的 16 位指针)。

有人可以用外行术语解释这些寻址模式之间的区别,或者发布一个我可以学习的链接吗?

非常感谢。

0 投票
4 回答
33601 浏览

assembly - `movl (%eax), %eax` 中的括号是什么意思?

我已经用谷歌搜索了足够多的东西,但无法弄清楚括号是什么()意思。另外,我看到一些语法为movl 8(%ebp), %eax

有人可以建议我一些好的参考吗?我无法在 Google 的前 20 个结果中找到任何结果。

0 投票
2 回答
2307 浏览

assembly - x86 寄存器名称、寻址模式、位移和存储

我有一些关于我正在学习的组装的问题,我对此感到困惑。

  1. bxbpss和有什么不一样sp?书上说那bx是基址寄存器,bp是基址指针。这是否意味着它们是同一件事?

  2. mov ax, bx, mov ax, [bx],mov ax, bp和有什么区别mov ax, [bp]

  3. disp索引寻址模式是什么意思?例如mov al, disp[bx]?还是mov al, disp[si]?书上没有解释的意思disp

  4. 寄存器在 CPU 中而不是 RAM 中吗?

    请原谅我的英语,这不是我的第一语言。

0 投票
3 回答
1570 浏览

assembly - 汇编寻址模式

有人可以解释以下两者之间的区别吗?我发现理解寻址模式背后的概念有点困难

非常感谢!

0 投票
1 回答
3790 浏览

assembly - 我不确定这个 x86 Add 指令在做什么

我不确定这add条指令在做什么:

如果是:

我知道它将添加内容rbx和内容eax并将它们存储回eax. 然而,这0x0(%rbp,%rbx,4)让我失望。

0 投票
4 回答
1068 浏览

assembly - 汇编 括号中的 *ALL* 可能的算术可能性是什么?

我正在为 C 代码模拟器制作 x86 asm .. 对于我的解析器,我可以进行括号解析

QWORD PTR []

DWORD PTR []

WORD PTR []

BYTE PTR []

MOV X, []

LEA X, []

现在我会忽略..

MMWORD PTR[]

XMMWORD PTR[]

FWORD PTR []

TBYTE PTR []

我想知道可以放在括号中的所有可能的数学算术是什么

我遇到的最复杂的是.. [EBP+ECX*4-E0]

我必须解析的原因是转换E00x000000E0then 4to0x00000004

据我所知+, -, *are possible is \and or /possible too, 或者点怎么样?.?

我认为最好的方法是拆分包含括号的每条指令[]以获得内部数学。然后将内部数学拆分为 1 char delimiters +-*

我想确保我得到他们所有?有没有可能在这些中进行划分?或者不是 XOR/OR/AND/NOT 怎么样?

0 投票
2 回答
19838 浏览

assembly - ds:si 和 es:di 在汇编中是什么意思?

movsb(移动字符串,字节)指令获取地址 ds:si 处的字节,将其存储在地址 es:di,然后将 si 和 di 寄存器递增或递减 1。

我知道 esi,si 和 edi,di 寄存器,

但不是ds:sies:di

他们的意思是什么?

0 投票
2 回答
668 浏览

assembly - IA32 indexed addressing mode without base address

What does this syntax mean? I'm specifically unsure about the missing base address