历史上的今天
今天是:2025年01月12日(星期日)
2020年01月12日 | ARM汇编程序结构
2020-01-12 来源:eefocus
一个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
...
上一篇:ARMGNU伪指令
下一篇:ARM汇编与C混合编程
史海拾趣
|
SX1213 Receiver Ultra-Low Power Integrated UHF Receiver The SX1213 is a low cost single-chip receiver operating in the frequency ranges from 300MHz to 510MHz. The SX1213 is optimized for very low power consumption (3mA). It incorporates a baseband demodulator with data rates up to 200 ...… 查看全部问答> |
|
在当前的经济环境下,许多企业纷纷在削减无法在12个月里面带来丰厚投资回报的IT项目。但虚拟化项目却是几乎普通得到CIO们认可的IT项目之一,因为它有望提高效率、降低成本、迅速带来投资回报,还能提供一种与主要业务功能保持一致的更灵活的模式。 ...… 查看全部问答> |
|
现在的嵌入式操作系统五花八门,当然在国内最为流行的大概还是linux,wince。我发这个帖子是想了解下,各位在工作中对实时操作系统的需求有多大,linux算不上一个实时系统。wince勉强算吧。实时系统中有一些小内核的如uc/os和freertos,还有老牌的vx ...… 查看全部问答> |
|
请教:XILINX生成的标准时延文件,用MODELSIM后仿真,标准时延文件SDF文件加载失败,错误结果:# Loading C:/Modeltech6.2b/xilinx_lib/simprim_ver.X_ONE# Loading C:/Modeltech_6.2b/xilinx_lib/simprim_ver.X_ZERO# Loading work.glbl# ** Error ...… 查看全部问答> |
|
这个问题源于毕业论文的一句话。现在想做个小调查,之前因为考虑不周,加上对论坛的 投票贴 不甚了解,闹了不少笑话,请大家见谅。现在先开个帖子,看看大家都用的什么型号和开发欢迎。我前后使用过的51型号有AT89S52STC12C2052(AD)STC12C5A60S2开 ...… 查看全部问答> |
|
我在测试P2_0口的触发中断,配置如下:void Exti_Init(void){ EA = ENABLE; ///开总中断 P2IEN |= 0X01; ...… 查看全部问答> |




