2024年5月7日发(作者:华为系统安装包下载)
jb单片机指令
在JB单片机上进行编程时,需要使用到一些指令来控制其运行方向和操作。以下是一
些常用的指令及其功能:
一、数据传输指令
1. MOV A,immediate:将立即数immediate送入累加器A中
2. MOV Rn,immediate:将立即数immediate送入Rn寄存器中;n=0~7
3. MOV A,Rn:将Rn中的值送入累加器A中;n=0~7
4. MOV Rn,A:将A中的值送入Rn寄存器中;n=0~7
二、算术逻辑指令
1. ADD A,immediate:将A中的值加上immediate,结果存入A中
2. ADD A,Rn:将A和Rn中的值相加,结果存入A中;n=0~7
3. SUBB A,immediate:将A中的值减去immediate以及C(进位标志位),差存入A
中
4. INC A:将A中的值加一,结果存入A中
5. DEC A:将A中的值减一,结果存入A中
6. ANL A,immediate:将A和immediate按位与,结果存入A中
7. ORL A,immediate:将A和immediate按位或,结果存入A中
8. XRL A,immediate:将A和immediate按位异或,结果存入A中
9. CPL A:将A中的值按位取反
1. RLC A:将A向左循环移位一位,最高位存入C中;即将A左移一位,最低位填入
原来的C
2. RRC A:将A向右循环移位一位,最低位存入C中;即将A右移一位,最高位填入
原来的C
3. RL A:将A向左移位一位,最高位填0,将A中每一位向左移动一位
4. RR A:将A向右移位一位,最低位填0,将A中每一位向右移动一位
四、跳转指令
1. SJMP label:无条件跳转到标签label处执行(label可以是程序内的任意一行或
子程序的开头)
2. JZ/JNZ label:当A中的值为0(或不为0)时,跳转到标签label处执行
3. CJNE A,immediate,label:当A和immediate的值不相等时,跳转到标签label处
执行
4. DJNZ Rn,label:将Rn中的值减1,若不为0则跳转到标签label处执行;n=0~7
五、子程序指令
1. ACALL addr:调用子程序,地址为addr,子程序执行结束后会返回原程序执行
2. RET:返回子程序调用位置继续执行
发布者:admin,转转请注明出处:http://www.yc00.com/num/1715078324a2562537.html
评论列表(0条)