machine-code 相关问题

机器代码是直接馈入微处理器的数据,是处理器能够执行的唯一形式。它是可能的最低抽象级别,其中所有数据都是原始二进制流。机器代码几乎不可被人类读取,这就是通常使用装配的原因。

movzwl 0x402ac0(%rax,%rax,1),%eax和movslq 0x402740(,%rsi,4),%rdx在x86-64汇编中意味着什么?

我正在从事一些有关汇编的项目,遇到以下命令:lea(%rsi,%rsi,4),%rax lea(%r9,%rax,2),%rsi lea(%r8,%rdx, 4),%rax movzwl 0x402ac0(%rax,%rax,1),%eax movslq ...

回答 1 投票 0

CPU如何知道RAM中的地址是否包含整数,预定义的CPU指令或任何其他种类的数据?

这让我感到困惑的原因是,所有地址都包含1和0的序列。那么CPU如何将00000100(整数)与00000100(CPU指令)区分开?

回答 5 投票 2

Pep9汇编代码-无法获得正确的输出

我正在编写一个程序(在PEP9程序集中),该程序应该在开始时输出-1,然后以小写ASCII字符作为输入,将其转换为大写并输出。到目前为止,我有:...

回答 1 投票 0

为什么使用xor而不是mov需要更少的字节?

当将x设置为零(x = 0)时,我的csapp书指出了两种方法。第一个:xorq%rcx,%rcx第二个:movq $ 0,%rcx它还告诉我们第一个仅占用3个字节,而第二个仅占用7个字节。...

回答 2 投票 0

什么是AMD ryzen 7 2700x指令集(用于创建汇编)

我要创建我的第一个汇编程序,所以我可以计划我自己的编程语言,我自己的操作系统等。这里有一个问题:我找不到我已经找到了ryzen 7 2700的指令集...

回答 1 投票 1

PUSH的英特尔REX编码

GAS提供了以下编码以下说明:推RBP#0x55的推RBX#0x53推R12#的0x41 0x54推R13#的0x41 0x55的从AMD64规范(页313):PUSH REG64 ...

回答 1 投票 5

如何在MIPS机器代码中将负数转换/编码为立即数

我想将此指令更改为二进制或机器代码:addi $ s3,$ s1,-1000。我知道如何编码操作码,rs和rt,但我不知道如何将-1000转换为二进制。我知道怎么弄......

回答 1 投票 0

(MIPS汇编)我们可以自己初始化程序计数器吗?

我仍在尝试开发MIPS汇编程序作为我的任务的一部分。我得到了这些输入和输出文件。 main:lw $ a0,0($ t0)begin:addi $ t0,$ 0,0#beginning ...

回答 1 投票 -2

获取装配说明的大小

我需要从内存中的一个小代码段逐个读取指令,我必须找出内存中指令的大小。以下只是原始的一个例子......

回答 4 投票 7

Assembly和binary有什么区别?

我很难理解汇编和二进制之间的区别。我只需要了解链接二进制和汇编之间的关系。

回答 4 投票 3

如何编码子即时83/5操作码的操作数,如sub edx,0x3a?

我无法在GAS语法subl $ 0x3a,%edx中查看汇编指令,然后能够使用Intel手册手动生成匹配的机器代码......

回答 1 投票 0

如何通过操作码确定是否需要ModR / M?

我正在阅读ia-32指令格式,发现ModR / M是一个字节,如果需要,但如何确定是否需要,有人说它是由Opcode决定的,但是如何?我想知道......

回答 1 投票 0

在MIPS中,“立即扩展到32位”是什么意思?

我正在阅读MIPS数据路径中的指令解码(ID)阶段,我得到以下引用:“一旦操作数已知,读取实际数据(来自寄存器)或将数据扩展到32 ......

回答 2 投票 0

带有段寄存器的x86-64 MOV指令的REX.W前缀

我正在阅读x86 / x64开发人员的手册,试图理解指令编码,并对来自段寄存器的mov感到困惑,即本页的第12和第13表格。那里有两个 ...

回答 2 投票 2

确定小端机器地址的十六进制值

我对你如何处理这个问题感到有点困惑:考虑十进制数1027.这个值作为一个16位的二进制补码数存储在一个小端的地址124和125上......

回答 3 投票 2

汇编代码与机器代码对象代码?

目标代码,机器代码和汇编代码之间有什么区别?你能举出他们差异的视觉例子吗?

回答 9 投票 206

在函数内部使用DB(定义字节)时出现分段错误

我正在尝试在.text部分中用汇编语言定义一个字节。我知道数据应该转到.data部分,但我想知道为什么当我这样做时它会给我一个分段错误。如果我定义......

回答 1 投票 0

在x86机器代码中调用绝对指针

在x86机器代码中调用绝对指针的“正确”方法是什么?有没有一种方法可以在一条指令中完成它?我想做什么:我正在尝试构建一种简化的迷你JIT(......

回答 2 投票 7

为什么在x86汇编中将NOP分配给0x90?

为什么在intel x86程序集上将nop分配给0x90?直觉上我希望0x00会映射到nop(这也是xchg eax,ex在intel x86),就像ARM A32和其他一些......

回答 1 投票 3

如何在c ++中将机器代码作为函数运行

system:Windows 10编译器:MinGW错误:分段错误我正在尝试将机器代码作为c ++函数运行。这是我的代码:#include int main(){int(* fun_ptr)(void)=((...

回答 2 投票 1

© www.soinside.com 2019 - 2024. All rights reserved.