8088汇编速查手册

一、数据传输指令
───────────────────────────────────────
    它们在存贮器和存放器、存放器和输入输出端口之间传递数据.
    1. 通用数据传送指令.
        MOV    传送字或字节.
        MOVSX  先符号扩展,再传送.
        MOVZX  先零恢宏,再传送.
        PUSH    把字压入仓库.
        POP    把字弹出仓库.
        PUSHA  把AX,CX,DX,BX,SP,BP,SI,DI依次压入宾馆.
        POPA    把DI,SI,BP,SP,BX,DX,CX,AX依次弹出仓库.
        PUSHAD  把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入货仓.
        POPAD  把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出货仓.
        BSWAP  调换32人存放器里字节的依次
        XCHG    调换字或字节.(
至少有叁个操作数为存放器,段寄放器不可作为操作数卡塔尔国
        CMPXCHG 相比较并调换操作数.( 第一个操作数必得为累积器AL/AX/EAX 卡塔尔
        XADD    先调换再累积.( 结果在第三个操作数里 卡塔尔国
        XLAT    字节查表调换.
                ── BX 指向一张 256 字节的表的起源, AL 为表的索引值
(0-255,即
                0-FFH卡塔尔; 重回 AL 为查表结果. ( [BX+AL]->AL )
    2. 输入输出端口传送指令.
        IN      I/O端口输入. ( 语法: IN 累积器, {端口号│DX} 卡塔尔(قطر‎
        OUT    I/O端口输出. ( 语法: OUT {端口号│DX},累积器 State of Qatar
          输入输出端口由那个时候方式指按期, 其范围是 0-255; 由寄放器 DX
指定时,
          其范围是 0-65535.
    3. 指标地址传送指令.
        LEA    装入有效地址.
          例: LEA DX,string  ;把偏移地址存到DX.
        LDS    传送目的指针,把指针内容装入DS.
          例: LDS SI,string  ;把段地址:偏移地址存到DS:SI.
        LES    传送指标指针,把指针内容装入ES.
          例: LES DI,string  ;把段地址:偏移地址存到ES:DI.
        LFS    传送目的指针,把指针内容装入FS.
          例: LFS DI,string  ;把段地址:偏移地址存到FS:DI.
        LGS    传送目的指针,把指针内容装入GS.
          例: LGS DI,string  ;把段地址:偏移地址存到GS:DI.
        LSS    传送目的指针,把指针内容装入SS.
          例: LSS DI,string  ;把段地址:偏移地址存到SS:DI.
    4. 标记传送指令.
        LAHF    标识寄放器传送,把标记装入AH.
        SAHF    标识贮存器传送,把AH内容装入标识寄放器.
        PUSHF  标识入栈.
        POPF    标识出栈.
        PUSHD  三十二位标志入栈.
        POPD    30位标识出栈.

二、算术运算指令
───────────────────────────────────────
          ADD    加法.
        ADC    带进位加法.
        INC    加 1.
        AAA    加法的ASCII码调整.
        DAA    加法的十进制调度.
        SUB    减法.
        SBB    带借位减法.
        DEC    减 1.
        NEC    求反(以 0 减之).
        CMP    比较.(两操作数作减法,仅改过标识位,不回送结果State of Qatar.
        AAS    减法的ASCII码调整.
        DAS    减法的十进制调节.
        MUL    无符号乘法.
        IMUL    整数乘法.
          以上两条,结果回送AH和AL(字节运算State of Qatar,或DX和AX(字运算卡塔尔(قطر‎,
        AAM    乘法的ASCII码调整.
        DIV    无符号除法.
        IDIV    整数除法.
          以上两条,结果回送:
              商回送AL,余数回送AH, (字节运算State of Qatar;
          或  商回送AX,余数回送DX, (字运算卡塔尔国.
        AAD    除法的ASCII码调整.
        CBW    字节调换为字. (把AL中字节的标记增至AH中去State of Qatar
        CWD    字调换为双字. (把AX中的字的标记增至DX中去卡塔尔国
        CWDE    字调换为双字. (把AX中的字符号扩大到EAX中去卡塔尔(قطر‎
        CDQ    双字扩张.    (把EAX中的字的号子扩充到EDX中去State of Qatar

三、逻辑运算指令
───────────────────────────────────────
          AND    与运算.
        OR      或运算.
        XOCRUISER    异或运算.
        NOT    取反.
        TEST    测量检验.(两操作数作与运算,仅校勘标志位,不回送结果State of Qatar.
        SHL    逻辑左移.
        SAL    算术左移.(=SHL卡塔尔国
        SH凯雷德    逻辑右移.
        SAHighlander    算术右移.(=SH福特Explorer卡塔尔
        ROL    循环左移.
        RO途乐    循环右移.
        RCL    通过进位的循环左移.
        RCLAND    通过进位的循环右移.
          以上三种移位指令,其活动次数可达252次.
              移位二回时, 可直接用操作码.  如 SHL AX,1.
              移位>1次时, 则由寄放器CL给出移位次数.
                如  MOV CL,04
                    SHL AX,CL

四、串指令
───────────────────────────────────────
             DS:SI  源串段贮存器  :源串变址.
            ES:DI  目的串段寄存器:指标串变址.
            CX      重复次数流量计.
            AL/AX  扫描值.
            D标识  0表示重复操作中SI和DI应自行增量; 1表示应自行减少数量.
            Z标识  用来调整扫描或相比操作的甘休.
        MOVS    串传送.
            ( MOVSB  传送字符.    MOVSW  传送字.    MOVSD  传送双字. 卡塔尔
        CMPS    串比较.
            ( CMPSB  相比字符.    CMPSW  比较字. 卡塔尔国
        SCAS    串扫描.
            把AL或AX的剧情与目的串作相比,相比结实反映在申明位.
        LODS    装入串.
            把源串中的成分(字或字节卡塔尔国逐个装入AL或AX中.
            ( LODSB  传送字符.    LODSW  传送字.    LODSD  传送双字. 卡塔尔(قطر‎
        STOS    保存串.
            是LODS的逆进度.
        REP            当CX/ECX<>0时重复.
        REPE/REPZ      当ZF=1或相比较结实特别,且CX/ECX<>0时重复.
        REPNE/REPNZ    当ZF=0或相比较结实不对等,且CX/ECX<>0时重复.
        REPC          当CF=1且CX/ECX<>0时重复.
        REPNC          当CF=0且CX/ECX<>0时重复.

五、程序转移指令
───────────────────────────────────────
     1>无条件转移指令 (长转移卡塔尔国
        JMP    无条件转移指令
        CALL    进度调用
        RET/RETF进程再次来到.
    2>条件转移指令 (短转移,-128到+127的离开内卡塔尔(قطر‎
        ( 当且仅当(SF XOSportage OF卡塔尔(قطر‎=1时,OP1<OP2 State of Qatar
        JA/JNBE 不低于或不对等时转移.
        JAE/JNB 大于或等于转移.
        JB/JNAE 小于转移.
        JBE/JNA 小于或等于转移.
          以上四条,测量试验无符号整数运算的结果(标志C和Z卡塔尔.
        JG/JNLE 大于转移.
        JGE/JNL 大于或等于转移.
        JL/JNGE 小于转移.
        JLE/JNG 小于或等于转移.
          以上四条,测量检验带符号整数运算的结果(标记S,O和ZState of Qatar.
        JE/JZ  等于转移.
        JNE/JNZ 不对等时转移.
        JC      有进位时转移.
        JNC    无进位时转移.
        JNO    不溢出时转移.
        JNP/JPO 奇偶性为奇数时转移.
        JNS    符号位为 “0” 时转移.
        JO      溢出转移.
        JP/JPE  奇偶性为偶数时转移.
        JS      符号位为 “1” 时转移.
    3>循环调节指令(短转移卡塔尔
        LOOP            CX不为零时循环.
        LOOPE/LOOPZ    CX不为零且标识Z=1时循环.
        LOOPNE/LOOPNZ  CX不为零且标记Z=0时循环.
        JCXZ            CX为零时转移.
        JECXZ          ECX为零时转移.
    4>中断指令
        INT    中断指令
        INTO    溢出暂停
        IRET    中断再次来到
    5>微机调控指令
        HLT    微处理器暂停, 直到出现抛锚或重新载入参数信号才继续.
        WAIT    当晶片引线TEST为高电平日使CPU步向等待状态.
        ESC    转产生外微处理器.
        LOCK    封锁总线.
        NOP    空操作.
        STC    置进位标记位.
        CLC    清进位标记位.
        CMC    进位标记取反.
        STD    置方向标识位.
        CLD    清方向标记位.
        STI    置中断允许位.
        CLI    清中断允许位.

六、伪指令
───────────────────────────────────────
          DW      定义字(2字节).
        PROC    定义进程.
        ENDP    进程甘休.
        SEGMENT 定义段.
        ASSUME  创设段寄存器寻址.
        ENDS    段结束.
        END    程序截至.

发表评论

电子邮件地址不会被公开。 必填项已用*标注