问题标签 [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 投票
2 回答
12488 浏览

assembly - 寄存器寻址模式与直接寻址模式

我在试卷中遇到过这个问题。它指出,哪种给定的寻址模式更快?为什么?

  1. 寄存器寻址方式
  2. 直接寻址方式

现在根据我的说法,寄存器寻址模式应该更快,因为寄存器是计算机中最快的内存位置。这是正确的答案吗?

请帮忙。谢谢

0 投票
1 回答
4358 浏览

assembly - mov eax, [ebx+ecx*4] 在 NASM 中是什么意思?

我刚开始学习汇编,对以下表达式感到困惑。

数据将从哪个地址移动到 eax?

而且我不明白 [ebx+ecx*4] 中地址的计算结果是什么?

0 投票
2 回答
9554 浏览

assembly - 操作码中的汇编段

我注意到在程序集段中使用了操作码。

例子:

我认为“PTR SS:”用于指定 EBP-30 来自堆栈?(SS:堆栈段)我是对的还是完全错的?:) 而且,你能告诉我上面的例子和

那么操作码中使用的 DS(数据段)呢?

0 投票
1 回答
442 浏览

assembly - 8086 程序集 ADD 寻址模式

您好,我正在为 8086 编写汇编代码,但我想知道 CPU 如何区分例如

AND AX, [memoryaddress] 和 AND AX, memoryaddress

我们在它周围加上 [] 表示它应该被地址内容替换,但是 CPU 看到这样的指令

00 01 1101001

它如何知道它应该添加值 1101001 还是地址 1101001 的内容。

我在想有不止一个 ADD 命令,并且它们的操作码不同,例如(ADDTHECONTENTS 和 ADDTHEVALUE),但是 a86 允许我们只说 ADD,因为我们可以很容易地将语义与 [] 语法区分开来。这似乎合乎逻辑,但我不确定,所以我想问一下,是否有许多操作码用于对应于不同寻址模式的指令。

0 投票
1 回答
587 浏览

assembly - NASM 宏处理任何寻址模式

编写一个 NASM 宏:divide,它有 2 个参数,指定任何寻址模式下的无符号整数。宏计算其第一个参数的上限,除以第二个参数,并将结果放入寄存器 edx。如果第二个参数为 0(要在运行时测试),则结果应为 0,并且应将消息“除以零”打印到标准输出。

我怎么知道哪个是哪个,所以我们可以处理每个案例?(;地址模式是:寄存器、内存和立即数。)

编辑:这是我写的最终代码:如何编写没有标签的代码?(位置独立代码):

0 投票
1 回答
2443 浏览

assembly - @登录汇编程序?

我正在为信息系统课程做作业,教授决定使用伪汇编程序。他用

那个符号是什么意思?

0 投票
1 回答
1382 浏览

assembly - 一个奇怪的汇编代码:cmp ebp, ds:dword_84B8844

我使用 IDAPro 反汇编一个 elf 文件。在函数 sub_8210884 中,我注意到一些奇怪的代码:

sub_8049DB6:

sub_8210884:

什么意思?我猜它是对 sub_8049DB6 中的局部变量的引用,但不确定。

这是完整的汇编代码:

0 投票
1 回答
1087 浏览

assembly - Masm32 - 寻址模式和数组

我对寻址模式有点困惑。

如果我有这个声明:

EBX 是基数,EDI 是索引,+10 是说向 EDI 添加十个字节?那么,EDI 会返回 14 个字节长吗?并返回地址并将其放入EAX?

同样,

这是说在数组中的任何索引处,返回 4 个字节长吗?因为每个索引的数组长度为 4 个字节,对吧?我想我不明白 * 4 是做什么的!

此外,

这会将数字 100 放入从索引零开始 4 字节大的数组中?那么,索引[0] = 100,索引[1]= 101,索引[2]= 102?

谢谢

0 投票
2 回答
2297 浏览

arrays - x86 - 访问数组中元素的寻址模式

我正在努力学习汇编语言。有人可以解释和/或举例说明如何使用寻址模式来访问以下每种数组类型中的元素吗?

  1. 数组DWORD

  2. 结构数组,其中每个结构包含两个DWORDs

  3. 数组数组,其中每个数组有 10DWORD

0 投票
2 回答
981 浏览

assembly - x86指令含义

我现在正在 gdb 上运行一些代码,但我不知道这两条指令实际上是做什么的。如果有人可以帮助我,我将不胜感激。