- 1、本文档共35页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ANSIC语言程序
* * 第四章 ARM嵌入式系统的编程 4.1 ARM汇编语言伪操作、宏指令和伪指令(P173) 1、伪操作:为完成汇编程序做各种准备工作,只在汇编过程中起作用,一旦汇编结束,它的作用也随之结束。 2、宏指令:是一段独立的程序代码,可插在源程序中。与子程序相似,但有本质不同。 3、伪指令:在汇编时将被合适的指令代替。 伪操作、宏指令一般与编译器有关,常用ARM编译开发环境有2种:GNU(基于Embest IDE环境)和ADS(ARM公司提供) 一、基本概念 二、GNU编译环境下的常用ARM伪操作和宏指令 1、常量编译控制伪操作(P201) .byte 分配一段字节内存单元(字节对齐) 例: .byte 21, 48, 89, 0x13, 0xFF 类似的有: .hword 分配一段字节内存单元(半字对齐) .word、 .long、 .int 分配一段字节内存单元(字对齐) 2、字符编译控制伪操作(204) (1).equ 为数字常量、基于寄存器的值和程序中的标号定义一个字符名称。 例: .equ num , 20 (2) .global 声明一个全局变量(声明一个能被其他文件引用的符号) 例: .global _start 3、汇编程序代码控制伪操作(P205) .text 代码段开始 .data 数据段开始 .bss bss段开始(未初始化的全局变量) .code 16| 32 .thumb .arm .end 标记汇编文件结束 .include 将一个源文件包含到当前文件中 4、宏编译控制伪操作(P207) 5、条件编译控制伪操作(P209) 三、ARM汇编语言的伪指令(P211) 1、小范围的地址读取伪指令ADR 2、中等范围的地址读取伪指令ADRL 3、大范围的地址读取伪指令LDR(P214) 示例89(233)ADS和GNU编译环境下程序比较 4.2 嵌入式系统汇编程序举例 1、单简的ARM指令程序GUN与ADS环境下编程比较(P233) .global _start .text _start: MOV R0, #10 MOV R1, #3 ADD R0,R0,R1 stop: MOV R0, #0x18 LDR R1, =0X20026 SWI 0X123456 .end AREA ARMex,CODE,READONLY ENTRY start MOV R0, #10 MOV R1, #3 ADD R0,R0,R1 stop MOV R0, #0x18 LDR R1, =0X20026 SWI 0X123456 END 2、示例90 数据块复制(P234) 8 8 src dst 3、示例91利用跳转表实现程序跳转(P236) BL Func … Func: … ADR R3,JTable LDR PC,[R3,R0,LSL,#2] JTable: DCD DoAdd /*4字节子程序入口地址*/ DCD DoSub /*4字节子程序入口地址*/ DoAdd: … DoSub: … 4.3 嵌入式C语言程序设计基础 C语言“预处理伪指令” 嵌入式程序设计中的函数及函数库 嵌入式程序设计中常用的C语言语句 嵌入式程序设计中C语言的变量、数组、结构、联合 一、C语言“预处理伪指令” “预处理命令”可以改进程序设计的环境,提高编程效率,一般以#号打头 ,可分为以下三种 : 文件包含 宏定义 条件编译 文件包含伪指令的格式(P239) #include头文件名.h ;标准头文件 #include“头文件名.h” ;自定义头文件 #include 宏标识符 简单宏: # define宏标识符 宏体 参数宏:# define 宏标识符(形式参数表) 宏体 条件宏定义:(P242) #ifdef 宏标识符 [#undef 宏标识符] #define 宏标识符 宏体 #else #define 宏标识符 宏体 #endif
您可能关注的文档
- 2016年软件和集成电路产业发展专项资金拟支持项目公示(第一批).doc
- 2016年非全日制控制工程专业研究生招生简章(非全日制)-北京工商大学.doc
- 2016年度全国学会财务决算系统使用说明.doc.doc
- 2017H13019钙离子成像系统谈判文件.doc-江苏师范大学.doc
- 2015年H1液晶显示器技术指标分析报告.doc
- 2016年度重庆市第七批市科技计划项目表-重庆市科委.doc
- 20th国品奖作业程序-企业经营品质跃升计画.doc
- 24项经典实践技能考试操作试题一、手术区消毒和铺巾【目的】消灭拟作.doc
- 2b.贮存数据和程序的观念填充题电脑网络大致可以分为局部区域网络.doc
- 21.3ITS中的通信技术-Read.ppt
- 北京市2024-2025学年高一上学期月考物理试卷含答案.docx
- 北京市2024-2025学年高二上学期9月月考物理试卷含答案.docx
- 湖南省A佳教育2024-2025学年高三上学期11月联考物理试卷含答案.docx
- 安徽省芜湖市2024-2025学年高一上学期期中地理试题含答案.docx
- 安徽省合肥市2024-2025学年高二上学期第四次检测物理试题含答案.docx
- 安徽省池州市贵池区2024-2025学年高二上学期期中检测数学试题含答案.docx
- 安徽省临泉2024-2025学年高一上学期期中英语试卷含答案.docx
- 安徽省黄山市屯溪2024-2025学年高三上学期11月期中数学试题含答案.docx
- 广东省东莞市两校2024-2025学年高一上学期期中联合考试 地理含答案.docx
- 北京市中关村2024-2025学年高一上学期10月月考 化学试卷含答案.docx
文档评论(0)