汇编语言指令以及伪指令速查手册

汇编语言指令以及伪指令速查手册(备查)

它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据
  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},累加器 
      输入输出端口由立即方式指定时其范围是 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 32位标志入栈
    POPD   32位标志出栈

二、算术运算指令 
─────────────────────────────────────── 
    ADD   加法
    ADC   带进位加法
    INC   加 1. 
    AAA   加法的ASCII码调整
    DAA   加法的十进制调整
    SUB   减法
    SBB   带借位减法
    DEC   减 1. 
    NEC   求反(以 减之). 
    CMP   比较.(两操作数作减法,仅修改标志位,不回送结果). 
    AAS   减法的ASCII码调整
    DAS   减法的十进制调整
    MUL   无符号乘法
    IMUL   整数乘法
      以上两条,结果回送AHAL(字节运算),DXAX(字运算), 
    AAM   乘法的ASCII码调整
    DIV   无符号除法
    IDIV   整数除法
      以上两条,结果回送
        商回送AL,余数回送AH, (字节运算); 
      或 商回送AX,余数回送DX, (字运算). 
    AAD   除法的ASCII码调整
    CBW   字节转换为字. (AL中字节的符号扩展到AH中去
    CWD   字转换为双字. (AX中的字的符号扩展到DX中去
    CWDE   字转换为双字. (AX中的字符号扩展到EAX中去
    CDQ   双字扩展.   (EAX中的字的符号扩展到EDX中去

三、逻辑运算指令 
─────────────────────────────────────── 
    AND   与运算
    OR     或运算
    XOR   异或运算
    NOT   取反
    TEST   测试.(两操作数作与运算,仅修改标志位,不回送结果). 
    SHL   逻辑左移
    SAL   算术左移.(=SHL) 
    SHR   逻辑右移
    SAR   算术右移.(=SHR) 
    ROL   循环左移
    ROR   循环右移
    RCL   通过进位的循环左移
    RCR   通过进位的循环右移
      以上八种移位指令,其移位次数可达255
        移位一次时可直接用操作码如 SHL AX,1. 
        移位>1次时则由寄存器CL给出移位次数
          如 MOV CL,04 
            SHL AX,CL 

四、串指令 
─────────────────────────────────────── 
        DS:SI 源串段寄存器 :源串变址
        ES:DI 目标串段寄存器:目标串变址
        CX     重复次数计数器
        AL/AX 扫描值
        D标志 0表示重复操作中SIDI应自动增量; 1表示应自动减量
        Z标志 用来控制扫描或比较操作的结束
    MOVS   串传送
        ( MOVSB 传送字符.   MOVSW 传送字.   MOVSD 传送双字. ) 
    CMPS   串比较
        ( CMPSB 比较字符.   CMPSW 比较字. ) 
    SCAS   串扫描
        ALAX的内容与目标串作比较,比较结果反映在标志位
    LODS   装入串
        把源串中的元素(字或字节)逐一装入ALAX
        ( 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=1CX/ECX<>0时重复
    REPNC       CF=0CX/ECX<>0时重复

五、程序转移指令 
─────────────────────────────────────── 
  1>无条件转移指令 (长转移
    JMP   无条件转移指令 
    CALL   过程调用 
    RET/RETF过程返回
  2>条件转移指令 (短转移,-128+127的距离内
    ( 当且仅当(SF XOR OF)=1,OP1       JA/JNBE 不小于或不等于时转移
    JAE/JNB 大于或等于转移
    JB/JNAE 小于转移
    JBE/JNA 小于或等于转移
      以上四条,测试无符号整数运算的结果(标志CZ). 
    JG/JNLE 大于转移
    JGE/JNL 大于或等于转移
    JL/JNGE 小于转移
    JLE/JNG 小于或等于转移
      以上四条,测试带符号整数运算的结果(标志S,OZ). 
    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   程序结束.


  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TMS320F28是德州仪器(Texas Instruments)公司推出的一款数字信号处理器(DSP)芯片。汇编语言指令手册是用于TMS320F28芯片编程的指南,其中包含了该芯片所支持的所有指令的详细说明和使用方法。 TMS320F28汇编语言指令手册通常分为几个主要部分。首先是介绍和概述部分,其中提供有关芯片的基本信息、特征和性能。其次是指令格式部分,详细描述了每个指令的格式,例如指令的操作码、寻址模式、源操作数和目的操作数等。然后是指令集部分,列出了所有指令,并对每个指令进行了解释和示例演示。最后是附录部分,包含了一些额外的信息,例如中断处理、特殊功能寄存器等。 在TMS320F28汇编语言指令手册中,可以学习到如何使用不同的指令来实现各种功能。例如,可以学习到如何进行算术运算、逻辑运算、移位运算和跳转等操作。此外,还可以了解到如何使用各种寻址模式来访问内存或寄存器,以及如何编写中断服务程序和外设控制程序等。 通过熟悉TMS320F28汇编语言指令手册,并结合相应的开发工具和编程环境,开发者可以充分发挥TMS320F28芯片的强大处理能力,实现各种复杂的数字信号处理应用,如音频处理、图像处理、通信系统等。 总而言之,TMS320F28汇编语言指令手册是学习和掌握TMS320F28芯片编程的重要参考工具,它提供了对芯片指令集的全面介绍和详细解释,帮助开发者有效地利用该芯片的功能和性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值