2018-2019-1 20165333 《信息安全系统设计基础》第三周学习总结

2018-2019-1 20165333 《信息安全系统设计基础》第三周学习总结

教材学习内容总结
程序的机器级表示:
计算机系统的两种重要抽象
ISA(Instruction set architecture):指令集体系结构,机器级程序的格式和行为。定义了处理器状态指令的格式,以及每条指令对状态的影响。
机器级程序使用的存储器地址是虚拟地址,提供的存储器模型看上去是一个非常大的字节数组。存储器系统实际表现是将多个硬件存储器和操作系统软件组合起来。

汇编代码及其特点
直接面向处理器的程序设计语言。编译器将C语言代码转化为处理器执行的基本指令,汇编语言非常接近于机器代码。
特点:可读性相较于机器代码更好的文本格式表示
1、实际上gcc命令调用了一系列程序,将源代码转化成可执行代码。
2、存储器系统的实际实现是将多个硬件存储器和操作系统软件组合起来。
3、ISA:指令集体系结构,它定义了处理器状态、指令的格式、以及每条指令对状态的影响。
4、程序计数器(在IA32中,通常称为“PC”,用%eip表示),指示将要执行的下一条指令在存储器中的地址。
5、操作系统负责管理虚拟地址空间,将虚拟地址翻译成实际处理器存储器中的物理地址。
6、如果我们想要在64位机器上得到32位代码,可以使用指令gcc -m32 -S xxx.c
7、IA32使用栈帧结构来支持过程调用。为单个过程分配的那部分栈称为栈帧。栈指针可以移动,因此大多数信息的访问都是相对于栈帧的。注意,假设过程P(调用者)调用过程Q(被调用者),那么Q的参数放在P的栈帧中。同时,P的返回地址被压入栈中。
8、和我们平常学习的栈有些不同:在栈帧中,栈向低地址方向增长。所以,如果我们想要增大栈的空间,要做的是将栈指针的值减小而不是增大。
9、关于汇编的相关指令,在上学期的汇编课程中我们已经总结完毕,在此就不再重复总结。
10、关于C语言的指针运算:如果p是一个指向类型为T的数据的指针,p的值为x,那么表达式p+i的值为x+Li,其中L是T的大小。单操作符&用来产生地址,用来间接引用地址。

posted @ 2018-10-14 14:14  20165333陈国超  阅读(130)  评论(1编辑  收藏  举报