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

    2018-2019-1 20165225《信息安全系统设计基础》第四周学习总结


    教材学习内容总结

    • 程序员的可见状态如下:

    • image

    Y86-64状态码:
    名字 含义
    1 AOK 正常操作
    2 HLT 遇到器执行halt指令
    3 ADR 遇到非法地址
    4 INS 遇到非法指令
    寄存器
    • 一个x86-64的CPU包含一组16个存储64位的通用目的寄存器。这些寄存器用来存储整数数据和指针。下图展示了这16个寄存器:

    • image

    Y86-64指令及字节序列
    • 课本P246图4-2展示了Y86-64指令集,在后面的学习中也经常需要查看并分析这个图表。

    • image

    Y86-64的顺序实现
    取指:从内存读取指令字节
    译码:从寄存器文件读入最多两个操作数
    执行:算术/逻辑单元执行指令致命的操作、计算内存引用的有效地址;或增加/减少指针。
    访存:将数据写入内存或从内存读出数据。
    写回:最多可以写两个结果到寄存器文件
    更新:将pc设置成下一条指令的地址
    
    SEQ顺序
    取指:将程序计数器寄存器作为地址,指令内存读取指令的字节
    译码:从读端口A、B同时读寄存器值valA和valB
    执行:根据指令类型,将算术/逻辑单元用于不同的目的
    访存:数据内存读出或写入一个内存字
    写回:两个文件端口分别用来写ALU计算出来的值和写从数据内存中独处的值
    pc更新
    
    HCL
    • image

    • image

    • image

    • image

    熟悉各个指令的运行过程和值的变化(图就不一一列出了)
    • movq指令:
    irmovp 、rrmovq 、mrmovq 、rmmovq。
    

    整数操作指令 :

    addq 、 subq 、 andq 、xorq。
    

    跳转指令:

    jmp 、 jle 、 jl  、je 、 jne 、 jge 、jg。
    

    条件传送指令:

    cmovle 、 comvl 、 cmove 、 cmovne 、comvge 、 cmovg。
    
    • call指令将返回地址入栈,ret从这样的调用中返回。 pushq指令入栈,popq指令出栈。 halt指令停止指令的执行。

    • image

    本周错题总结

    Y86-64中()指令没有访存操作.
    
    A .rrmovl
    
    B .irmovq
    
    C .rmmovq
    
    D .pushq
    
    E .jXX
    
    F .ret
    
    正确答案: A B E  你的答案: A B
    
    一个典型的寄存器文件包括()
    
    A .读端口
    
    B .控制端口
    
    C .写端口
    
    D .时钟
    
    正确答案: A C D  你的答案: C D
    

    结对学习

    • 本周依然和5221同学一起复习。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 3500行 12 14小时
    第一周 63/150 1/12 3小时
    第二周 150/150 2/12 10小时
    第三周 150/150 3/12 13小时
    第四周 97/150 4/12 10小时
  • 相关阅读:
    怎么安装Python?
    Ramnit蠕虫病毒分析和查杀
    Exphub[漏洞利用脚本库]
    SMBv3远程代码执行漏洞复现(CVE-2020-0796)
    Tomcat AJP 文件包含漏洞复现(CVE-2020-1938)
    Fastjson远程代码执行漏洞复现
    信息收集之——旁站、C段
    Redis未授权访问漏洞复现与利用
    CSS
    MVC控制器路由
  • 原文地址:https://www.cnblogs.com/nmsl123/p/9826352.html
Copyright © 2011-2022 走看看