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

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

教材学习内容总结

3.1 历史观点

  • Intel处理器系列俗称x86,经历了长期的不断发展的过程。

3.2 程序编码

  • 两种抽象:由指令集体系结构或指令集架构来定义机器级程序的格式和行为;机器级程序实用的内存地址是虚拟地址,提供的内存模型看上去是一个非常大的字节数组。
  • 反汇编:带-d的OBJDUMPk可以充当这个角色。

3.3 数据格式

3.4 访问信息

  • 数据传送指令有三种:movb(传送字节)、movw(传送字)和movl(传送双字)。

  • pushl数据压栈,popl数据出栈。采用先进后出的原则。栈顶地址小,栈底地址大。IA32栈向低地址方向增长。所以push指令减小栈指针。

  • 整数操作指令
    addl、subl、andl、xorl

  • 跳转指令jmp、jle、jl、je、jne、jge、jg

  • 条件传送指令
    只有当条件码满足所需要的约束时,才会更新目的寄存器的值。
    cmovle、cmovl、cmove、cmovne、cmovge、cmovg

3.5 算术和逻辑操作

  • 加载有效地址 leaq

3.6 控制

  • 常用条件码:CF:进位标志 ZF:零标志 SF:符号标志 OF:溢出标志

3.7过程

  • call指令:后接被调用过程的起始的指令地址。效果是将返回地址入栈,并跳转到被调用过程的起始处。
  • ret指令:从栈中弹出地址,并跳转到这个位置。

3.8数组分配和访问

3.9异质的数据结构

3.10在机器级程序中将控制与数据结合起来

3.11浮点代码

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

  • 问题1:MOVS和MOVZ指令区别?
  • 问题1解决方案:实际上没有MOVS这条指令,只有MOVSB、MOVSW、MOVSD等,串操作需要明确数据类型,B表示BYTE,W表示WORD,D表示DWORD。MOVS符号位扩展,MOVZ零扩展(高位0填充)

20155204

1071529-20171022231647881-408596774.png

本周结对学习情况

- [20155203](http://www.cnblogs.com/xhwh/p/7711946.html)
- 结对学习内容
    实验内容、实验报告、mybash、一起读书。

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周200/2002/220/20
第二周300/5002/418/38
第三周500/10003/722/60
第四周300/13002/930/90
第五周200/15002/1110/100

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

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

  • 计划学习时间:10小时

  • 实际学习时间:10小时

  • 改进情况:

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

参考资料

转载于:https://www.cnblogs.com/20155204wh/p/7712456.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值