无条件转移指令共有以下4条:1.LJMP addr16LJMP addr16指令是3个字节指令,其机器码为02H,addr15~8,addr7~0。3.SJMP relSJMP rel指令是相对寻址方式转移指令,其中rel为偏移量,偏移量rel是一个带符号的8位二进制补码数。因此,有时也称其为散转指令。4条无条件转移指令的功能相同,不同之处在于转移的范围。其中长转移指令LJMP的转移范围最大,为64KB。短转移指令SJMP的转移范围最小,仅为256字节。......
2023-11-17
条件转移指令共有8条。
1.累加器判零转移指令
累加器判零转移指令共有两条:
这组指令的功能是对累加器(A)的内容为“0”和不为“0”进行检测并转移。当不满足各自的条件时,程序继续往下执行。当各自的条件满足时,程序转向指定的目标地址。目标地址的计算与SJMP指令情况相同。指令执行时对标志位无影响。
例如,已知累加器(A)=00H,执行指令:
2.数值比较转移指令
数值比较转移指令共有4条。
CJNE,目的操作数,源操作数,rel该指令是3字节指令,其功能是目的操作数与源操作数的内容进行比较,若
目的操作数=源操作数,则顺序执行,即(PC)←(PC)+3;
目的操作数>源操作数,则发生转移,转移地址(PC)←(PC)+3+rel,CY←0;(www.chuimin.cn)
目的操作数<源操作数,则发生转移,转移地址(PC)←(PC)+3+rel,CY←1。
具体指令如下:
例如,已知(R7)=56H,执行指令:
3.减“1”不为0转移指令
减“1”不为0转移指令共有两条:
这组指令的功能为:寄存器(或直接寻址单元)内容减1,并判其结果是否为0。若不为0,则转移到目标地址继续循环;若为0,则结束循环,程序往下执行。利用这两条指令可实现循环控制,循环次数存放于寄存器中或直接寻址单元中。
【例3-19】试分析如下程序段
完成了什么功能?
【解】该程序执行之后,(A)=10+9+8+7+6+5+4+3+2+1=37H。
有关单片机基础及应用的文章
无条件转移指令共有以下4条:1.LJMP addr16LJMP addr16指令是3个字节指令,其机器码为02H,addr15~8,addr7~0。3.SJMP relSJMP rel指令是相对寻址方式转移指令,其中rel为偏移量,偏移量rel是一个带符号的8位二进制补码数。因此,有时也称其为散转指令。4条无条件转移指令的功能相同,不同之处在于转移的范围。其中长转移指令LJMP的转移范围最大,为64KB。短转移指令SJMP的转移范围最小,仅为256字节。......
2023-11-17
无条件转移指令是对转移不设置任何的条件。1)长转移指令LJMP:LJMP指令的转移范围0000H~FFFFH可达24KB。2)绝对转移指令AJMP:AJMP指令的转移范围000H~7FFH最大转移范围为2KB。3)短转移指令SJMP:SJMP指令的转移范围256B。这两种转移指令的区别是可转移的范围不同。指令“SJMP $”使程序原地踏步。......
2023-11-07
条件转移指令是对程序转移设置转移条件。执行条件转移指令时,若满足指令中规定的条件则程序转移,若不满足指令中规定的转移条件则程序按地址顺序逐条执行。不同的是所用数值比较条件转移指令不同,密码也可以不同。程序中用了“JNB Pm.n,REL”某口输入位状态判0条件控制转移指令。以累加位C的状态为条件的转移指令共有2条。......
2023-11-07
MCS-51单片机的算术运算类指令包括加、减、乘、除、加1、减1等指令。这类指令有ADD、ADDC、INC、SUBB、DEC、DA、MUL、DIV共8种。表3-3算术运算类指令注:√表示该指令影响某一标志位。运算结果对PSW的影响同上述4条ADD指令。6.十进制调整指令十进制调整指令只有以下1条:该指令用于BCD码加法运算时,对BCD码的加法运算结果自动进行调整,但对BCD码的减法运算不能用此指令来调整。在运算过程中,单片机按二进制规则进行运算。......
2023-11-17
2)数据传送指令,加1、减1指令,逻辑运算指令不影响CY、OV和AC位。标志位的状态是控制转移类指令的判断条件。数据传送类指令是使用最频繁的指令,主要用于数据的复制、保存及交换。数据传送类指令的助记符有MOV、MOVX、MOVC、XCH、XCHD、SWAP、PUSH、POP。其通用数据传送类指令格式为MOV 目的操作数,源操作数表3-2数据传送类指令注:√表示该指令影响某一标志位。外部RAM或I/O口之间的数据传送指令共有4条。......
2023-11-17
伪指令是程序员发给汇编程序的命令,用来设置符号值、保留和初始化存储空间、控制用户程序代码的位置。在汇编时伪指令自身不产生机器码,不属于指令系统。常用的伪指令有以下几种。1.汇编起始地址命令ORG该命令总是出现在源程序的开头位置,用于规定目标程序的起始地址。在END之后所写的指令,汇编程序不再处理。一个源程序只能有一个END指令,并放在所有指令的最后。例如:以上指令经汇编后,将对1000H开始的若干内存单元赋值。......
2023-11-17
MCS-51的所有指令均不超过3个字节,且多为单字节指令。为了使“乱飞”程序在程序区迅速纳入正轨,应在编程时多用单字节指令,并在关键的地方人为地插入一些单字节指令NOP,或将有效单字节指令重写,称之为指令冗余。需要注意的是,乱飞的PC必须指向程序运行区,并且必须执行到冗余指令才能使PC纳入正确轨道。......
2023-11-17
MCS-51单片机逻辑运算及移位类指令包括与、或、异或、清0、取反、移位等操作指令。1.逻辑“与”运算指令逻辑“与”运算指令共有以下6条:这组指令中的前4条指令完成源操作数与累加器的内容相与,并将结果送入累加器中。其寻址方式、标志位影响、端口操作与ANL指令相同。表3-4逻辑运算及移位类指令注:√表示该指令影响某一标志位。......
2023-11-17
相关推荐