Ray*_*Ray 3 x86 assembly intel machine-code disassembly
我被赋予了以下任务:
请考虑以下十六进制值序列:
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指令集,我必须首先将这些操作码字节转换为它们的汇编语言助记符.那么,是否有某个在线参考,一个表格将十六进制值映射到指令等?我查看了英特尔的网站,但什么都找不到.或者有更好的方法来破译这个......?
小智 10
虽然你可以作弊并使用反汇编程序(反汇编程序在学习上不会有太大帮助),但我建议通过阅读英特尔80386手册中的相关章节来实际学习一些内容.从第17章开始.如果/当你遇到困难时,请回到StackOverflow并发布一个问题,说明你到底有多远以及你不明白.
| 归档时间: |
|
| 查看次数: |
11016 次 |
| 最近记录: |