2019-2020-1 20175310 《信息安全系统设计基础》第4周学习总结
教材学习内容总结
本周学习了《处理器体系结构》这一章,主要分为三大块:的知识点如下:
- Y86-64指令集体系结构
- 逻辑设计和硬件控制语言HCL
- Y86-64的顺序实现
这三部分的知识点如下:
-
Y86-64指令集体系结构
-
逻辑设计和硬件控制语言HCL
-
Y86-64的顺序实现
教材学习中的问题和解决过程
- 问题1:
习题3.23
- 问题1解决方案:
A.由于2~5行上寄存器%rax
、%rcx
和%rdx
分别被初始化为x
、x*x
和x+x
,因此可以推断,这些寄存器包含着程序变量;
而参数x通过寄存器%rdi
传递给函数,但进入循环就再也没有引用过该寄存器,因此包含程序变量的寄存器为%rax
、%rcx
和%rdx
。 - 问题2:
习题3.15
- 问题2解决方案:
A.je
指令的目标是0x4003fc+0x02=0x4003fe
B.由于0xf4
是-12的补码表示,所以je
指令的目标是0x400431-12=0x400425
C.跳转目标是绝对地址0x400547
,在pop
指令0x2
的地址处,因此为0x400545
,由于ja
编码要两个字节,因此地址为0x400543
D.由题可知目标偏移量为0xffffff73
,nop
指令地址为0x4005ed
,所以jmpq
地址为0x400560
代码调试中的问题和解决过程
本周无代码需要调试。
代码托管
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 66/66 | 1/1 | 10/10 | |
第二周 | 139/205 | 1/2 | 15/25 | |
第三周 | 351/556 | 1/3 | 13/38 | |
第四周 | 54/610 | 1/4 | 12/50 |