导航:首页 > 操作系统 > 单片机跳转指令

单片机跳转指令

发布时间:2024-07-19 15:37:09

单片机中jc指令表示什么有什么用

JC是判断C进位标志是否为1,为1则跳转到指定位置。

JC指令判断有借位则转移,也就是说两数相减为负转移。JBC指令判断该位为1则转移,同时将该位置0。

条件转移指令只能转移到离本指令-128~+127字节范围内,是一种相对转移形式,当要往较远单元地址条件转移时,可以在本指令-128~+127字节范围内安排一条无条件转移指令作为中转指令即可。在使用简单条件跳转指令时,必须明确相应标志位的变化。

(1)单片机跳转指令扩展阅读:

简单条件跳转指令:

1、JC 目的地址 进位标志位CF=1,转移

2、JNC 目的地址 进位标志位CF=0,转移

3、JZ 目的地址 零标志位ZF=1,转移

4、JNZ 目的地址 零标志位ZF=0,转移

5、JS 目的地址 符号标志SF=1,转移

5、JNS 目的地址 符号标志SF=0,转移

6、JO 目的地址 溢出标志OF=1,转移

7、JNO 目的地址 溢出标志OF=0,转移

8、JP 目的地址 奇偶标志PF=1,转移

9、JNP 目的地址 奇偶标志PF=0,转移

10、JCXZ 目的地址 CX=0,转移

Ⅱ 单片机的一条指令: SJMP $ 是啥意思

SJMP $意味着跳转到该指令的开头以开始执行,因此它变为循环执行,就地跳转,通常用于等待中断。

但是本指令也不宜滥用。这是一条死循环指令,如果系统的中断是开放的,那么SJMP $指令实际上是在等待中断,当有中断申请后,CPU 转至执行中断服务程序。

中断返回时,仍然返回到这条死循环指令,继续等待中断,而不是返回到该指令的下一条指令。这是因为执行SJMP $后,PC 仍指向这条指令,中断的断点就是[3]这条指令的首字节地址。

(2)单片机跳转指令扩展阅读

1)在51中,与外部存储器RAM打交道的只可以是A累加器。所有需要送入外部RAM的数据必需要通过A送去,而所有要读入的外部RAM中的数据也必需通过A读入。

在此我们可以看出内外部RAM的区别了,内部RAM间可以直接进行数据的传递,而外部则不行,比如,要将外部RAM中某一单元(设为0100H单元的数据)送入另一个单元(设为0200H单元),也必须先将0100H单元中的内容读入A,然后再送到0200H单元中去。

2)要读或写外部的RAM,当然也必须要知道RAM的地址,在后两条指令中,地址是被直接放在DPTR中的。而前两条指令,由于Ri(即R0或R1)只是一个8位的寄存器,所以只提供低8位地址。因为有时扩展的外部RAM的数量比较少,少于或等于256个,就只需要提供8位地址就够了。

3)使用时应当首先将要读或写的地址送入DPTR或Ri中,然后再用读写命令

Ⅲ 鍗旷墖链鸿烦杞鎸囦护

杩欐槸锲犱负璋幂敤LCALL钖庡帇镙堟搷浣沧墍镊淬
鍫嗘爤瀵勫瓨鍣⊿P镄勫煎湪鍗旷墖链哄惎锷ㄥ悗缂虹渷涓07H锛屼篃灏辨槸璇07H+1=08H寮濮嬬殑鍐呴儴RAM鏄鍫嗘爤鍖恒傚湪浣犺皟鐢↙CALL Q11F1钖庯纴涓轰简淇濊瘉镓ц屽畬Q11F1瀛愮▼搴忓悗绋嫔簭锲炲埌LCALL Q11F1镄勪笅涓鍙ワ纴鍗旷墖链轰细镓ц屽帇镙堟搷浣滐细涓嬩竴鍙ユ寚浠Q11F1:MOV A,09H鍦ㄧ▼搴忎腑鍦板潃鏄010BH锛屾墍浠ワ细
铡嬫爤鍓嶏细 SP=07H
绗涓娆″帇镙堬细SP+1=08H锛氩皢0BH淇濆瓨鍒08H
绗浜屾″帇镙堬细SP+1=09H锛氩皢01H淇濆瓨鍒09H
杩椤氨鏀瑰彉浜09H镄勫唴瀹规垚浜01H浜嗐

