2017-2018-1 20155225 《信息安全系统设计基础》第五周学习总结
教材学习内容总结
对于机器级编程依靠两种抽象:
- 指令集体系结构(ISA):定义了机器级程序的格式和行为。大多说ISA将程序行为描述为好像每条指令都是按顺序执行。
- 机器级程序使用的内存地址是虚拟地址,内存模型是一个非常大的字节数组。
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解决方案:看了几篇资料没说为什么……
- 问题3:练习题3.9中,在将移位量放入%cl中时,移位量存放在%rsi中。是movl %esi , %ecx;但移位量仅由cl决定啊,为什么不直接是movb %sil , %cl;
- 解决方案:尚未解决。
代码调试中的问题和解决过程
- 问题1:
解决方案:
代码托管
结对及互评
点评模板:
- 博客中值得学习的或问题:
- 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小时
-
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)