当前位置:藏獒宠物网>百科>综合>正文

ajmp和sjmp有啥区别

人气:360 ℃/2023-07-12 17:00:01

1、字节不同

SJMP 如果跳转到的标号地址距离当前PC所指的地址小于256字节,用SJMP。

AJMP 如果跳转到的标号地址距离当前PC所指的地址小于2K字节,用AJMP。

LJMP 如果跳转到的标号地址距离当前PC所指的地址小于64K字节,用LJMP。

ACALL是调用的子程序入口地址距离当前PC所指地址需介于0~2K,LCALL是0~64K。  

2、跳转的范围不一样。

AJMP 的范围是11位地址,也就是2K的空间内,占用存储空间2个字节,执行周期24个时钟周。

LJMP 的范围是16位地址,也就是64K的空间内,占用存储空间3个字节,执行周期24个时钟周期。

SJMP 的范围是8位地址,也就是256BIT的空间内,占用存储空间2个字节,执行周期24个时钟周期。

JMP一般配合DPTR使用,存储空间1个字节,执行周期24个时钟周期。一般用于多分枝选择的时候使用,比如按键处理。

ACALL,LCALL和以上说明类似,是调用指令,ACALL占用存储空间2个字节,执行周期24个时钟周期。LCALL占用存储空间3个字节,执行周期24个时钟周期。

搜索更多有关“ajmp和sjmp有啥区别”的信息 [百度搜索] [SoGou搜索] [头条搜索] [360搜索]
CopyRight © 2009-2024 藏獒宠物网 All Rights Reserved. 手机版