gpt4 book ai didi

assembly - intel机器码转汇编代码的问题

转载 作者:行者123 更新时间:2023-12-02 21:48:02 25 4
gpt4 key购买 nike

专家,请问intel x86机器代码/汇编代码转换是singleSide还是bothSide?

表示: assemblyCode ---> machineCode 和 machineCode ---> assemblyCode 都可用。

由于x86机器码的大小不同(1-15字节),而操作码的大小不同(1-3字节),如何确定一个操作码是1字节、2字节还是3字节?

我从来没有找到x86指令前缀的例子,如果这里是1字节前缀,如何确定它是前缀还是操作码?

当然, assemblyCode ---> machineCode 、助记符 + oprand[w/b] 的标识可以通过映射某个 MappingTable 来确定响应的 machineCode 是什么。

但是,当过程相反时:

{ bbbbbbbb,bbbbbbbb,bbbbbbbb,//指令1 bbbbbbbb,bbbbbbbb,bbbbbbbb,bbbbbbbb,bbbbbbbb,bbbbbbbb,//指令2 bbbbbbbb,bbbbbbbb//指令3}

---->{bbbbbbbb,bbbbbbbb,bbbbbbbb,bbbbbbbb,bbbbbbbb,bbbbbbbb,bbbbbbbb,bbbbbbbb,bbbbbbbb,bbbbbbbb,bbbbbbbb}

我不知道哪些有效位或字节来确定一条指令的长度(大小)。

有人能告诉我如何确定吗?(操作码的大小,前缀示例。)感谢您的帮助。

最佳答案

您需要的详细信息在 Intel® 64 and IA-32 ArchitecturesSoftware Developer’s Manual Volume 2B: Instruction Set Reference, N-Z 。请参阅附录 A,它包含您需要的一切。

关于assembly - intel机器码转汇编代码的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2409612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com