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

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

    学习总结

    • 程序编码:gcc命令调用一整套的程序将源代码转化为可执行文件。
      首先,C预处理器扩展源代码;
      其次,编译器产生源文件的汇编代码;
      然后,汇编器将汇编代码转为二进制目标代码文件;
      最后,链接器将目标代码文件与实现库函数的代码合并,产生可执行代码文件。

    • 机器级编码的两个抽象:
      第一种是ISA(信安协会?),即指令集体系结构或指令集架构,定义了处理器状态、指令的格式,以及每条指令对状态的影响。
      第二种是机器级程序使用的内存地址是虚拟地址。

    • 汇编与反汇编:
      查看C语言编译器产生汇编代码的指令:gcc -Og -S main.c

    gcc编译并汇编的指令:gcc -Og -c main.c

    反汇编的指令:objdup -d main.o

    • 计数器与寄存器
      程序计数器:给出将要执行的下一条指令在内存中的地址

    整数寄存器:存储地址或整数数据

    条纹寄存器:保存最近执行的算数或逻辑指令的状态信息

    浮点寄存器:可存放一个或多个整数或浮点数值

    • 操作数的三种类型:
      第一种是立即数,用来表示常数值。
      第二种是寄存器,表示某个寄存器的内容。
      第三种是内存引用,根据有效地址访问某个内存位置。

    • 有效地址计算公式:
      一个立即数偏移Imm,一个基址寄存器rb,一个变址寄存器ri,一个比例因子s,有效地址被计算为:Imm + R[rb] + R[ri]*s

    考试错题总结

    因为觉得这个题是多选题所以一直不知道该多选哪项,只能多选了一项D。

  • 相关阅读:
    Java DB 访问(三)mybatis mapper interface接口
    android stdio 安装后gradle 编译失败,设置代理不管用
    超星自动签到并邮件通知
    关于解决Mac使用docker安装SQL server for Linux 中文乱码问题
    Bom简单介绍
    grid-layout
    Position
    前端学习(注册表)
    关于学精通一门语言的个人看法(欢迎留言补充)
    Google 最新推出数据集搜索
  • 原文地址:https://www.cnblogs.com/jph596299009/p/9787644.html
Copyright © 2011-2022 走看看