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

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

    教材学习内容总结

    ISA(集体系结构):一个处理器支持的指令和指令的字节级编码
    程序员可见状态:Y86-64程序中的每条指令都会读取或修改处理器状态的某些部分每个程序存储一个64位字
    3个一位条件码(ZF、SF和OF):他们保存着最近的算术或逻辑指令所造成影响的有关信息
    程序计数器(PC)存放当前正在执行指令的地址
    内存从概念上来说就是一个很大的字节数组,保存着程序和数据。
    Y86-64程序用虚拟地址来引用内存位置

    Y86-64指令集基本上是x86-64指令集的一个子集,只包括8字节整数操作,寻址方式比较少,操作也较少。不允许从一个内存地址直接传送到另一个内存地址,也不允许将立即数传送到内存。
    movq指令分成了4个不同的指令:irmovq、rrmovq、mrmovq、rmmovq。第一个字母就表明了源的类型,第二个字母指明了目的的类型

    四个操作数指令:addq、subq、andq、xorq。只允许对寄存器数进行操作。7个跳转指令:jmp、jle、jl、je、jne、jge、jg。
    每条指令需要1-10x个字节不等。每条指令的第一个字节表明指令的类型。这个字节分为两个部分,每部分4位:高4位是代码部分,低4位是功能部分。代码值为0~0xB功能值只有在一组相关指令共用一个代码时才有用。
    15个寄存器中每个都有一个相对应的范围在0到0xE之间的寄存器标识符。有的指令需要一个附加的4字节常数字作为立即数数据或地址指示符偏移量或分支指令和调用指令的目的地址。所有整数采用小端法编码。

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

    (一个模板:我看了这一段文字 (引用文字),有这个问题 (提出问题)。 我查了资料,有这些说法(引用说法),根据我的实践,我得到这些经验(描述自己的经验)。 但是我还是不太懂,我的困惑是(说明困惑)。【或者】我反对作者的观点(提出作者的观点,自己的观点,以及理由)。 )

    • 问题1:看到出现了nop指令,不知道这个指令是干什么的,我查了一下百度,发现就是通过nop指令的填充(nop指令一个字节),使指令按字对齐,从而减少取指令时的内存访问次数。
    • 问题1解决方案:查阅百度

    代码托管

    上周考试错题总结

    第三章的

    本周结对学习情况

    - [20155338](http://www.cnblogs.com/Hdywan/p/7788278.html)
    

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 200/200 2/2 20/20
    第二周 300/500 2/4 18/38
    第三周 500/1000 3/7 22/60
    第四周 300/1300 2/9 30/90
    第五周 400/1700 2/11 30/90
    第六周 300/2000 3/14 30/90
    第七周 200/2200 3/17 15/105

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

  • 相关阅读:
    PyQt5库结构
    PyQt5
    QObject
    os.listdir()
    os.getcwd()
    os.chdir()
    os.access()
    __name__
    php 学习笔记之关于时区的那点事
    php 学习笔记之搭建开发环境(mac版)
  • 原文地址:https://www.cnblogs.com/zhuanyedajiesanshinian/p/7788852.html
Copyright © 2011-2022 走看看