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

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

    教材学习内容总结

    一. 信息的储存

    • 1.运用gcc -O1 -S code.c得到C编译器产生的代码
    • 2.运用gcc -O1 -c code.c将编译并汇编该代码得到二进制文件code.o
    • 3.运用objdump -d code.o可以实现反汇编
    • 4.以'.'开头的行都是知道汇编器和链接器的命令。
      • 指令集体系结构(ISA):定义了机器级程序的格式和行为。大多说ISA将程序行为描述为好像每条指令都是按顺序执行。
      • 机器级程序使用的内存地址是虚拟地址,内存模型是一个非常大的字节数组。

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

    • 问题1:如何查看一个程序的汇编代码
      问题1解决方案:

    gcc -S -o main.s main.c -m32
    cat main.s 可以查看汇编代码。

    为了读懂汇编代码,要先搞清楚这些寄存器的作用。
    lEAX、ECX、EDX、EBX寄存器的作用

    EAX 是"累加器"(accumulator), 它是很多加法乘法指令的缺省寄存器。
    EBX 是"基地址"(base)寄存器, 在内存寻址时存放基地址。
    ECX 是计数器(counter), 是重复(REP)前缀指令和LOOP指令的内定计数器。
    EDX 则总是被用来放整数除法产生的余数。
    ESI/EDI分别叫做"源/目标索引寄存器"(source/destination index),因为在很多字符串操作指令中, DS:ESI指向源串,而ES:EDI指向目标串.
    EBP是"基址指针"(BASE POINTER), 它最经常被用作高级语言函数调用的"框架指针"(frame pointer).

    • 问题2: 如何查看一个程序的反汇编代码
      问题2解决方案:

    gcc -S xxx.c -o xxx.s
    nblogs.com/blog/1071612/201710/1071612-20171024210717676-547052151.png)

    获得反汇编代码!

    • 问题3:操作数的格式

    • 问题4:IA32数据格式:
      Intel用术语“字”表示16位数据类型,因此,称32位数为“双字”,称64位数为“四字”

    • 问题5:寄存器的理解

    本周结对学习情况

    - [20155324](http://www.cnblogs.com/wang5324/p/7616183.html)
    - 结对照片 无
    

    其他(感悟、思考等,可选)

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 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

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

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

    • 计划学习时间:XX小时

    • 实际学习时间:XX小时

    • 改进情况:

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

    参考资料

  • 相关阅读:
    快速排序(详解)
    14.linux-platform机制实现驱动层分离(详解)
    13.Linux键盘按键驱动 (详解)
    Linux-hexdump命令调试event驱动—详解(13)
    Android开发final的用法
    Android控件RecyclerView的基本用法
    搜索关键词分析——以个人博客网站为例
    java.net.SocketException: Software caused connection abort: socket write error
    Android layout属性大全
    java中 label 配合 break continue 使用方法
  • 原文地址:https://www.cnblogs.com/besti2015/p/7712514.html
Copyright © 2011-2022 走看看