我认为最简洁有效的学习方式就是:
把刚学到的东西,用自己的话说一遍!!
百试不爽!
学习的过程中还有一些笔记心得就简单的写在这里了。
在尝试读机器中的汇编代码时,总是有很多疑惑,于是就抠了抠。
先尝试写了一段最最简单的代码段,下面的是汇编语言
00000000 <aaa>:
0: 55 push %ebp
1: 89 e5 mov %esp,%ebp
3: 83 ec 10 sub $0x10,%esp
6: c6 45 ff 00 movb $0x0,-0x1(%ebp)
a: 66 c7 45 fc 01 00 movw $0x1,-0x4(%ebp)
10: c7 45 f4 02 00 00 00 movl $0x2,-0xc(%ebp)
17: c7 45 f8 03 00 00 00 movl $0x3,-0x8(%ebp)
1e: 8b 45 0c mov 0xc(%ebp),%eax
21: 8b 55 08 mov 0x8(%ebp),%edx
24: 01 d0 add %edx,%eax
26: c9 leave
27: c3 ret
一开始就不太懂每次进入函数的前两个指令是什么功能,有什么作用
push