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小时

    • 改进情况:

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

    参考资料

  • 相关阅读:
    HUST 1372 marshmallow
    HUST 1371 Emergency relief
    CodeForces 629D Babaei and Birthday Cake
    CodeForces 629C Famil Door and Brackets
    ZOJ 3872 Beauty of Array
    ZOJ 3870 Team Formation
    HDU 5631 Rikka with Graph
    HDU 5630 Rikka with Chess
    CodeForces 626D Jerry's Protest
    【POJ 1964】 City Game
  • 原文地址:https://www.cnblogs.com/GDDFZ/p/7787976.html
Copyright © 2011-2022 走看看