• 2017-2018-1 20155226《信息安全系统设计基础》第5周学习总结


    2017-2018-1 20155226《信息安全系统设计基础》第5周学习总结

    教材学习内容总结

    • ISA:定义了处理器状态,指令的格式,每条指令对状态的影响。

      gcc -O1 -S text.c

    • 寻址方式经历的三代
    1. DOS时代的平坦模式,不区分用户空间和内核空间,很不安全

    2. 8086的分段模式

    3. IA32的带保护模式的平坦模式

    • 寄存器
    • 程序计数器(在IA32中,通常称为“PC”,用%eip表示)

    指示将要执行的下一条指令在存储器中的地址。

    • 整数寄存器

    包含8个命名的位置,分别存储32位的数值,这些寄存器可以存储地址(对应C语言的指针)或整数数据,有的寄存器被用来记录某些重要的程序状态,其他的寄存器用来保存临时数据,例如过程的局部变量和函数的返回值。

    • 条码寄存器

    保存着最近执行的算术或逻辑指令的状态信息,他们用来实现控制或数据流中的条件变化。

    • 浮点寄存器

    一组浮点寄存器存放浮点数据

    • 8位寄存器有: AH、AL、BH、BL、CH、CL、DH和DL等;

    • 16位寄存器有:AX、BX、CX、DX、SI、DI、SP、BP和段寄存器等;

    • 32位寄存器有:EAX、EBX、ECX、EDX、ESI、EDI、ESP和EBP等。

    内存中的变量存储的是其偏移地址.

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

    • 寻址方式

    • 操作数:立即数($9)、寄存器(%eax)、存储器

    • 有效地址=立即数+基址寄存器的值+变址寄存器的值*比例因子

    • CMP和SUB

    • CMP是不会改变源操作数的减法,只是做比较之后改变标志位。

    • SUB是会改变源操作数的减法。

    • 64位机器上想要得到32代码:gcc -m32 -S xxx.c

    代码托管

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 25/50 1/1 10/10
    第五周 25/157 2/5 25/75

    尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
    耗时估计的公式
    :Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

    参考:软件工程软件的估计为什么这么难软件工程 估计方法

    • 计划学习时间:20小时

    • 实际学习时间:25小时

    (有空多看看现代软件工程 课件
    软件工程师能力自我评价表
    )

    参考资料

  • 相关阅读:
    官网英文版学习——RabbitMQ学习笔记(四)Work queues
    官网英文版学习——RabbitMQ学习笔记(三)Hello World!
    官网英文版学习——RabbitMQ学习笔记(二)RabbitMQ安装
    微服务中springboot启动问题
    nodejs-mime类型
    nodejs-mime类型
    const isProduction = process.env.NODE_ENV === 'production'; 作用
    单向绑定
    建立Model
    使用Sequelize
  • 原文地址:https://www.cnblogs.com/20155226thy/p/7709314.html
Copyright © 2020-2023  润新知