姝e父𨱍呭喌涓嬶纴阃氲繃RET鎸囦护钖庯纴灏010BH阃佸洖缁椤崟鐗囨満镄勭▼搴忔墽琛屾寚阍圥C锛岀劧钖岙P-2锲炲埌07H銆

镓浠ュ啀寰涓嬫墽琛屼细链夐梾棰桡细璋幂敤LCALL钖庯纴阃氲繃RET杩斿洖锛屾病链夐梾棰桡绂浣嗙揣璺熺潃鍙堟墽琛孮11F1锛屽张镓ц屼简涓涓猂ET锛屾ゆ椂07H鍜06H镄勫唴瀹瑰喅瀹氢简涓嬩竴𨱒℃寚浠や粠浣曞勫紑濮嬫墽琛岋纴杩欐槸涓嶅圭殑銆傚瓙绋嫔簭Q11F1蹇呴’缁忚繃CALL绫昏皟鐢ㄦ寚浠ゆ潵镓ц岋纴钖﹀垯浼氭湁闂棰樸

链渚嬩腑LCALL Q11F1镓ц屽畬钖庤佷箞锲炲埌鍓嶉溃镆愬彞寰鐜锛岃佷箞铡熷湴绛夊緟銆
鍙﹀朣P鍊间竴鑸鍙浠ヨ惧ぇ镣癸纴钖﹀垯07H涔嫔悗镄勭┖闂寸敤涓崭简銆

Ⅳ 单片机中JNB和 JNC到底是什么意思

这是51单片机的两条汇编指令,属于条件跳转指令。
JNB,是根据某一位的状态判断转移的,当检测位不是1(NB),即为0时就转移,通常用于判断引脚。例如:
JNB P1.0, TEST
功能是:当引脚P1.0为0时,就跳转到TEST。
JNC,是根据进位标志位Cy判断转移的,当不进位(NC),就跳转,可用可加/减法运算,例如
MOV A , R2
ADD A , R3
JNC NUM
意义是,R2+R3,如果未进位则跳转至NUM。

Ⅳ 单片机系统指令的控制转移指令

