相关疑难解决方法(0)

为什么没有包含更高字节EAX的寄存器?

%AX = (%AH + %AL)

那么为什么不%EAX = (%SOME_REGISTER + %AX)注册%SOME_REGISTER呢?

x86 assembly

65
推荐指数
3
解决办法
5万
查看次数

Intel 64,rsi和rdi寄存器

在Intel 64架构中,有rax..rdx寄存器,它们只是A..D通用寄存器.

但是也有一些名为rsi和rdi的寄存器,它们是"源索引"和"目标索引"寄存器.为什么这些寄存器有实际名称(与A等相比)?
"源索引"和"目标索引"实际上意味着什么?是否有一些惯例说这些寄存器应该在特定情况下使用?

assembly x86-64

30
推荐指数
1
解决办法
4万
查看次数

21
推荐指数
3
解决办法
2万
查看次数

为什么rbp和rsp称为通用寄存器?

根据英特尔在x64中,以下寄存器称为通用寄存器(RAX,RBX,RCX,RDX,RBP,RSI,RDI,RSP和R8-R15)https://software.intel.com/en-us/articles/介绍到x64组装.

在下面的文章中,写了RBP和RSP是专用寄存器(RBP指向当前堆栈帧的基础,RSP指向当前堆栈帧的顶部). https://www.recurse.com/blog/7-understanding-c-by-learning-assembly

现在我有两个相互矛盾的陈述.英特尔声明应该是值得信赖的,但是什么是正确的,为什么RBP和RSP被称为通用目的?

谢谢你的帮助.

assembly x86-64 cpu-registers

20
推荐指数
2
解决办法
2万
查看次数

编写程序集时使用哪些寄存器重要吗?

如果您正在编写程序集,那么将值分配给哪个寄存器重要吗?假设您将累积/中间值存储在 %ebx 而不是 %eax 中,后者传统上用于此目的。这是不好的做法吗?会影响性能吗?

换句话说,您是否可以将它们等同于存储空间,还是应该坚持将它们用于特定目的?

x86 assembly cpu-registers accumulator

6
推荐指数
4
解决办法
1194
查看次数

我们是否也将寄存器 RAX、RBX 等称为 R1、R2 等?

我正在研究 8086/8080 微处理器。其中使用的寄存器有名称,

  1. 雷克斯
  2. RBX
  3. RCX
  4. RDX

当寄存器被命名为 R8、R9... 到 R15 时,继续直到 R8。我想知道

我们是否也将寄存器 RAX、RBX 等称为 R1、R2 等?

x86 x86-64 cpu-registers microprocessors

5
推荐指数
2
解决办法
2311
查看次数

RAX,RBX,RCX,RDX,RSI,RDI,RBP,RSP,R8-R15是否可互换?

x64寄存器是否可以互换,因为任何与它们组合使用的指令都可以与其他指令一起使用?除了名称之外,是否有性能差异或任何其他因素使它们彼此不同?

assembly x86-64

4
推荐指数
2
解决办法
1592
查看次数

我在哪里可以找到x86寄存器名称?

哪里可以找到80x86注册的全名?我知道EAX意味着扩展AX.

那么,AX的含义是什么?即AX是首字母缩略词?

x86 assembly naming cpu-registers

2
推荐指数
2
解决办法
9118
查看次数

为什么 x86 汇编寄存器以 XH 和 L 命名?

我正在学习汇编,我很好奇为什么寄存器的名称用这些字母指定,因为理解这一点可能有助于我在另一个层面上理解它。即AL是最低有效字节,但是“L”是什么意思呢?

图片来源:http ://www.cs.virginia.edu/~evans/cs216/guides/x86.html

寄存器

x86 assembly history

0
推荐指数
1
解决办法
1521
查看次数