• 【HC89S003F4开发板】 10汇编指令


    HC89S003F4开发板汇编指令

    一、数据传递类指令

    MOV、MOVC、MOVX

    • 1、MOV,用于片内数据存储器中的数据传递指令中。
    • 2、MOVC是与ROM之间的数据传送,而MOVX是与外部RAM数据传送;
    • 3、MOV就是移动的意思,C就是Code,代码的意思,X就是eXternal,外部的意思 MOVC就是读代码存储器,MOVX就是读写外部存储器,即外部RAM ;
    • 4、MOVC是读取ROM中的数据,只能读不能写(一般来说主要是用来读取常量或常量表) MOVX是读写外部扩展的RAM和扩展的IO口,可以读也可以写。
    MOVX A,@RI
    MOVX @RI,A
    MOVX A,@DPTR
    MOVX @DPTR, A
    
    MOVC A,@A+DPTR
    

    PUSH、POP

    进出栈,栈是FILO(first in last out),先进后出
    也就是把寄存器里的数据临时保存一下,相当与一个仓库。

    需要注意,使用命令时,确认栈的位置,保证不溢出、不覆盖变量。

    XCH、XCHD

    XCH 交换双方的全部 8 位数。

    XCHD 交换双方的低 4 位数。

    二、算术运算类指令

    INC、DEC、MUL、DIV

    inc a 相当于 add a,1

    dec a 相当于 sub a,1

    优点 速度比sub或add指令快,占用空间小

    这条指令执行结果影响AF、OF、PF、SF、ZF标志位,但不影响CF进位标志位。

    mul 累加器ACC*寄存器b,保存在ACC

    DIV 累加器ACC/寄存器b,保存在ACC

    在c库里还有16位乘除的方法

    EXTRN	CODE (?C?IMUL) ;公式R4R5*R6R7,保存在R6R7,调库16字节
    EXTRN	CODE (?C?UIDIV) ;无符号,公式R4R5/R6R7,商保存在R6R7,余数在R4R5
    EXTRN	CODE (?C?SIDIV) ;有符号,公式R4R5/R6R7,商保存在R6R7,余数在R4R5
    LCALL	?C?IMUL ;跳转3字节
    

    ADD、ADDC、SUBB

    ADD A, R0 相当于A=A+R0

    ADDC A, R0 相当于A=A+R0+Cy

    SUBB A, R0 相当于A=A-R0-Cy,如果A小于R0,则Cy置位

    三、逻辑运算类指令

    ANL、ORL、XRL

    与、或、异或

    RL、RLC、RR、RRC

    RL左移,RR右移,C带进/借位

    SWAP

    高四位和低四位交换

    四、控制转移类指令

    SJMP、AJMP、LJMP

    无条件转移

    SJMP -126—+129范围内转移

    AJMP 2k范围内转移

    LJMP 64K范围内转移

    RET、RETI

    RETI 是中断返回指令 

    RET 是子程序返回指令

    ACALL、LCALL

    转移到子程序,子程序执行后配合RET、RETI返回

    CJNE、DJNZ、JNZ、JZ

    CJNE 比较两值,不相等转移

    DJNZ 减 1,不为 0 则转移

    JNZ Jump if Not Zero 累加器为 1 则转移

    JZ Jump if Zero 累加器为 0 则转移

    五、布尔指令

    JC、JNC、JB、JNB、JBC

    JC Jump if Cy (有进位、即Cy=1,则跳转)

    JNC Jump if Not Cy (有进位、即Cy=0,则跳转)

    JBC Jump if Bit and Clear

    JB Jump if Bit (为1则跳转)

    JNB Jump if Not Bit (为0于则跳转)

  • 相关阅读:
    Redis集群搭建步骤
    JS性能优化
    javaweb中实现在线人数统计
    tomcat在linux中启动慢的解决方案
    Redis高可用架构
    bjpowernode课程体系及题库
    java 相关
    码农翻身全年文章精华
    Spring源码深度解析
    PHPSTROM快捷键备份
  • 原文地址:https://www.cnblogs.com/yywBlogW/p/11402991.html
Copyright © 2020-2023  润新知