一、无条件转移指令 AJMP addrll (2字节指令)
2K(地址211)字节范围内的无条件跳转指令。
64K程序存储器空间分为32个区,每区2K字节,转移的目标地址必须与AJMP下一条指令的地址高5位地址码A15-A11相同。
指令执行时,先PC加2,然后把addrll送入PC.10~PC.0,
PC.15~PC.11保持不变,程序转移到目标地址。
注意:转移目标首地址必须在AJMP指令下一条指令地址(PC+2)的2KB范围内。
二、长跳转指令 LJMP addr16 (3字节指令)
64K字节范围内的无条件跳转指令。
指令执行时,把指令的第二和第三字节分别装入PC的高位和低位字节中,无条件地转向addr16指出的目标地址。
目标地址可以在64K程序存储器地址空间的任何位置。
注意:短跳转、长跳转指令中addrll、addr16直接写上要转向的目标地址标号(即符号地址)就可以。
三、相对转移指令 SJMP rel (双字节)
rel为8位带符号二进制补码数(-128~+127),实现程序的双向转移。
在编写程序时,直接写上要转向的目标地址标号就可以。
四、间接跳转(散转)指令JMP @A+DPTR (三字节)
由A中8位无符号数与DPTR的16位数内容之和来确定。以DPTR内容作为基址,A的内容作变址。
五、条件转移指令 (双字节)
JZ rel ; 如果累加器为“0”,则转移
JNZ rel; 如果累加器非“0”,则转移
六、比较不相等转移指令(3字节指令)
CJNE A, direct, rel
CJNE A, #data, rel
CJNE Rn, #data, rel
CJNE @Ri, #data, rel
1、比较前面两个操作数(无符号整数)的大小,如果不相等则
转移,若相等则顺序执行下一条指令。
2、如果第一操作数小于第二操作数, 则Cy标志位置1, 否则清0。
如常把CJNE 第一操作数, 第二操作数, $+3
和JNC rel或JC rel 写在一块来判别2个数的大小。
$:本条指令在程序存储单元的首地址;
$+3:CJNE指令的下一条指令,即JNC rel或JC rel
七、减1不为0转移指令
DJNZ Rn, rel ;n=0~7
DJNZ direct, rel
将源操作数内容减1,结果回送到Rn寄存器或direct中去。如果源操作数内容不为0则转移,为0则顺序执行下一条指令。
主要用于控制程序循环。
1、把寄存器Rn或内部RAM的direct单元用作程序循环计数器
2、以减1后是否为“0”作为转移条件,实现按次数控制循环
八、子程序调用、返回指令
1、短调用指令 ACALL addr11 (双字节)
2K范围内的子程序调用。
2、长调用指令 LCALL addr16 (三字节)
64K范围内的子程序调用。
执行本指令时:
(1)断点地址(调用指令的下一条指令的首地址PC+2或PC+3)
保护
(SP)+1→SP,然后PCL →(SP)
(SP)+1→SP,然后PCH →(SP)
(2)将子程序首地址送入PC,执行子程序
3、子程序返回指令 RET
断点地址恢复
(SP) →PCH,(SP) - 1→SP
(SP) →PCL ,(SP) - 1→SP
功能:从堆栈中退出PC的高8位和低8位字节,把栈指针减2,从PC值开始继续执行程序。不影响标志位。
4、中断返回指令 RETI
与RET指令相似,不同之处在于断点地址恢复,清除中断响应时被置“1”的51内部中断优先级寄存器的优先级状态。
子程序是编程时就已确定的固定位置调用,而中断服务子程序是由中断系统控制在特定条件下随机调用的。
九、空操作指令 NOP,消耗1个机器周期的时间

Ⅵ 单片机AJMP指令和LJMP指令有何区别

区别如下:

1、定义不同。

AJMP是无条件跳转指令之一,叫做绝对跳转。而LJMP则是长转移指令。如果一个程序代码在2KB以内(是指编译后的BIN代码),可以用AJMP指令。如果一个程序代码超过了2KB,就要用LJMP指令了。

2、范围不同。

AJMP 跳转的范围是2KB之内的,就是AJMP指令和跳转的目的地址在ROM中的同一个2KB范围内。

LJMP 跳转的范围是64KB全部的ROM存储区。

3、使用功能不同。

AJMP主要是用来改变程序执行的路线,到需要的指令或程序去执行。ljmp长转移指令的功能是:把指令码中的目标地址addr16装入程序计数器PC,使机器执行下一条指令时无条件转移到addr16处执行程序,不影响任何标志。

阅读全文

与单片机跳转指令相关的资料

热点内容
单片机带的比较器 浏览:391
程序员都是精英 浏览:17
10种编程语言 浏览:747
绵阳学驾驶手机上下什么app 浏览:126
python如何模拟网页操作 浏览:40
单片机多文件编译方法 浏览:838
不动产压缩时间 浏览:569
租房管理平台源码 浏览:65
复乐园pdf 浏览:455
程序员找到公交车 浏览:695
婴儿宝宝操有什么APP推荐 浏览:71
如何将数据库附加到服务器上 浏览:391
php退出循环 浏览:479
梦幻西游怎么修改服务器人数上限 浏览:330
自动开启命令 浏览:845
查询云服务器访问的ip 浏览:836
智能app的弱点是什么 浏览:410
php实现的n 浏览:544
Python写出特效 浏览:976
加密的zip压缩包修复 浏览:415