20145202 《信息安全系统设计基础》第5周学习总结(2)

20145202 《信息安全系统设计基础》第5周学习总结(2)

教学内容总结

1.DOS时代的平坦模式,不区分用户空间和内核空间,很不安全。
2.8086的分段模式。
3.IA32的带保护模式的平坦模式。

  • gcc -S xxx.c -o xxx.s可以获得汇编代码,也可以用objdump -d xxx反汇编,建立函数应调用栈帧。

  • 所有以.开头的命令行都是指导汇编器和链接器的命令,我们通常可以忽略。

  • Intel术语用字表示16位数,双字表示32位数,四字表示64位数。

  • 二进制文件可以用od命令查看,也可以用gdb的x命令来查看。如果输入内容过多的话可以用more或者less命令结合管道查看。

  • esi和edi可以用来操作数组,esp和ebp可以用来操作栈帧。

  • ax中ah和al时独立的。

  • 操作数有三种类型:立即数,寄存器,存储器。

  • 有效地址的计算方式:lmm(Eb,Ei,s)=lmm+R[Eb]+R[Ei]*s.

  • mov的作用时赋值。

  • push和pop时栈中使用的,栈的特点是后入先出。而且栈顶元素的地址使所有栈中元素地址中最低的。

  • 指针就是地址,局部变量保存在寄存器中。

  • movl对应%eax至%ebp,movb对应%ah至%bh,%al至%bl,movw对应%ax至%bp。

  • leal S,D:把S的地址赋予D,目标操作数必须是一个寄存器。

  • 立即数的传送

  • 左移右移

  • 四则运算

  • 比较

  • 循环

  • goto语句

实验楼中的学习

代码托管

http://git.oschina.net/tuolemi/haha

posted @ 2016-10-16 20:09  20145202马超  阅读(168)  评论(2编辑  收藏  举报