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

本文总结了《信息安全系统设计基础》课程第三周的学习内容,包括程序的机器级表示、计算机系统的重要抽象如ISA(指令集体系结构)、存储器系统的实际实现、汇编代码的特点、GCC命令的工作原理、IA32的栈帧结构等关键概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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的大小。单操作符&用来产生地址,用来间接引用地址。

转载于:https://www.cnblogs.com/challengeeverthing/p/9786223.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值