当前位置: 肆参拓扑网 > 知识问答 > 单片机的一条指令: sjmp $ 是啥意思

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

时间:2024-06-01 21:55:21来源:肆参拓扑网

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

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

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

扩展资料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中,然后再用读写命令。

参考资料来源:

免责声明:文章数据由网友投稿或转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请与本站管理员联系,我们将在第一时间删除内容!
Copyright ©2020-2024 肆参拓扑网 (www.43tp.com) 版权所有 琼ICP备2022010180号-11