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

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

教材学习内容总结

对于机器级编程依靠两种抽象:

  1. 指令集体系结构(ISA):定义了机器级程序的格式和行为。大多说ISA将程序行为描述为好像每条指令都是按顺序执行。
  2. 机器级程序使用的内存地址是虚拟地址,内存模型是一个非常大的字节数组。

movl会把寄存器的最高4字节置0,即任何为寄存器生成32位值的指令都会把该寄存器的高位部分置成0.

movq:将32位补码,符号扩展为64位。

movabsq:以任意64位立即数作为源操作数,并且只能以寄存器作为目的。

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

  • 问题1:练习题3.1中,寻址方式:260(%rcx,%rdx),开始我直接用260+R[%rcx]+[%rdx],寻址错误。

  • 问题1解决方案:仔细检查后发现,应该用260的十六进制0x104+R[%rcx]+[%rdx]

  • 问题2:练习题3.3中,movb $0xf , (%ebx),这行代码的错误原因是%ebx不能作为地址寄存器。

  • 问题2解决方案:看了几篇资料没说为什么……

什么时候应该使用ebx这个寄存器

3.3题解答

  • 问题3:练习题3.9中,在将移位量放入%cl中时,移位量存放在%rsi中。是movl %esi , %ecx;但移位量仅由cl决定啊,为什么不直接是movb %sil , %cl;
  • 解决方案:尚未解决。

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

  • 问题1:
    解决方案:

代码托管

image

结对及互评

点评模板:

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

本周结对学习情况

- [结对同学学号1](博客链接)
- 结对照片
- 结对学习内容
    - XXXX
    - XXXX
    - ...

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

读教材第一遍也许读不懂,但隔几天,多读几遍就会有新的理解,再写写书上的示范程序,对内容的理解就更好了。

学习进度条

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