ARM汇编伪指令AREA

news2024/12/26 21:29:16

ARM伪指令AREA用于定义一个代码段或数据段。其基本的语法格式如下:

AREA 段名 属性1,属性2, ...

其中:

  • 段名:是你为代码段或数据段指定的名称。如果段名以数字开头,则该段名需要用“│”括起来,如│1_test│。段名可以使用字母、小数点、竖线符号|、下划线_,等字符
  • 属性:用来描述代码段或数据段的特性。多个属性之间用逗号分隔。

常用的属性包括:

  • CODE:用于定义代码段,其默认属性为READONLY,该AREA区域中的代码或描述会被编译到FLASH中
  • DATA:用于定义数据段,其默认属性为READWRITE,一般该AREA区域中的代码或描述会被编译到RAM中
  • READONLY:指定本段为只读,常用于代码段,该属性值常和属性值CODE一起出现。
  • READWRITE:指定本段为可读可写,常用于数据段,该属性值常和属性值常和DATA一起出现。
  • ALIGN:用于指定对齐方式,其后面跟的是一个表达式,该表达式的取值范围通常为0~31,表示以2的表达式次方进行对齐。
  • COMMON:定义一个通用的段,它不包含任何的用户代码和数据。各源文件中同名的COMMON段会共享同一段存储单元,这相当于静态引用。

以STM32的启动文件为例,里面有很多AREA指令

图1

图2

可以看到,按照ARM的规则,AREA指令后面紧跟段名,有些段名是保留的(编译器内置的),这些保留的段名有特殊意义,例如上图中出现的特殊段名有:STACK、HEAP、RESET,|.text|。

对于STACK段,编译器会把该区域的【汇编代码或描述】编译到栈区,也即内存的最高字节处。

对于RESET段,编译器会把该区域的【汇编代码或描述】编译到flash的起始地址处,对于ARM一般是0x8000000,如果你修改了。

注意上面【】中说的不是汇编代码,而是【汇编代码或描述】。例如RESET段就是一个典型的没有可执行代码的区域,里面只有【描述】,确切说就是里面只有DCD占位指令,利用这些DCD描述了中断向量表,也即中断和异常的函数指针,如上图1所示.

而在有些段中,里面都是些汇编代码,如上图2中的|.text|段中,里面是由PROC和ENDP指令包裹的汇编函数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1614185.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

文档在线预览,可以私有化局域网在服务器部署组件来实现在线预览

去官网查看 几行代码即可运行 https://kkfileview.keking.cn/zh-cn/index.html

引用静态方法

