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

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

教材学习内容总结

  1. ISA就是一个处理器支持的指令和指令的字节级编码。
  2. 理解函数调用栈帧的概念,并能用GDB进行调试: GDB对于栈帧的调试可以分为以下几方面的内容  up n 向上回退n个栈帧(更外层),n默认为1; down n 向下前进n个栈帧(更内层),n默认为1.;up-silently n up n相同,但是不打印信息。; down-silently n down n相同,但是不打印信息。
  3. 使用gcc编译代码:b- 字节 1  ;short w- 字 2; int l- 双字 4; long l- 双字 4; long long int - 8 ;char * l- 双字 4; float s- 单精度 4; double l- 双精度 8 ;long double t- 扩展精度 10/1
int exchange(int *xp, int y){                                 
    int x =  *xp;  
    *xp = y;  
    return x;  
}  
  
//*********汇编代码******/  
//1 movl 8(%ebp),%eax   Get xp  
//2 movl 12(%ebp),%edx  Get y  
//3 movl (%eax),%ecx    Get x at *xp  
//4 movl %edx,(%eax)    Store y at *xp  
//5 movl %ecx,%eax      Set x as return value   

        4. 编译过程

     

  gcc -Og -S xx.c可以产生汇编文件

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

 

  • 问题1:idivl 与 divl区别
  • 问题1解决方案:在idivl这个指令执行的过程中,其实对被除数进行了符号扩展,类似于cltd指令,或者有时也会将%eax移动到%edx,然后对%edx进行算术右移31位的运算。这两种方式的结果是一样的,都是将%eax符号扩展32位并存储在%edx当中

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

  • 问题1:XXXXXX
  • 问题1解决方案:XXXXXX
  • 问题2:XXXXXX
  • 问题2解决方案:XXXXXX
  • ...

代码托管

 

(statistics.sh脚本的运行结果截图)

上周考试错题总结

    • 11.gcc hello.c产生的a.out属于()
      • A .可重定位目标文件
      • B .可执行目标文件
      • C .共享目标文件
      • D .目标模块或目标文件
    • 17.链接器的重要性在于可以支持()
      • A .静态库
      • B .动态库
      • C .分离编译
      • D .调试
  • ...

结对及互评

点评模板:

  • 博客中值得学习的或问题:
    • xxx
    • xxx
    • ...
  • 代码中值得学习的或问题:
    • xxx
    • xxx
    • ...
  • 其他

本周结对学习情况

- 20155301
- 结对照片
- 结对学习内容
    - 第三章
    - ...

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

通过这一章的学习,我不仅复习了上学期所学的汇编知识,也对汇编知识有了一个更新的了解。

学习进度条

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

  • 改进情况:

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

参考资料

  

原文地址:https://www.cnblogs.com/wxwddp/p/7711295.html