快捷搜索:

您的位置:澳门新葡4473网站 > 热门贴子 > 新葡亰平台娱乐8086/8088指令集

新葡亰平台娱乐8086/8088指令集

发布时间:2020-01-24 05:03编辑:热门贴子浏览(125)

    1.  INC和DEC指令

    为了便于查询,这里分类列出8086/8088汇编指令: 

    INC和DEC指令从操作数中加1或减1。

    数据传送指令 
    MOV 
    功能: 把源操作数送给目的操作数 
    语法: MOV 目的操作数,源操作数 
    格式: MOV r1,r2 或 MOV r,m 或 MOV m,r 或 MOV r,data 

    2.  ADD指令

    XCHG 
    功能: 交换两个操作数的数据 
    语法: XCHG 
    格式: XCHG r1,r2 或 XCHG m,r 或 XCHG r,m 

    新葡亰平台娱乐,ADD 目的操作数,源操作数

    PUSH,POP 
    功能: 把操作数压入或取出堆栈 
    语法: PUSH 操作数 POP 操作数 
    格式: PUSH r 或 PUSH M 或 PUSH data POP r 或 POP m 

    加法操作不改变源操作数,相加的结果在目的操作数中。

    PUSHF,POPF,PUSHA,POPA 
    功能: 堆栈指令群 
    格式: PUSHF POPF PUSHA POPA 

    3.  SUB指令

    LEA,LDS,LES 
    功能: 取地址至寄存器 
    语法: LEA r,m LDS r,m LES r,m 

    SUB   目的操作数,源操作数

    XLAT(XLATB) 
    功能: 查表指令 
    语法: XLAT XLAT m 
    算术运算指令 

    4.  NEG指令 通过数字转换伟对应的二进制补码而求得其相反数。

    ADD,ADC 
    功能: 加法指令 
    语法: ADD OP1,OP2 ADC OP1,OP2 
    格式: ADD r1,r2 ADD r,m ADD m,r ADD r,data 
    影响标志: C,P,A,Z,S,O 

    NEG  reg

    SUB,SBB 
    功能:减法指令 
    语法: SUB OP1,OP2 SBB OP1,OP2 
    格式: SUB r1,r2 SUB r,m SUB m,r SUB r,data SUB m,data 
    影响标志: C,P,A,Z,S,O 

    NEG  mem

    INC,DEC 
    功能: 把OP的值加一或减一 
    语法: INC OP DEC OP 
    格式: INC r/m DEC r/m 
    影响标志: P,A,Z,S,O 

    5.  算术运算影响的标志

    NEG 
    功能: 将OP的符号反相(取二进制补码) 
    语法: NEG OP 
    格式: NEG r/m 
    影响标志: C,P,A,Z,S,O 

    (1)       零标志和符号标志

    MUL,IMUL 
    功能: 乘法指令 
    语法: MUL OP IMUL OP 
    格式: MUL r/m IMUL r/m 
    影响标志: C,P,A,Z,S,O(仅IMUL会影响S标志) 

    算术指令的目的操作数赋予零值时,零标志就被相应设置

    DIV,IDIV 
    功能:除法指令 
    语法: DIV OP IDIV OP 
    格式: DIV r/m IDIV r/m 

    算术运算结果为负值时,符号标志就被设置

    CBW,CWD 
    功能: 有符号数扩展指令 
    格式: CBW CWD 

    (2)       进位标志(无符号算术运算)

    AAA,AAS,AAM,AAD 
    功能: 非压BCD码运算调整指令 
    格式: AAA AAS AAM AAD 
    影响标志: A,C(AAA,AAS) S,Z,P(AAM,AAD) 

    如果无符号加减法运算的结果的对目的操作数太大或者太小而无法容纳时,进

    DAA,DAS 
    功能: 压缩BCD码调整指令 
    格式: DAA DAS 
    影响标志: C,P,A,Z,S 
    字符串操作指令 

    位标志被设置。

    MOVSB,MOVSW,MOVSD 
    功能: 字符串传送指令 
    格式: MOVSB MOVSW MOVSD 
    标志位: 无 

    INC和DEC指令不影响进位标志

    CMPSB,CMPSW,CMPSD 
    功能: 字符串比较指令 
    格式: CMPSB CMPSW CMPSD 
    标志位: C,P,Z,S,O 

    (3)       溢出标志(有符号算术运算)

    SCASB,SCASW 
    功能: 字符串搜索指令 
    格式: SCASB SCASW 
    标志位: C,P,Z,S,O 

    当运算运算的结果无法容纳在目的操作数中时,溢出标志被设置。

    LODSB,LODSW,STOSB,STOSW 
    功能: 字符串载入或存贮指令 
    格式: LODSB LODSW STOSB STOSW 
    标志位: 无 

               溢出位的标志是根据位6的进位和位7的进位进行异或的结果。

    REP,REPE,REPNE 
    功能: 重复前缀指令集 
    格式: REP 指令S REPE 指令S REPNE 指令S 
    标志位: 依指令S而定 

              

    位运算指令集 
    AND,OR,XOR,NOT,TEST 
    功能: 执行BIT与BIT之间的逻辑运算 
    格式: AND r/m,r/m/data OR r/m,r/m/data XOR r/m,r/m/data TEST r/m,r/m/data NOT r/m 
    影响标志: C,O,P,Z,S(其中C与O两个标志会被设为0) NOT指令不影响任何标志位 

     

    SHR,SHL,SAR,SAL 
    功能: 移位指令 
    格式: SHR r/m,data/CL SHL r/m,data/CL SAR r/m,data/CL SAL r/m,data/CL 
    影响标志: C,P,Z,S,O 

    ROR,ROL,RCR,RCL 
    功能: 循环移位指令 
    格式: ROR r/m,data/CL ROL r/m,data/CL RCR r/m,data/CL RCL r/m,data/CL 
    影响标志: C,P,Z,S,O 
    程序流程控制指令 

    CLC,STC,CMC 
    功能: 设定进位标志 
    格式: CLC STC CMC 
    标志位: C 

    CLD,STD 
    功能: 设定方向标志 
    格式: CLD STD 
    标志位: D 

    CLI,STI 
    功能: 设定中断标志 
    格式: CLI STI 
    标志位: I 

    CMP 
    功能: 比较OP1与OP2的值 
    格式: CMP r/m,r/m/data 
    标志位: C,P,A,Z,O 

    JMP 
    功能: 跳往指定地址执行 
    格式: JMP 地址 

    JXX 
    功能: 当特定条件成立则跳往指定地址执行 
    格式: JXX 地址 
    XX为下列值: 
       A: ABOVE,当C=0,Z=0时成立 
       B: BELOW,当C=1时成立 
       C: CARRY,当CF=1时成立 
       CXZ: CX寄存器的值为0(ZERO)时成立 
       E: EQUAL,当Z=1时成立 
       G: GREATER(大于),当Z=0且S=0时成立 
       L: LESS(小于),当S不为零时成立 
       N: NOT(相反条件),需和其它符号配合使用 
       O: OVERFLOW,O=1时成立 
       P: PARITY,P=1时成立 
       PE: PARITY EVEN,P=1时成立 
       PO: PARITY ODD,P=0时成立 
       S: SIGN,S=1时成立 
       Z: ZERO,Z=1时成立 

    LOOP 
    功能: 循环指令集 
    语法: LOOP 地址 

    LOOPE(Z) 
    格式:LOOPNE(Z) 地址 
    标志位: 无 

    CALL,RET 
    功能: 子程序调用,返回指令 
    语法: CALL 地址 RET RET n 
    标志位: 无 

    INT,IRET 
    功能: 中断调用及返回指令 
    语法: INT n IRET 
    标志位: 在执行INT时,CPU会自动将标志寄存器的值入栈,在执行IRET时则会将堆栈中的标志值弹回寄存器 

    处理器状态控制指令 
    NOP 
    功能: 空操作指令。不执行任何操作,但要花费CPU一个机器周期 
    格式: NOP 

    HLT 
    功能: 暂停指令。CPU不执行任何操作,一直处于暂停状态,但IP指向HLT的下一条指令。 
    格式: HLT 
    脱离HLT状态的方式:1、CPU复位;2、CPU响应中断 

    ESC,WAIT,LOCK 
    功能: 用于多处理器系统。其中ESC是交权指令;WAIT是等待指令;LOCK是总线封锁指令

    本文由澳门新葡4473网站发布于热门贴子,转载请注明出处:新葡亰平台娱乐8086/8088指令集

    关键词:

上一篇:间接操作

下一篇:没有了