博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2018-2019-1 20165206 《信息安全系统设计基础》第4周学习总结
阅读量:6983 次
发布时间:2019-06-27

本文共 1391 字,大约阅读时间需要 4 分钟。

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

- 教材学习内容总结

  • 程序员可见的状态:Y86-64程序中的每条指令都会读取或修改处理器状态的某些部分,这称为程序员可见状态。包括:程序寄存器、条件码、程序状态、程序计数器和内存。

  • Y86-64指令:Y86-64指令是x86-84指令集的一个子集。它只包括8字节整数操作。有4个整数操作指令:addq、subq、andq和xorq。有7个跳转指令:jmp、jle、jl、je、jne、jge和jg。有6个条件传送指令:cmovle、cmovl、cmove、cmovne、cmovge和cmovg。

  • 汇编机器码间的转换。

  • Y86-64状态码:

    代码值1,命名为AOK,表示正常操作;
    代码值2,命名为HLT,表示遇到器执行halt指令;
    代码值3,命名为ADR,表示遇到非法地址;
    代码值4,命名为INS,表示遇到非法指令。

  • Y86-64指令集:

    1296608-20181020174151525-101289632.png

  • Y86-64程序寄存器标识符:

    1296608-20181020174215617-1484478377.png

  • Y86-64指令集的功能码:

    1296608-20181020174223462-1420805705.png

  • Y86-64实例:

    教材上实例代码:
    1296608-20181020174244093-1349194228.png

gcc汇编及objdump反汇编后得到的x86-64代码:

1296608-20181020174251659-156071087.png

教材中给出了Y86-64的汇编代码

  • x86-64代码和Y86-64的异同点。

  • YIS环境的构建与测试:

    1296608-20181020174509444-1925045015.png

1296608-20181020174517892-927161120.png

  • 逻辑门:逻辑门是数字电路的基本计算单元。它们产生的输出,等于它们输入位值的某个布尔函数。包括:与(AND)、或(OR)和非(NOT)。

  • 组合电路:将狠多的逻辑门组合成一个网,就能构建计算块。

  • 组合电路和HCL布尔表达式

  • 字级的组合电路和HCL整数表达式

  • 实现所有Y86-64指令所需要的计算可以被组织成6个基本阶段。包括:取指、译码、执行、访存、写回合更新PC。

取指:取指阶段从内存读取指令字节,地址为程序计数器的值。

译码:译码阶段从寄存器文件读入最多两个操作数,得到相应的值,并读入指令指明的寄存器。

执行:执行阶段,ALU要么执行指令指明的操作,计算内存引用的有效地址,要么增加或减少栈指针。

访存:访存阶段可以将数据写入内存,或者从内存读出数据。

写回:写回阶段最多可以写两个结果到寄存器文件。

更新PC:将PC设置成下一条指令的地址。

  • SEQ的时序:
    SEQ的实现包括组合逻辑和两种存储器设备:时钟寄存器和随机访问存储器。

组织计算原则:从不回读。处理器从来不需要为了完成一条指令的执行而去读由该指令更新了的状态。

- 上周考试错题总结

- 错题1:

x86-64 Linux中,%rbp的值为0x108, pushq %eax后,%rbp的值为()

A .

0x100
B .
0x108
C .
0x110
D .
0x118

  • 答案:B
  • 解析:push不影响%rbp的值。

- 错题2:

x86-64中,(%rsp)寄存器用来保存运行时栈的结束位置(栈顶)。

- 错题3:

Linux汇编中,销毁栈帧的语句是( )

A .

movq %rbp, %rsp
popq %rbp
B .
leave
C .
enter
D .
pushq %rbp
movq %rsp, %rbp

  • 答案:A B
  • 解析:
    leave等价于:
    movq %rbp, %rsp
    popq %rbp

转载于:https://www.cnblogs.com/brs666/p/9822432.html

你可能感兴趣的文章
T-SQL 根据年月日创建DateTime
查看>>
【CSS进阶】CSS 颜色体系详解
查看>>
论:CMMI项目策划方法(PP)
查看>>
高可用高性能分布式文件系统FastDFS实践Java程序
查看>>
【Coursera课程笔记】Web智能和大数据Week3_MapReduce
查看>>
从头写个http client(java)
查看>>
Windows Phone笔记索引(总)
查看>>
1分钟破解3dState '学习版'得一些版权信息。
查看>>
我和linux
查看>>
动态调用webservice
查看>>
Java刷题知识点之方法覆盖(方法重写)和方法重载的区别
查看>>
爆牙齿的世界杯日记(小组首轮)
查看>>
ITTC数据挖掘平台介绍(四) 框架改进和新功能
查看>>
JDK5.0新特性系列---11.4线程 Condition
查看>>
Software development --daily scrum team
查看>>
【原】macbook不睡眠的排查与解决
查看>>
用HttpListener做web服务器,简单解析post方式过来的参数、上传的文件
查看>>
ubuntu 12.04解决Broadcom STA无线网卡驱动安装失败解决
查看>>
【CSWS2014 Summer School】互联网广告中的匹配和排序算法-蒋龙(上)
查看>>
连续启动 crash 自修复技术实现与原理解析
查看>>