zoukankan      html  css  js  c++  java
  • 2017-2018-1 20155204 《信息安全系统设计基础》第五周学习总结

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

    教材学习内容总结

    3.1 历史观点

    • Intel处理器系列俗称x86,经历了长期的不断发展的过程。

    3.2 程序编码

    • 两种抽象:由指令集体系结构或指令集架构来定义机器级程序的格式和行为;机器级程序实用的内存地址是虚拟地址,提供的内存模型看上去是一个非常大的字节数组。
    • 反汇编:带-d的OBJDUMPk可以充当这个角色。

    3.3 数据格式

    3.4 访问信息

    • 数据传送指令有三种:movb(传送字节)、movw(传送字)和movl(传送双字)。

    • pushl数据压栈,popl数据出栈。采用先进后出的原则。栈顶地址小,栈底地址大。IA32栈向低地址方向增长。所以push指令减小栈指针。

    • 整数操作指令
      addl、subl、andl、xorl

    • 跳转指令jmp、jle、jl、je、jne、jge、jg

    • 条件传送指令
      只有当条件码满足所需要的约束时,才会更新目的寄存器的值。
      cmovle、cmovl、cmove、cmovne、cmovge、cmovg

    3.5 算术和逻辑操作

    • 加载有效地址 leaq

    3.6 控制

    • 常用条件码:CF:进位标志 ZF:零标志 SF:符号标志 OF:溢出标志

    3.7过程

    • call指令:后接被调用过程的起始的指令地址。效果是将返回地址入栈,并跳转到被调用过程的起始处。
    • ret指令:从栈中弹出地址,并跳转到这个位置。

    3.8数组分配和访问

    3.9异质的数据结构

    3.10在机器级程序中将控制与数据结合起来

    3.11浮点代码

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

    • 问题1:MOVS和MOVZ指令区别?
    • 问题1解决方案:实际上没有MOVS这条指令,只有MOVSB、MOVSW、MOVSD等,串操作需要明确数据类型,B表示BYTE,W表示WORD,D表示DWORD。MOVS符号位扩展,MOVZ零扩展(高位0填充)

    20155204

    本周结对学习情况

    - [20155203](http://www.cnblogs.com/xhwh/p/7711946.html)
    - 结对学习内容
        实验内容、实验报告、mybash、一起读书。
    

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 200/200 2/2 20/20
    第二周 300/500 2/4 18/38
    第三周 500/1000 3/7 22/60
    第四周 300/1300 2/9 30/90
    第五周 200/1500 2/11 10/100

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

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

    • 计划学习时间:10小时

    • 实际学习时间:10小时

    • 改进情况:

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

    参考资料

  • 相关阅读:
    初识C++
    Linux下死锁的调研
    C语言实现单链表面试题(进阶篇)
    C语言实现单链表面试题(基础篇)
    IPC之—共享内存
    IPC之—信号量
    IPC之—消息队列
    初识多线程
    Mysql5.7安装
    RabbitMQ单节点安装/使用!
  • 原文地址:https://www.cnblogs.com/20155204wh/p/7712456.html
Copyright © 2011-2022 走看看