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

    学习总结

    1.寻址方式的发展

    平坦模式->分段模式->带保护的平坦模式。

    2.ISA的定义

    机器级程序的格式和行为,定义为指令集体系结构,简称ISA。

    3.反汇编指令

    gcc -s xx.c -o xx.s获得;gcc -m32 -s xx.c从64位机器上得到32位的代码;otool -d xxx 可从mac os上进行反汇编。

    4. ATT和Intel格式的区别:

        -  1)Intel代码省略练指示大小的后缀  
        -  2)Intel代码省略练寄存器名字前面的‘%’符号  
        -  3)Intel代码用不同的方式来描述存储器中位置  
        -  4)在带有多个操作数的指令情况下,列出操作数的顺序相反  
    

    5.操作数指示符

    立即数,常数值,用Imm表示;寄存器,E表示寄存器,R[E]表示寄存器里的内容;存储器,M[Addr],根据算出的有效地址访问存储器的某个位置。

    6.数据传送指令

    • 1)mov传送 movs传送符号扩展的字节 movz传送零扩展的字节;
    • 2)movs和movz将一个较小的源数据复制到一个较大到的位置,符号位扩展,高位用源值最高位填充,零扩展就用0填充高位;
    • 3)不能从一个内存地址直接mov到另一个内存地址,要用寄存器中转;4)栈顶元素是最近被压入的元素,是所有栈中元素地址中最低的。

    7.算术与逻辑运算

    • 1)加载有效地址, leal指令;
    • 2)一元运算(一个操作数,即是源又是目的);
    • 3)二元运算(两个操作数,第一个是源,第二个是目的)。
    • 注意:第一个可以是立即数,寄存器,存储器;第二个可以是寄存器,存储器;两个不可以同时为存储器。

    8.条件码

    CMP只设置条件码而不更新目标寄存器,可以用于条件判断上,sub可以用作简单的算术运算。

    9.set类指令

    根据条件码的某些组合,将一个字节设置为0或者是1。各个set类指令都适用的情况是——执行比较指令,根据t=a-b的结果设置条件码。

    10.跳转指令

    jmp:无条件跳转。后可接 跳转目标,或者从寄存器、存储位置中读出跳转目标。其他有条件跳转是根据条件码组合来控制的。

  • 相关阅读:
    将博客搬至CSDN
    Fish 下报错 Unsupported use of '||'. In fish, please use 'COMMAND; or COMMAND'.
    使用VMWare虚拟机打开MFC报错:不支持16位系统
    CodeForce Div 2 C. Masha and two friends
    POJ1426 Find The Multiple
    Educational Codeforces Round 54 (Rated for Div. 2) D:Edge Deletion
    CodeForce Educational round Div2 C
    Tenka 1 Computer Contest C-Align
    CodeForce edu round 53 Div 2. D:Berland Fair
    CodeForce 517 Div 2. C Cram Time
  • 原文地址:https://www.cnblogs.com/huangyaqi/p/5958564.html
Copyright © 2011-2022 走看看