问题标签 [machine-code]

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 回答
1709 浏览

assembly - 英特尔 x64 架构的 Rex 前缀解码

在英特尔文档“Architectures Software Developer's Manual Vol 2A”中,表 2-4 显示了 REX 前缀位的意义。

有人可以向我解释当 W=0 时如何解释吗?它说0 = Operand size determined by CS.D,但我不明白什么CS.D意思。

0 投票
1 回答
2915 浏览

assembly - 将 MIPS 转换为机器码

我应该如何将上述内容翻译成机器代码?除了实际代码之外,我还需要知道如何进行翻译。我想我可以尝试获取指令的操作码,但 movi 是伪指令,我不知道在哪里可以得到它。我应该在 Nios II 手册中阅读它吗?

更新

前四个指令是立即类型,因此应该使用字段形式。movi 和 subi 都是在 addi 中实现的伪指令,因此将使用 addi 的操作码。我得到了帮助,我知道该指令movi r16, val将转化为

00000100000100011100010010000100

所以操作码是 000100 二进制,即 0x04 以十六进制为基数,手册还指出是 addi 的操作码。所以我认为我们有前四个操作码,它们都是 000100。

更新 2

我想我现在知道大多数指令的操作码和直接字段:

序列 0100011100010010 是 0x4712,它是用val声明的变量.equ, 所以前四个操作码应该是 000100,因为它们都是 addi 并且 addi 说它是 0x04。如何翻译我现在不知道但可以查看手册的寄存器的两个五位字段。它说'br bne'has opcode 0x06 so it should say 000110 in the opcode for br.有opkod 0x1E,二进制是011110 = 30(?)

这是一个正确的开始吗?

0 投票
1 回答
10306 浏览

assembly - 汇编/机器代码中相等的分支

使用有什么区别:

并使用:

如果他们做同样的事情,为什么有两种分支方式?如果它们不同,那么它们各自的好处是什么?

谢谢

编辑:我不知道“c.eq.s”是协处理器特定的。为了与第二组代码保持一致,我只写了 $1, $2 而不是 $f1, $f2。

0 投票
1 回答
523 浏览

assembly - 在 MIPS 汇编中,“addi”可以对协处理器寄存器进行操作吗?

首先,我是一个学习汇编/机器代码的初学者,所以如果我问的很明显,请原谅我。

我正在阅读一些代码并遇到了一个代码片段,其中代码将“1.0”放入浮点协处理器寄存器中。

代码是

我的第一个问题是:

为什么必须先将“1”放入“$t5”,然后再将其传输到协处理器?做起来不是更容易吗

甚至

我的第二个问题是:

对于这行代码

两个寄存器有必要不同吗?或者它们都可以是 $f2 吗?

0 投票
2 回答
246 浏览

x86 - 如何判断二进制序列是否是 x86 机器码?

我们都知道,在 x86 arch 中,数据和代码混合在内存或磁盘中。但是如何告诉他们呢?

论文需要这个方法,我不指望100%的准确率。80% 还可以,即使是一些想法也可以:)

0 投票
3 回答
3973 浏览

assembly - 将 PIC 汇编指令转换为机器代码

我已经看到有特定的格式可以将 MIPS 汇编指令转换为机器代码。应该有类似的过程来手动将 PIC 程序集转换为机器代码。任何人都可以向我提供与此相关的文档吗?

0 投票
2 回答
13240 浏览

executable - 字节码(如 Java 字节码)与文件和机器码可执行文件(如 ELF)有什么区别?

字节码二进制可执行文件(如 Java 类文件、Parrot 字节码文件或 CLR 文件)与机器码可执行文件(如 ELF、Mach-O 和 PE)之间有什么区别。

两者之间的显着区别是什么?

比如ELF结构中的.text区域等于class文件的哪一部分?

或者它们都有标头,但 ELF 和 PE 标头包含体系结构,但类文件没有

Java 类文件 Java 类文件

精灵文件 精灵档案

体育档案 体育档案

0 投票
1 回答
472 浏览

c - 我们可以从控制流图中得到什么信息?

我有一个 C 程序跟踪的控制流程图(在 VM 中执行),它非常复杂。我想知道如果我有一个程序跟踪的 CFG 除了控制依赖项之外,我还能提取什么信息!谢谢

0 投票
1 回答
74 浏览

visual-studio-2010 - 对于两个不同的系统,JIT 生成的机器代码是否相同?

我是 C# 初学者,
JIT 在运行时生成的机器代码对于具有完全相同配置的两个不同系统是否相同?

0 投票
1 回答
332 浏览

assembly - 为什么会为“inc qword [rsp]”生成此机器代码?

考虑这个 x64 NASM 语法程序集:

使用 nasm 组装(并与 gnu ld 链接)后,objdump -d报告以下内容:

由于设置了 mod 字段,因此生成的代码inc qword [rbp]是有意义的。但是,我无法弄清楚24组装时的来源inc qword [rsp]。我一直在查看coder64 #xFF并没有向我暗示应该生成 24。我显然错过了更高层次的东西。