ARM汇编程序结构

发布者:MindfulYogi最新更新时间:2020-01-12 来源: eefocus关键字:ARM  汇编程序  结构 手机看文章 扫描二维码
随时随地手机看文章

一个ARM程序可以被划分为多个代码段和数据段,在汇编的时候这些段会被形成一个可执行文件


.text   ;正文段,包含程序的指令代码

.data   ;数据段,包含固定的数据,如常量,字符串

.bss    ;未初始化数据段,包含未初始化的变量,数组等

.sdata

.sbss

.section .data

;initialized data


.section .bss

;uninitialized data


.section .text

.global _start


_start:

;instruction code

子程序调用

ARM汇编中,子程序的调用一般通过BL指令实现,在程序中,执行BL 子程序名即可完成子程序的调用。该指令在执行时完成如下操作:


将子程序的返回地址保存在LR

将PC指向子程序的入口

子程序执行完毕需要返回时只需将PC指向LR即可

.text

.global _start

_start:

ldr r0, =0x3ff5000

ldr r1, 0xff

str r1, [r0]

ldr r0, =0x3ff5000

ldr r1, 0x01

str r1, [r0]

bl  print_text  ;执行跳转


...

print_text:

...

mov pc, bl

...


关键字:ARM  汇编程序  结构 引用地址:ARM汇编程序结构

上一篇:ARMGNU伪指令
下一篇:ARM汇编与C混合编程

推荐阅读最新更新时间:2024-11-19 20:13

GNU ARM汇编快速入门
以前用ARM的IDE工具,使用的是ARM标准的汇编语言。现在要使用GNU的工具,当然要了解一点GNU ARM汇编的不同之处。其实非常的简单,浏览一下文档然后再看看程序就完全可以搞定了,或者你硬着头皮看GNU ARM的汇编程序,用不了多少时间你就就可以无师自通了。 ARM汇编语言源程序语句 ,一般由指令、伪操作、宏指令和伪指令作成。ARM汇编语言的设计基础是汇编伪指令,汇编伪操作和宏指令。 目前常用的ARM编译环境有2种: ARMASM: ARM公司的IDE中使用了CodeWarrior的编译器,绝大多数windows下的开发者都在使用这一环境,完全按照ARM的规定; GNU ARM ASM:GNU工具的ARM版本,与ARMASM
[单片机]
基于ARM嵌入式技术的牙椅控制系统设计
  1 引言   目前,市场高端牙椅设备基本被国外公司独断,一般其价格昂贵而且技术不转让。随着人们对口腔健康的日益重视,开发适合国情的高端一体化口腔诊疗系统显得尤为必要。牙椅控制器是一体化口腔诊疗系统的核心,其设计水平反映了整个系统的自动化程度,也是判定牙椅档次的一个重要依据。   本文研究开发了基于ARM嵌入式技术的牙椅控制系统。在控制系统中应用嵌入式操作系统,利用多任务管理、任务间同步与通信等功能,可更进一步提高系统可靠性和实时性,增强智能控制和管理水平。   2 整体功能概述   系统整体框图如图1 所示。牙椅控制系统设计必须满足医疗需求并方便使用操作。高档牙椅在实际工作中除了要满足上下仰卧四个基本方向的运动
