问题标签 [opcodes]

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

c++ - 64 位 dll 模块与文件不匹配

我的 x64 位 dx11 进程加载 dxgi.dll 并声称正在使用 C:\Windows\System32\dxgi.dll 中的那个。

但是,每当我在 ram 中检查它时,操作码根本不匹配,就好像它加载了不同版本的 dll。

如何找到它正在使用的真实位置/模块?

0 投票
2 回答
2534 浏览

assembly - MUL/DIV 指令与 MOV & SHL/SHR (Pentium Pro)

为什么要使用:

...当乘以 4 而不是仅使用MUL指令时?
我知道这也可以用SHR代替来完成DIV

这样做有什么好处?
你也可以用奇数来做这个,还是只能是偶数?

0 投票
1 回答
1434 浏览

c# - DynamicMethod - 公共语言运行时检测到无效程序

因此,我尝试使用 ilgenerator 通过动态方法从外部 DLL 调用方法。

以及 DLL 代码:

但我收到了这个奇怪的错误:

test.exe 中发生了“System.InvalidProgramException”类型的未处理异常
附加信息:公共语言运行时检测到无效程序。

而且我不知道我做错了什么?

0 投票
0 回答
166 浏览

assembly - 在 Golang 中使用不受支持的操作码 (DMB)(适用于 32 位 ARM)

我正在尝试在 Go 程序中发出 DMB 指令,并且我正在使用 .s 文件中定义的 asm 函数。我在 ARMv7 设备上使用 Go 1.7.3 进行编译。

DMB 不是 Go 中受支持的指令,但我在此处看到有关如何使用不受支持的操作码的文档。

使用一些 ARM gcc binutils,我发现 DMB 的操作码是 f57ff05f。我的issue_dmb.s文件在下面。

构建时出现错误:无法识别的指令“BYTE”

(可能相关:我NOSPLIT在 .s 文件的第一行中使用它时遇到了相同的错误,正如我在许多示例中看​​到的那样,因此我将其删除)。

我是否缺少让汇编程序识别这些关键字的东西?

0 投票
2 回答
188 浏览

assembly - 是否有可能消除这些多余的尾随零?

我正在编写一些非常严格的 ASM 代码。

请注意 NASM 生成的这组操作码:

和类似的:

有没有办法与处理器通信,您打算将 15 位偏移量应用于 32 位寄存器,并让它自己找出 0 填充?

我一直在梳理https://c9x.me/x86/html/file_module_x86_id_176.html以获得一些指导。这里或那里额外的 2 个字节真的会救我的命!

也接受:

重写语句以使其更小的替代方法,最终我在这种情况下要做的是:

如果有一种方法可以手动编码以使其超级小,我很乐意看到这种技术。

0 投票
0 回答
142 浏览

java - Java - 将操作码写入 .class 文件(用于自定义编译器)

我玩了一点编译器。我想将我的语言编译成 JVM 字节码,但我想知道如何将这些操作码写入 .class 文件。

例子:

我有我的 .atan src 文件,我想将其编译为 .class 文件。我可以解释这段代码,但我不知道如何将这些操作码写入 .class 文件。如何才能做到这一点?

0 投票
2 回答
1125 浏览

variables - 汇编变量和常量的 x86 操作码是什么?

我知道每条指令都有操作码。
我可以找到 mov 的操作码,子指令。
但是变量的操作码和它的类型是什么。
我们使用汇编指令来定义变量和常量?
它们如何在 x86 操作码中表示?

nasm 汇编器 x86:

/code>

我在网上尝试了这个https://defuse.ca/online-x86-assembler.htm#disassembly汇编到操作码转换器。但是当我使用 nasm 代码定义变量时,它显示错误!

0 投票
0 回答
129 浏览

artificial-intelligence - 从可执行文件的入口点提取操作码

我正在使用 objdump 命令来反编译可执行文件并提取操作码,我需要知道是否可以从文件的入口点提取操作码,因为现在我从部分中提取操作码。

0 投票
0 回答
225 浏览

c# - IEnumerable 上的类似正则表达式的模式匹配而不是 C# 中的字符串字符

我正在尝试修改 C# 中的 CIL 代码指令列表。常见任务包括查找指令组或指令模式,并用其他指令替换它们,同时重用原始匹配中的一些信息。这听起来很像正则表达式,只是我的用例是在实例列表中的特定类型而不是字符串中的字符。

我可以编写一些基本代码来搜索和匹配内容并替换它,但我想知道是否有更通用的方法使用正则表达式语法,如“x”?或“(a|b)+”或“(a+)b*(c+)”,但 a、b、c 不是字符而是类的实例。最好在结果表达式中引用捕获的部分。我知道某些模式,如“单词开头”或“空格”是没有意义的。

在我的开源补丁库Harmony中,我以自定义元组类型表示操作码及其操作数,模式匹配应在 IEnumerable 上运行,并最终生成一个新的 IEnumerable。

是否有一个通用的模式匹配算法可以扩展来存档?