zoukankan      html  css  js  c++  java
  • 指令系统总结

    1、数据传送指令
        比如:mov、push、pop、pushf、popf、xchg 等都是数据传送指令,这些指令实现寄存器和内存、寄存器和寄存器之间的单个数据传送。

    2、算术运算指令
        比如:add、sub、adc、sbb、inc、dec、cmp、imul、idiv、aaa 等都是算术运算指令,这些指令实现寄存器和内存中的数据的算数运算。它们的执行结果影响标志寄存器的:SF、ZF、OF、CF、PF、AF 位。

    3、逻辑指令
        比如:and、or、not、xor、test、shl、shr、sal、sar、rol、ror、rcl、rcr等都是逻辑指令。除了 not 指令外,它们的执行结果都影响标志寄存器的相关标志位。

    4、转移指令
        可以修改 IP,或同时修改CS和IP的指令统称为转移指令。转移指令分为以下几类:
    ① 无条件转移指令,比如:jmp;
    ② 条件转移指令,比如:jcxz、je、jb、ja、jnb、jna等;
    ③ 循环指令,比如:loop;
    ④ 过程,比如:call、ret、retf;
    ⑤ 中断,比如:int、iret

    5、处理机控制指令
        这些指令对标志寄存器或其他处理机状态进行设置,比如:cld、std、cli、sti、nop、clc、cmc、stc、hlt、wait、esc、lock 等都是处理机控制指令

    6、串处理指令
        这些指令对内存中的批量数据进行处理,比如:movsb、movsw、cmps、scas、lods、stos 等。若要使用这些指令方便的进行批量数据的处理,则需要和 rep、repe、repne 等前缀指令配合使用。


  • 相关阅读:
    HDU 5400 Arithmetic Sequence
    poj 3041 Asteroids
    后缀自己主动机(SAM)学习指南
    【POJ3740】Easy Finding DLX(Dancing Links)精确覆盖问题
    高速幂小模板
    有用函数编程
    将C++的标识符转成OC的标识符
    【翻译自mos文章】oracle db 中的用户账户被锁--查看oracle用户的尝试次数
    Hibernate基础-HelloWord
    Android项目之HomeHealth基础学习2:Service
  • 原文地址:https://www.cnblogs.com/meihao1203/p/7930864.html
Copyright © 2011-2022 走看看