我正在尝试在二进制文件中显示汇编指令,但我该怎么做?
我怎么知道 MOV 的参数(例如)是指针还是数字?
这是出于教育目的,我知道有 GDB 和其他工具。
提前致谢!
您可能会从源代码中找到有用的信息到模拟器,它必须在执行模拟指令之前执行相同的解码任务。
我强烈建议首先针对一个小子集,理想情况下是裸机 8086,然后按照它们历史上发生的相同顺序添加扩展。这将帮助您决定在查找更多信息时忽略哪些内容。以免不知所措。
对于 MOV 操作,操作数由第二个字节 MOD-REG-REG/MEM 字节指定(以最一般的形式)。操作数几乎总是寄存器或内存位置(指针,可能使用“索引寄存器”即时构建)。只有少数指令接受文字操作数(一个数字)并且仅作为源,并且在第 180 页的1979 8086 手册表中清楚地标记了它们。