• 2019-2020-1 20175310 《信息安全系统设计基础》第3周学习总结


    2019-2020-1 20175310 《信息安全系统设计基础》第3周学习总结

    教材学习内容总结

    本周学习了《程序的机器级表示》这一章,主要的知识点如下:

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

    • 问题1:
      习题3.23
    • 问题1解决方案:
      A.由于2~5行上寄存器%rax%rcx%rdx分别被初始化为xx*xx+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.由题可知目标偏移量为0xffffff73nop指令地址为0x4005ed,所以jmpq地址为0x400560

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

    本周只有一个代码需要调试,且较为简单,因此没有问题。

    代码托管

    上周考试错题总结

    • 问题1:
      在采用补码运算的32位机器上,下列表达式的结果为0的是()

    A .-2147483647-1 == 2147483647U

    B .-2147483647-1 < 2147483647

    C .-2147483647-1U < 2147483647

    D .-2147483647-1 < -2147483647

    • 问题1解决方案:

    • 问题2:
      0<=x,y<2^w, 则

    A .x+y的最大值是2^w

    B .x+y的最大值是2^w-1

    C .x+y的最大值是2^w-2

    D .x+y的最大值是2^(w+1)

    E .x+y的最大值是2^(w+1)-1

    F .x+y的最大值是2^(w+1)-2

    • 问题2解决方案:

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 66/66 1/1 10/10
    第二周 139/205 1/2 15/25
    第三周 351/556 1/3 13/38

    参考资料

    教材导读与每周考试重点
    《深入理解计算机系统V2》学习指导

  • 相关阅读:
    Java之JVM调优案例分析与实战(3)
    Java之JVM调优案例分析与实战(2)
    Java之JVM调优案例分析与实战(1)
    Creating a Fragment: constructor vs newInstance()
    Patterns-Observer
    Global Times 单词(日常收集)
    Unity3D入门工具介绍(一)
    指定安装应用程序移至SD卡(App2SD)
    Android源代码目录结构(转)
    技术路线的选择重要但不具有决定性(转)
  • 原文地址:https://www.cnblogs.com/xicyannn/p/11569785.html
Copyright © 2020-2023  润新知