嵌入式系统PPT电子课件教案-第6讲_指令及程序设计.ppt_第1页
嵌入式系统PPT电子课件教案-第6讲_指令及程序设计.ppt_第2页
嵌入式系统PPT电子课件教案-第6讲_指令及程序设计.ppt_第3页
嵌入式系统PPT电子课件教案-第6讲_指令及程序设计.ppt_第4页
嵌入式系统PPT电子课件教案-第6讲_指令及程序设计.ppt_第5页
免费预览已结束,剩余16页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

转移指令,arm的转移指令可以从当前指令向前或向后的32mb的地址空间跳转,根据完成的功能它可以分为以下4种 : b 转移指令 bl 带链接的转移指令 bx 带状态切换的转移指令 blx 带链接和状态切换的转移指令,转移和转移链接指令(b,bl),转移指令b在程序中完成简单的跳转指令,可以跳转到指令中指定的目的地址。bl指令完全象转移指令一样地执行转移,同时把转移后面紧接的一条指令的地址保存到链接寄存器lr(r14)。汇编格式如下: bl ,转移交换和转移链接交换(bx,blx),这些指令用于支持thumb(16位)指令集的arm芯片,程序可以通过这些指令完成处理器从arm状态到thumb状态的切换。类似的thumb指令可以使处理器切换回32位arm指令。 汇编格式如下: 1: blx rm 2: blx ,程序状态寄存器与通用寄存器之间的传送指令,arm指令中有两条指令,用于在状态寄存器和通用寄存器之间传送数据。修改状态寄存器一般是通过“读取修改写回”三个步骤的操作来实现的。 这两条指令分别是: 状态寄存器到通用寄存器的传送指令(mrs) 通用寄存器到状态寄存器的传送指令(msr),mrs,其汇编格式如下: mrs rd,cpsr|spsr,msr,其汇编格式如下: msr cpsr_f | spsr_f,# msr cpsr_ | spsr_,rm,mrs r0,cpsr and r0, r0, #0xfffffff msr cpsr_cxsf, r0 mrs r0,cpsr orr r0, r0, #0x80 msr cpsr_cxsf, r0,异常中断指令,异常中断指令可以分为一下两种: 软件中断指令(swi) 断点指令(bkpt仅用于v5t体系) 软件中断指令swi用于产生swi异常中断,用来实现在用户模式下对操作系统中特权模式的程序的调用;断点中断指令bkpt主要用于产生软件断点,供调试程序用。,swi,swi(software interrupt)代表“软件中断”,用于用户调用操作系统的系统例程,常称为“监控调用”。它将处理器置于监控模式,从地址0x08开始执行指令。其汇编格式如下: swi ,断点指令(bkpt仅用于v5t体系),断点指令用于软件调试;它使处理器停止执行正常指令而进入相应的调试程序。 汇编格式如下: bkpt immed_16,arm伪指令,1、area伪指令 语法格式: area 段名,属性1,属性2,,2、entry 指定汇编程序的入口点 3、end 源程序的结尾,4、import 格式:import 标号 weak 通知编译器要使用的标号在其他的源文件中定义。 5、get 格式: get 文件名,汇编语言编程,area b_jump,code,readonly entry start pro1 ldr r0, =&0 bl pro2 cmp r0,#&4 beq pro3 pro2 add r0,r0,#&1 mov pc,lr pro3 ldr r0,=&8 b . end,从格式上看:一段完整的汇编程序可以分成4部分: 1、声明程序段 2、通知编译器程序入口 3、程序代码 4、通知编译器已到源程序结尾,从内容上看:一段完整的汇编程序主要由指令、伪指令、语句标号、注释组成。,混合语言编程,area asm,code,readonly import add entry ldr r0,=0x1 ldr r1,=0x2 ldr r2,=0x3 bl add b . end,int add(int a, int b, int c) return a+b+c; ,例:编程实现处理器的p0-p3口用于控制led灯闪烁 area init, code,readonly entry import c_entry bl c_entry b . end,void delay(unsigned counter); void c_entry( ) iopmod=0xf; while(1) iopdata=0x0; delay(5000); iopdata=0xf;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论