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

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

教材学习内容总结

  • 存储器系统的实际实现是将多个硬件存储器和操作系统软件组合起来。
  • 有效地址的计算方式 Imm(Eb,Ei,s) = Imm + R[Eb] + R[Ei]*s
  • ISA:指令集体系结构,它定义了处理器状态、指令的格式、以及每条指令对状态的影响。
  • 如果我们想要在64位机器上得到32位代码,可以使用指令gcc -m32 -S xxx.c
  • C语言数据类型在X86中对应的表示

  • gcc -S xxx.c -o xxx.s获得汇编代码,也可以用objdump -d xxx反汇编;
  • 栈帧:过程活动记录,是编译器用来实现过程/函数调用的一种数据结构。逻辑上讲,栈帧就是一个函数执行的黄精:函数参数、函数的局部变量、函数执行完后返回到哪里等等。
  • 在栈帧中,栈向低地址方向增长。所以,如果我们想要增大栈的空间,要做的是将栈指针的值减小而不是增大。每个函数的每次调用都有自己独立的一个栈帧,即里面维持着所需要的各种信息。寄存器ebp指向当前的栈帧的地步(高地址),寄存器esp指向当前的栈帧顶部(低地址)。
  • 运行GCC编译器产生一个汇编文件code.s:

    gcc -Og -S code.c

  • 使用-c命令选项,GCC编译并汇编该代码得到code.o:

    gcc -c code.c

教材学习中的问题和解决过程

  • 问题1:leap指令和movq指令有什么区别?
  • 问题1解决方案:movq指令属于MOV类(最简单形式的数据传送指令),movq表示传递4字节。而leap是从内存读数据到寄存器,但实际上并未引用内存。
  • 问题2:-0g表示什么优化等级,优化等级有哪些?
  • 问题1解决方案:

    编译选项-Og告诉编译器使用会生成符合原始C代码整体结构的机器代码的优化等级。从得到的程序性能考虑,较高级别的优化(-O1或者-O2)

    代码调试中的问题和解决过程

    暂无

代码托管

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第二周 30 1/1 8
第三周 198/228 2/3 12/20
第四周
第五周

反思

最近学习状态非常不好,对待学习的态度也有所懈怠。上周考试给我敲响了警钟,在接下来的日子里,要好好的认真的弥补欠下的帐。

原文地址:https://www.cnblogs.com/tiankunye/p/9787025.html

时间: 2024-10-01 04:03:49

# 2018-2019-1 20165230 《信息安全系统设计基础》第三周学习总结的相关文章

信息安全系统设计基础第三周学习总结

要点概括: 一.三种最重要的数字表示:    无符号数,有符号数(二进制补码),浮点数 从逆向考虑为什么产生漏洞: 结果太大不能表示时产生溢出,得到了负的结果.   二.信息存储 1.进制转换:以二进制作为桥梁. 2.字长:32位 64位 3.数据大小:单精度(4字节),双精度(8字节) 4.声明指针: 对于任何数据类型T,声明 T *p: 表明p是一个指针变量,指向一个类型为T的对象. 5.gcc –m32 可以在64位机上生成32位的代码. 6.寻址和字节顺序:    字节顺序是网络编程的基

20135223何伟钦—信息安全系统设计基础第三周学习总结

信息的表示和处理 2.0三种数字表示 无符号:编码基于传统的二进制表示法,表示大于或者等于零的数字. 补码:编码是表示有符号整数的最常见的方式,有 符号整数就是可以为正或者为负的数字. 浮点数:编码是表示实数的科学记数法 的以二为基数的版本. 溢出(overflow)的例子:使用 32 位来表示数据类型int,计算表达式200*300*400*500会得出结果 -884 901 888. 这违背了整数运算的特性,计算一组正数的乘积不应产生一个为负的结果. 2.1信息存储 机器级程序将存储器视为一

20135327郭皓——信息安全系统设计基础第三周学习总结

第2章 信息的表示和处理 三种重要的数字表现形式: 1. 无符号数:编码基于传统的二进制表示法,表示大于或等于零的数字. 2. 补码:编码是表示有符号整数的最常见方法,有符号整数就是可以为正或者是负的数字. 3. 浮点数:编码是表示实数的科学计数法的以二位基数的版本 2.1 信息储存 大多数计算机使用8位块,或者字节,作为最小的可寻址的储存器单位,而不是在储存器中访问单独的位. 虚拟储存器:机器级程序将储存器视为一个非常大的字节数组. 地址:储存器的每个字节的唯一的数字标识. 虚拟地址空间:所有

