zoukankan      html  css  js  c++  java
  • 信息安全系统设计基础 第5周学习笔记

    第三章 程序的机器级表示

    一、处理器历史——摩尔定律

    摩尔定律是由英特尔(Intel)创始人之一戈登·摩尔(Gordon Moore)提出来的。

    其内容为:当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。换言之,每一美元所能买到的电脑性能,将每隔18-24

    个月翻一倍以上。这一定律揭示了信息技术进步的速度。

    二、程序编码

    linux默认编译器——gcc c编译器

    过程:

    后缀名解释:

     gcc常用选项:

    三、数据格式

    char—字节—b

    short—字—w

    int—双字—l

    long int—双字—l

    long long int—/—/

    char*—双字—l

    float—单精度—s

    double—双精度—l

    long double—扩展精度—t

    四、寻址方式

    立即寻址方式、寄存器寻址方式、直接寻址方式、寄存器间间接寻址、寄存器相对寻址方式(或称直接变址寻址方式)、基址变址寻址方式、相对基址变址寻址方

    式、比例变址寻址方式、基址比例变址寻址方式、相对基址比例变址寻址方式

    五、指令

    mov —— 传送数据

    add —— 加

    sub —— 减

    imul —— 乘(有符号)

    xor —— 异或

    or —— 或

    and —— 与

    leal —— 传送地址

    inc —— 加一

    dec —— 减一

    neg —— 取负 ?

    not —— 取补 ?

    sal (shl)—— 左移

    sar —— 算术右移

    shr —— 逻辑右移

    loop —— 循环

    跳转指令:略

    六、标志位

    常见的条件标志位:

    CF:进位标志

    ZF:零标志

    SF:符号标志

    OF:溢出标志

    标志位相应的位置:

    七、使用

    call —— 调用

    ret —— 返回(相当于c语言的return)

    八、实验

    实验代码:

    汇编原代码:

    去掉带.代码行的汇编代码:

    *参考资料:

    1.嵌入式Linux应用程序开发标准教程.pdf

    2.https://www.shiyanlou.com/courses/413

    遇到的问题:

    1.汇编指令与上学期学的有些出入……

    例如:书上neg是取负指令,not是取补指令,但是汇编书上neg是取补指令,not是取反指令。

    2.使用gdb的bt/frame/up/down 指令时,不知为何总是显示“no stack”。

  • 相关阅读:
    mininet 多径传输网络仿真
    mininet 多径仿真双路由双网卡
    mininet仿真星型拓扑
    mininet 三个路由器两个终端的仿真
    mininet 两个路由器两个终端仿真
    mininet 仿真一个路由器两个终端
    mininet 两个交换机两个终端的仿真
    mininet 一个交换机两个终端的仿真
    ps命令
    df命令
  • 原文地址:https://www.cnblogs.com/whyfarrell/p/4869995.html
Copyright © 2011-2022 走看看