import java.util.Arrays; import java.util.Comparator;public class demo1 {//引用public static void main(String[] args) {Integer []arr{1,2,4,3,8,6};//匿名内部类Arrays.sort(arr, new Comparator<Integer>() {Overridepublic int compare(Integer o1, Integer o…

深度神经网络(DNN)

通过5个条件判定一件事情是否会发生&#xff0c;5个条件对这件事情是否发生的影响力不同&#xff0c;计算每个条件对这件事情发生的影响力多大&#xff0c;写一个深度神经网络&#xff08;DNN&#xff09;模型程序,最后打印5个条件分别的影响力。 示例 在深度神经网络&#xf…

葡萄书--深度学习基础

卷积神经网络 卷积神经网络具有的特性&#xff1a; 平移不变性&#xff08;translation invariance&#xff09;&#xff1a;不管检测对象出现在图像中的哪个位置&#xff0c;神经网络的前面几层应该对相同的图像区域具有相似的反应&#xff0c;即为“平移不变性”。图像的平移…

OJ:寻找独一无二的数

目录 &#x1f3dd;1.问题描述&#xff1a; &#x1f3dd;2.分析问题&#xff1a; &#x1f3dd;3.最终代码&#xff1a; &#x1f3dd;1.问题描述&#xff1a; &#x1f3dd;2.分析问题&#xff1a; 先看看下面的代码的结果是多少&#xff1f; #include<stdio.h> in…

深度学习之视觉特征提取器——VGG系列

VGG 提出论文&#xff1a;1409.1556.pdf (arxiv.org) 引入 距离VGG网络的提出已经约十年&#xff0c;很难想象在深度学习高速发展的今天&#xff0c;一个模型能够历经十年而不衰。虽然如今已经有VGG的大量替代品&#xff0c;但是笔者研究的一些领域仍然有大量工作选择使用VG…

多商户入驻型AI智能名片预约服务系统:掀起服务行业数字化革命狂潮!

多商户入驻型AI智能名片预约服务系统以其高效、便捷、智能的特点&#xff0c;成为服务行业数字化转型的重要推手。该系统通过整合线上线下资源&#xff0c;利用人工智能和大数据技术&#xff0c;为商户和消费者搭建了一个无缝对接的预约服务平台。商户可以轻松入驻系统&#xf…

【Java框架】SpringMVC(一)——基本的环境搭建及基本结构体系

目录 MVC模式视图(View)控制器(Controller)模型(Model)JSP Model1JSP Model2MVC的优点MVC的缺点 Spring MVC架构介绍特点 SpringMVC环境搭建(在前面Spring整合Mybatis的基础上)1.创建控制器Controller2.创建springmvc配置文件&#xff0c;并添加Controller的Bean3.web.xml中配置…

通用大模型研究重点之五:model services

Trtion https://github.com/openai/triton https://www.nvidia.cn/gpu-cloud/ngc-nvidia-triton/ https://github.com/openai/openai-cookbook https://github.com/openai/openai-python Triton 是一个由 NVIDIA 开发的开源推理服务平台&#xff0c;旨在简化和优化生产环境中的…

windows11 iis10中.net4.5不能用解决方法

问题iis设置4.0后运行程序提示web.config配置错误 解决方法&#xff1a; 管理员身份运行命令提示符分别运行如下命令&#xff1a; dism /online /enable-feature /featurename:IIS-ISAPIFilter dism /online /enable-feature /featurename:IIS-ISAPIExtensions dism /onli…

模拟量和开关量傻傻分不清?戳这文

在电子工程中&#xff0c;模拟量和开关量是最基本的信号类型&#xff0c;但它们在表示和处理方式上有着显著的不同。对于初入行的电子工程师来说&#xff0c;很容易混淆这两者。本文将用简洁明了的方式解释这两种信号类型&#xff0c;让你轻松掌握它们的区别。 1、模拟量 模拟…

js作业微博发言

微博 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv"X-UA-Compatible" content&q…

三款热门婴儿洗衣机深度测评,希亦、觉飞、RUUFFY谁更好用?

近几年科技高速发展&#xff0c;我们的生活也因此变得更加便捷、健康高效。尤其是在家庭生活中&#xff0c;各种新兴家电的出现让我们的生活变得更加健康卫生。婴儿洗衣机也为现代家庭提供了极大的便捷。由于婴儿刚出生免疫力比较弱&#xff0c;所以建议婴儿的衣物尽量和大人的…

在C#中,PDFsharp库使用(三):PDF提取

PDF提取 一、PDF提取功能&#xff0c;看图 二、PDF提取界面 三、PDF提取代码 //pdf提取---选择文件Button private void button9_Click(object sender, EventArgs e) {string oneFilePath GetOneFilepath();if (!string.IsNullOrEmpty(oneFilePath)){textBox3.Text oneFilePa…

Java多线程交替打印

多线程交互 在Java中&#xff0c;可以使用synchronized关键字或者java.util.concurrent包中的工具来实现多线程交替打印。以下是一个使用synchronized关键字的示例&#xff1a; public class AlternatePrinting {private static final Object lock new Object();private sta…

设计模式之创建型模式---工厂模式

文章目录 工厂模式概述简单工厂简单工厂的代码实现简单工厂的使用简单工厂应用场景 工厂方法工厂方法模式的代码实现工厂方法的使用工厂方法应用场景 抽象工厂抽象工厂模式代码实现抽象工厂的使用方法抽象工厂模式的应用场景 总结 工厂模式概述 工厂模式从名字就能看出&#x…

【Java笔记】如何创建自己的注解+注解怎么用于反射+SpringBoot常见注解

文章目录 0. 为什么SpringBoot要整这么多注解&#xff1f;1. 一些基础知识1.1 什么是注解1.2 Java内置注解1.2.1 作用在代码上的注解1.2.2 作用在注解的注解&#xff08;元注解&#xff09;1.2.3 Java 7之后的新注解 1.3 注解的作用1.4 如何实现一个自己的注解&#xff1f;1.4.…

向量的求导

参考&#xff1a; 向量的求导 向量内积求导

如何提交已暂存的更改到本地仓库?

文章目录 如何提交已暂存的更改到本地Git仓库&#xff1f;步骤1&#xff1a;确认并暂存更改步骤2&#xff1a;提交暂存的更改到本地仓库 如何提交已暂存的更改到本地Git仓库&#xff1f; 在Git版本控制系统中&#xff0c;当你对项目文件进行修改后&#xff0c;首先需要将这些更…

Diffusion Model原理剖析

目录 前言1. DDPM演算法初览2. 图像生成模型共同目标3. VAE: Lower bound of l o g P ( x ) logP(x) logP(x)4. Diffusion Model背后的数学原理5. 为什么需要Sample?6. Diffusion Model的应用7. Diffusion Model成功的关键总结参考 前言 接着上篇文章 图像生成模型浅析&#…