信息安全系统设计基础第三周学习总结 ---20135334 赵阳林

第2章 信息的表示和处理 三种最重要的数字表示: * 无符号 * 补码 * 浮点数 运算: * 整数运算 * 浮点运算 对比: 整数运算只能编码相对较小的范围,但是是精确的: 浮点运算可以编码一个较大的范围,但是是近似的:浮点运算不可结合. 注意:溢出——运算位数的限制 第一节 信息存储 计算机最小的可寻址的存储器单位——字节 一个字节的值域:00H-FFH 一.十六进制表示法 1. C表示法 以0x或0X开头的数字常量为十六进制 2. 进制转换 常用进制:二进制(B),十进制(D),八进制(O

20135210程涵——信息安全系统设计基础第三周学习总结

本次学习任务:仔细研读<深入理解计算机系统>第二章内容,掌握整数表示.浮点数表示及其运算 一.学习过程 三种重要的数字表现形式: 无符号数:编码基于传统的二进制表示法表示大于或等于零的数字. 补码:编码是表示有符号整数的最常见方法,可以是正或者是负的数字. 浮点数:编码是表示实数的科学计数法的以二位基数的版本 溢出:计算机的表示法是用有限数量的位来为一个数字编码,因此当结果太大就会导致某些运算溢出. 整数和浮点数会有不同的数学属性是因为处理数字表示有限性的方法不同. (整数是编码相对较小的数值

信息安全系统设计基础第三周学习总结—20135227黄晓妍

一.Vim编辑器 1.Vim的六种模式 2.Vim三种常用模式的使用方式,以及三者的切换.打开Vim即默认进入普通模式,按i进入插入模式,按esc从插入模式退出普通模式,再按:进入命令行模式. 普通模式下游标的移动 按键 说明 h 左 l 右(小写L) j 下 k 上 w 移动到下一个单词 b 移动到上一个单词 普通模式进入插入模式的方式 命令         说明 i        在当前光标处进行编辑 I        在行首插入 A       在行末插入 a       在光标后插入编辑

信息安全系统设计基础第三周学习总结-吕松鸿

第2章 信息的表示和处理 (一).三种重要的数字表示 无符号数:编码基于传统的二进制表示法(大于或者等于零的数字). 补码:编码是表示有符号整数的最常见方式(为正或者为负的数字). 浮点数:编码是表示实数的科学记数法的以二为基数的版本. 整数的表示虽然只能编码一个相对较小的数值范围,但是是精确的:而浮点数虽然可以编码一个较大的数值范围,但是这种表示是近似的表示. 大量的计算机安全漏洞都是由于计算机运算的微妙细节引发的. (二).信息存储 计算机最小的可寻址的存储器单位——字节 一个字节的值域:0

20135219洪韶武——信息安全系统设计基础第三周学习总结

学习过程总结 一.gcc 编译 使用C99特性时 gcc -std=c99 xxx.c 实验楼环境为64位,编译为32位机器码: gcc -m32 xxx.c 二.重点注意知识点 p20: 三种数字:无符号数.有符号数(2进制补码).浮点数,信息安全系同学从逆向角度考虑为什么会产生漏洞 p22: 进制转换,注意拿二进制作中间结果就好转了 p25: gcc -m32 可以在64位机上(比如实验楼的环境)生成32位的代码 p26: 字节顺序是网络编程的基础,记住小端是“高对高.低对低”,大端与之相反

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

20165230 2018-2019-1 <信息安全系统设计基础>第二周学习总结 教材学习内容总结 排列表示一个对象的字节有两个通用的规则:小端法(最低有效字节在最前面)和大端法(最高有效字节在前面). 表达式x>>k会将x算术右移k(左端补k个有效位)个位置,而x>>>k会对k做逻辑(左端补k个0)右移. 要将一个补码数字转换为一个更大的数据类型,可执行一个符号扩展. long:32位机器:4字节:64位机器:8字节 负数的范围比整数的范围大1 无符号数的编码:

20145216 史婧瑶《信息安全系统设计基础》第一周学习总结

20145216 <信息安全系统设计基础>第一周学习总结 教材学习内容总结 Linux基础 1.ls命令 ls或ls .显示是当前目录的内容,这里“.”就是参数,表示当前目录,是缺省的可以省略.我们可以用ls -a .显示当前目录中的所有内容,包括隐藏文件和目录.其中“-a” 就是选项,改变了显示的内容.如图所示: 2.man命令 man命令可以查看帮助文档,如 man man : 若在shell中输入 man+数字+命令/函数 即可以查到相关的命令和函数:若不加数字,那man命令默认从数字较