zoukankan      html  css  js  c++  java
  • 20155325 2017-2018-1 《信息安全系统设计基础》第七周学习总结

    教材学习内容总结

    • x86-64的movq指令:irmovq,rrmovq,mrmovq,rmmovq。分别显式地指明源和目的的格式。i-立即数,r-寄存器,m-内存。
    • 操作指令(详见P246)

    1.四个整数操作指令

    2.7个跳转指令

    3.6个条件传送指令

    4.ret,call,pushq,popq,halt

    • 指令编码
      第一个字节:高四位-代码,低四位-功能(只有在一组相关指令共用一个代码时才有用)

    • Y86-64 异常

    State值 名字 含义
    1 ACK 正常操作
    2 HLT 遇到器执行halt指令
    3 ADR 遇到非法地址
    4 INS 遇到非法指令

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

    • 问题1:P248习题4.1如何手工对指令编码
    • 问题1解决方案:看书总结出一段套路:

    eg. irmovq $15,%rbx

    1.看指令 ,在P246图4-2和P247 图4-3找到对应的格式
    30 F rB V

    2.在P247中间的表找寄存器rB V位置对应的数字

    3.如果有立即数,比如$15。此时都是十进制,转化为十六进制0x00 00 00 00 00 00 00 0f(在Y86-64中常数总8字节。,),然后两位一组,反向顺序0f 00 00 00 00 00 00 00。

    结果:30f30f00000000000000

    这一条指令地址0x100,两个数算一个字节,所以这一条指令占10个字节,则下一条指令的地址0x10a

    • 问题2:P251Y86-64 code中strat++;的汇编是
    irmovq $8,%r8;
    ……
    addq %r8,%rdi;
    

    不理解为什么要+8

    • 问题2解决方案:经过大佬佳的指点,在P252里,传到这个函数里的是个数组,所以start++本身的意思是指向数组中的下一个数字,又因为start是个指针本身是个地址,所以+8 。

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

    • 问题1:在做实验二-4国密算法运行失败

    • 问题1解决方案:gcc sm4test.c sm4.c

    代码托管

    结对

    • 本周结对学习情况
      • 20155328
      • 结对照片
      • 结对学习内容
        • 第四章

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 16篇 400小时
    第1周 9/9 1/1 19/19 熟练下载安装技能,锻炼解决问题能力
    第2周 380/389 2/3 26/45 1、7章
    第3,4周 1270/1659 3/6 42/87 2、10章
    第5周 20/1679 2/8 30/117 实验一&3章
    第6周 223/1902 1/9 20/137 课堂测试、课下作业、第八章
    第7周 3020/4770 2/11 20/157 实验二、第四章

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

    • 计划学习时间:20小时

    • 实际学习时间:20小时

    • 改进情况:

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

    参考资料

  • 相关阅读:
    mysql复习相关
    OpenStack三种类型的NAT转换
    openstack资料相关
    [转]Web 调试工具之 Advanced REST client
    [转]Aspose.Words.dll 将 Word 转换成 html
    [Android] 开发第十天
    [win10]遇坑指南
    [转]Explorer.exe的命令行参数
    [Android] 开发第九天
    [Android] 开发第八天
  • 原文地址:https://www.cnblogs.com/GDDFZ/p/7787976.html
Copyright © 2011-2022 走看看