[单片机]
基于<font color='red'>ARM</font>嵌入式技术的牙椅控制系统设计
ARM收购处理器验证公司Obsidian
据悉,处理器知识产权授权商ARM控股有限公司已经收购了Obsidian软件公司,后者是一家创建于1997年的私人持股公司,成立以来一直提供处理器验证产品,核查咨询和培训服务。 ARM为本次收购所支付的具体数额尚未透露。 “自开发Cortex-A8处理器以来,ARM一直同Obsidian保持着长期合作关系。”ARM处理器业务部门执行副总裁兼总经理Mike Inglis在一份声明中表示,“此次收购Obsidian,有助于我们进一步提高产品质量,并缩短基于ARM的SoC产品的上市时间。” 交易完成后,Obsidian软件验证团队将成为ARM德州检验团队的一部分。 Obsidian最知名的产品是随机架构
[嵌入式]
基于ARM核的音频解码器单芯片系统
摘 要: 简要介绍Cirrus Logic公司的嵌入式处理器产品EP7209的结构、功能、接口特性等,并给出基于EP7209所能构建的最大系统。对使用EP7209构建嵌入式系统有一定参考价值,也有助于了解ARM核。 关键词: 嵌入式处理器 嵌入式系统 ARM核 引 言    EP7209是世界上第一片既支持流行的MP3标准,也支持诸如Microsoft Audio等快速涌现的互联网音频压缩标准的数字音频解码器片上系统。EP7209在74MHz下运行时其性能与基于100MHz英特尔奔腾芯片的个人计算机相同,且消耗的功率特别小:在2.5V电压下,功耗不足170mW。它的ARM核提供了一个优秀的数字信号处理器所能够提供的处理能力,
[嵌入式]
基于<font color='red'>ARM</font>核的音频解码器单芯片系统
LPC系列arm处理器UART控制寄存器
U0RBR:接收器缓存寄存器 访问时,先要设定 U0LCR 的除数锁存访问位(DLAB)为 0。因为,U0DLL 与U0RBR/U0THR 在同一地址上。 DLAB = 1 时,选择 U0DLL 和 U0DLM (U0DLM 和 U0IER 在同一个地址上); DLAB = 0 时,选择 U0RBR/U0THR 和 U0IER。 U0DLL 和 U0DLM: 构成一个 16 位的除数。 VPB时钟(pclk) 是产生波特率的时钟源,波特率时钟源必须是波特率的16倍,于是有: baud_rate = pclk/(16*设定的除数) UART0 的中断: 有 4 个中断,分别是:
[单片机]
六、ARM 寻址方式
寻址方式是针对源操作数来说的 6.1 立即数寻址 源操作数是立即数 立即数:操作码以 # 号开头的数字为立即数 立即数寻址: MOV R0, #0x300 伪指令: LDR R0,=0x12345678 注意: 立即数是 8 位数据存储,用 X 表示(0~255),4 位存移位的次数,用 Y 表示(0~15),立即数 = X 循环右移 2 * Y 个位 立即数 0xf200 是由 0xcf2 间接表示的,即是由 8 位的 F2 循环右移 24 位(2 * 12)得到 X = 0xf2; Y = 0xC 6.2 寄存器寻址 MOV R0,R1 源操作数是 寄存器 6.3 寄存器移位寻址 将寄存器
[单片机]
六、<font color='red'>ARM</font> 寻址方式
单片机内部的存储器结构
  存储器是计算机的重要硬件之一, 单片机 存储器结构有两种类型:一种是程序存储器和数据存储器统一编址,属于普林斯顿结构,另一种是程序存储器和数据存储器分开编址的哈佛结构。 MCS-51 采用的是哈佛结构。   一、存储器具有的特点   程序存储器和数据存储器截然分开,各有自己的寻址系统,控制信号和特定的功能。程序存储器只存放程序和始终要保留的常数,数据存储器通常用来存放程序运行中所需要的大量数据。 单片机中与存储器有关的名称有:程序存储器和数据存储器、内部存储器和外部存储器、字节地址和位地址。存储器有一定的容量,常把一个 8 位二进制数作基本单位,叫作字节。存储器有很多字节单元,也用二进制数来标识,叫地址。这些存储器空间
[单片机]
单片机内部的存储器<font color='red'>结构</font>
ch32和gd32哪个好用?
Ch32和Gd32是两个比较常见的芯片系列,都是基于ARM Cortex-M3内核设计的,因此具有类似的特点和性能。在选择使用哪个芯片时,需要根据具体的项目需求和开发难度加以考虑。 首先,我们来简单介绍一下这两个芯片系列的特点。Ch32是中国厂商江苏长鹰半导体公司生产的一款芯片,可以实现信号的高速处理和计算机视觉应用,广泛应用于机器人、智能家居、智能驾驶等领域。Gd32则是由中国厂商北京兆易创新科技有限公司生产的芯片,主要应用于工控、嵌入式、智能家居、智能穿戴等领域。 在开发难度方面,刚开始学习嵌入式开发的初学者可能会觉得Gd32更加好用,因为它有完善的开发工具链和丰富的文档资料,对于初学者来说更加友好。Ch32的开发工具链和文档
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved