小编tif*_*ifa的帖子

获取装配说明的大小

我需要从内存中的一个小代码段逐个读取指令,我必须找出内存中指令的大小.

以下只是解释我的问题的原始反汇编代码的示例:

 (gdb) disas /r 0x400281,+8
 Dump of assembler code from 0x400281 to 0x400289:
    0x0000000000400281:  48 89 c7       movq   %rax, %rdi
    0x0000000000400284:  b0 00          movb   $0, %al
    0x0000000000400286:  e8 f2 48 00 00 callq  0x10001f30a
 End of assembler dump.
Run Code Online (Sandbox Code Playgroud)

我知道第一条指令的存储器地址(在这种情况下p = 0x0000000000400281),我可以从p读取每个存储器地址.问题是我不知道*(p + offset)的值是否是操作码,我知道每个操作码的大小信息都不固定.

那么,我可以得到每个汇编指令的大小吗?或者我可以知道我读的值是操作码还是信息?

x86 assembly machine-code opcode disassembly

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

标签 统计

assembly ×1

disassembly ×1

machine-code ×1

opcode ×1

x86 ×1