2020年 09月 19日 星期六
您的位置: 威廉希尔主页 > 单片机技术 >

什么是指令 51单片机共有多少指令

来源:未知     作者:威廉希尔     发布时间:2020-09-18 00:35         

  一条指令只能完成有限的功能,为使计算机完成一定的或者复杂的功能,就需要一系列指令。一般来说,一台计算机的指令越丰富,寻址方式越多,且每条指令的执行速度越快,则它的总体功能就越强。

  本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

  1、ADR伪指令--- 小范围的地址读取ADR伪指令将基于PC相对偏移的地址值或基于寄存器相对偏移的地址值读取到寄存器中。在汇编编译器编译源程序时,ADR伪指令被编译器替换成一条合适的指令。通常,编译器用一条ADD指令或SUB指令来实现该ADR伪指令的功能,若不能用一条指令实现,则产生错误,编译失败。ADR伪指令格式 :ADR{cond} register, exp地址表达式expr的取值范围:当地址值是字节对齐时,其取指范围为: +255 ~ 255B;当地址值是字对齐时,其取指范围为: -1020 ~ 1020B;2、ADRL伪指令----中等范围的地址读取ADRL伪指令将基于PC相对偏移的地址值或基于寄存器相对偏移的地址值

  MSP430的一个时钟周期 = 晶振的倒数。如果晶振是8M,则一个时钟周期为1/8微秒;一个机器周期 = 一个时钟周期,即430每个动作都能完成一个基本操作;一个指令周期 = 1~6个机器周期;也就是说执行一条指令最多花6*1/8微秒。另外,_NOP()是单周期的指令,I/O口赋值是4周期的。

  前面我们学习ARM工作模式中,处理器模式切换可以通过软件控制进行切换,即修改CPSR模式位,但这是在模式下,当我们处于用户模式下,是没有权限实现模式转换的。若想实现模式切换,只能由另一种方法来实现,即通过外部中断或是异常处理过程进行切换。于是ARM指令集中提供了两条产生异常的指令,通过这两条指令可以用软件的方法实现异常,其中一个就是中断指令SWI。一、软件中断软中断是利用硬件中断的概念,用软件方式进行模拟,实现从用户模式切换到模式并执行程序的机制。硬件中断是由电平的物理特性决定,在电平变化时引发中断操作,而软中断是通过一条具体指令SWI,引发中断操作,也就是说用户程序里可以通过写入SWI指令

  注意:此文档会根据学习过程中遇到的ARM汇编指令,持续更新。LDR汇编指令:LDR指令的格式为:LDR{条件} 目的寄存器,存储器地址LDR指令用于从存储器中将一个32位的字数据传送到目的寄存器中。该指令通常用于从存储器中读取32位的字数据到通用寄存器,然后对数据进行处理。当程序计数器PC作为目的寄存器时,指令从存储器中读取的字数据被当作目的地址,从而可以实现程序流程的跳转。该指令在程序设计中比较常用,寻址方式灵活多样,请读者认真掌握。指令示例:LDR R0,[R1] //将存储器

  在嵌入式开发中,汇编程序常常用于非常关键的地方,比如系统启动时的初始化,进出中断时的保存、恢复,对性能要求非常苛刻的函数等。只在必要情况下使用汇编指令,只涉及几条汇编指令。1.相对跳转指令:b、bl这两条指令的不同之处在于bl指令除了跳转之外,还将返回地址(bl的下一条指令的地址)保存在lr寄存器中。这两条指令的可跳转范围是当前指令的前后32M:-32M~+32M。它们是无关的指令。使用示例: b fun1......fun1: bl fun2......fun2:......2.数据传送指令mov,地址读取伪指令ldrmov指令可以把一个寄存器的值赋给另一个寄存器,或者把一个赋给寄存器。例子如下:mov r1, r2

  Beginning Robotics with Raspberry Pi and Arduino.pdf

  51单片机PIC单片机AVR单片机ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源下载单片机习题与教程

      威廉希尔