相关疑难解决方法(0)

如何阅读英特尔操作码表示法

我正在阅读一些关于英特尔操作码汇编指令的资料,但我无法理解它遵循操作码字节是什么意思.例如:"cw","cd","/ 2","cp","/ 3".请给我一个提示是什么意思或在哪里可以找到完整的参考?提前致谢!

E8 cw CALL rel16相对于下一条指令调用near,relative,displacement

E8 cd CALL rel32相对于下一条指令调用near,relative,displacement

FF / 2 CALL r/m16调用r/m16中给出的接近绝对间接地址

FF / 2 CALL r/m32调用r/m32中给出的接近绝对间接地址

9A cd CALL ptr16:16调用操作数中给出的far,absolute,address

9A cp CALL ptr16:32调用操作数中给出的far,absolute,address

FF / 3 CALL m16:16调用m16:16中给出的远,绝对间接地址

FF / 3 CALL m16:32调用m16:32中给出的远,绝对间接地址

x86 assembly intel machine-code opcode

15
推荐指数
3
解决办法
4909
查看次数

/ 4在FF/4中的含义是什么?

通常在x86文档中引用的一个站点有一些带有斜杠和数字的指令代码.例如,jmp接近绝对间接给出FF /4,而jmp远绝对间接给出FF /5.

什么的/4/5是什么意思?

为了运行一个快速的小测试,我附加了一个32位进程,分配了一点内存并插入了汇编程序jmp dword ptr[0x12345678]; 生成的字节码是FF 25 78563412.我理解地址的结尾,但是如何25/4/5

我的猜测是我生成了一个jmp远,并且/5意味着有五个字节作为参数(地址为4个字节+ 1个字节25).我仍然对它的来源感到困惑25.

x86 assembly

5
推荐指数
1
解决办法
1112
查看次数

汇编指令“Intel 组”类别源自何处?

在开发 86-DOS 应用程序lDebug的分支期间,我遇到了称为“Intel 组”的指令类别。具体来说,组是指与使用相同 1 或 2 个操作码字节的一组指令相关的东西,通过/rModR/M 字节的字段来区分。

“Intel 组”类别可以一直追溯到 1997 年发布的 FreeDOS Debug 0.95,并且可以在我的 fddebug 存储库的修订版中看到:

/*
 *  Here are the tables for the main processor groups.
 */

struct {
    int seq;    /* sequence number of the group */
    int info;   /* which group number it is */
}
    grouptab[]  = {
        {0x80, GROUP(1)},   /* Intel group 1 */
        {0x81, GROUP(1)},
        {0x83, GROUP(2)},
        {0xd0, GROUP(3)},   /* Intel group 2 */
        {0xd1, GROUP(3)},
        {0xd2, …
Run Code Online (Sandbox Code Playgroud)

x86 assembly intel machine-code x86-16

3
推荐指数
1
解决办法
272
查看次数

标签 统计

assembly ×3

x86 ×3

intel ×2

machine-code ×2

opcode ×1

x86-16 ×1