第3章 ARM系统硬件设计基础.ppt

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 3 章 ARM程序设计基础 3.1.2 ARM汇编语言的基本结构 ★在ARM汇编语言程序中,以程序段为单位来组织代码。 ★段可以分为代码段和数据段, 代码段的内容:执行代码。一个或多个代码段,代码段属性为只读 数据段内容:存放数据。零个或多个数据段,数据段的属性为 可读写 3.1.3 ARM汇编语言支持的伪指令 汇编语言的伪指令分为符号定义,数据定义, 汇编控制,宏指令以及其他的伪指令 一、其他的伪指令 1、AREA 定义一个代码段或数据段 格式:AREA 段名称, 段属性 段属性:CODE(代码段),DATA(数据 段),READONLY(只读),READWRITE(可读可写) 例:AREA Init,CODE,READONLY 2、ENTRY 指定汇编程序的入口点 3、END 指定汇编程序的结尾 4、CODE16/CODE32 通知编译器,其后的指令为16位的thumb指令或是32位的arm指令。 5、LDR,用32位常量或一个地址加载寄存器。 句法:LDR {cond} register,=32位数据或地址 例:LDR R0,=0XFFFFFFFF LDR R1,=LABEL(符号地址) 例: GET option.s GET memcfg.s GET 2410addr.s …….. AREA Init,CODE,READONLY ;定义代码段 ENTRY CODE32 b ResetHandler … ResetHandler LDR R0, =WTCON 禁止看门狗 LDR R1, =0x0 STR R1, [R0] LDR R0, =INTMSK ;禁止所有中断 LDR R1, =0xFFFFFFFF STR R1, [R0] ……. AREA Ramdata ,DATA,READWRITE ,ALIGN=2 ;定义数据段 ^ _ISR_STARTADDRESS HandleReset #4 ……. END 二、符号定义伪指令 定义汇编程序中使用的变量,并对变量赋值 1、GBLA/GBLL/GBLS:分别用于定于全局的数值变量、逻辑变量和字符串变量 2、LCLA/LCLL/LCLS:分别用于定于局部的数字变量、逻辑变量和字符串变量 3、SETA/SETL/SETS:分别用于数据、逻辑、字符串变量的赋值 例: GBLL AAA ;定义全局逻辑变量 AAA SETL {TRUE} ;全局逻辑变量赋值 GBLA BBB BBB SETA 16 GBLL THUMBCODE THUMBCODE SETL {TRUE} 三、数据定义伪指令 一般用于为特定的数据分配存储空间,同时可完成存储空间的初始化 1、SPACE 分配一段连续的存储空间,并初始化为0,也可用%代替。 例:data space 100 2、存储器单元分配( DCB\DCW\DCD) — DCB用于分配一片连续的字节存储单元,并用指定的数据初始化。 — DCW(DCWU) 用于分配一片连续的半字存储单元,并用指定的数据初始化。 — DCD(DCDU) 用于分配一片连续的字存储单元,并用指定的数据初始化。 DCB可用“=“表示 例: DataTest DCB 1,2 DCW 3,4 DCD 5,6 例: SMRDATA DCD 0X30 DCD (0+(24)+(18)+(112)+(116)+(120)+(224)+(228)) (与DCD 0X2211112相同) …. 同上: SMRDATA DATA DCD 0X30 DCD (0+(B1_BWSCON4)+(B2_BWSCON8)+(B3_BWSCON12)+(B4_BWSCON16)+(B5_BWSCON20)+(B6_BWSCON24)+(B7_BWSCON28)) …. 四、汇编控制伪指令 用于控制汇编程序的执行流程 1、if、else、endif [与if

文档评论(0)

441113422 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档