我正在尝试在二进制文件中显示汇编指令,但我该怎么办?
我如何知道MOV(例如)的参数是指针还是数字?
这是出于教育目的,我知道有GDB和其他工具。
提前感谢!
答案 0 :(得分:1)
你的意思是disassembler?那么你有很多工具可供选择,例如:
如果要将其集成到现有程序中,则需要一个反汇编引擎,例如BeaEngine或diStorm。
答案 1 :(得分:1)
答案 2 :(得分:0)
您可能会从源到emulator找到有用的信息,它必须在执行模拟指令之前执行相同的解码任务。
我强烈建议首先定位一个小子集,最好是裸8086,然后按照历史发生的相同顺序添加扩展。这将帮助您确定在查找更多信息时要忽略的内容。所以不要不知所措。
对于MOV操作,操作数由第二个字节MOD-REG-REG / MEM字节指定(以最一般的形式)。操作数几乎总是寄存器或存储器位置(指针,可能使用“索引寄存器”即时构建)。只有少数指令接受文字操作数(数字)并且只接受源,并且它们在第180页的1979 8086 Manual表中清楚地标记。