我被赋予了以下任务:
考虑以下十六进制值序列:
55 89 E5 83 EC 08 83 E4 F0 31 C9 BA 01 00 00 00 B8 0D 00 00 00 01 D1 01 CA 48 79 F9 31 C0 C9 C3
此字节序列表示 32 位模式下 Intel 80386 机器语言中的子例程。
当执行此子程序中的指令时,它们会将值留在寄存器 %ecx 和 %edx 中。价值观是什么?
执行此子例程完成的计算的 C 程序是什么,然后打印由该程序计算的 %ecx 和 %edx 的值,就像它们在子例程执行结束时出现的那样。
由于我没有记住 80386 指令集,我必须首先将这些操作码字节转换为它们的汇编语言助记符等价物。那么,在某处是否有在线参考,将十六进制值映射到指令之类的表?我查看了英特尔的网站,但一无所获。还是有更好的方法来破译这个......?