0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ARM汇编指令:异常产生指令和伪代码

麦辣鸡腿堡 来源:嵌入式Linux系统开发 作者:Jasonangel 2023-10-07 14:29 次阅读

异常产生指令

1、【SWI指令】

SWI 24位的立即数

SWI指令用于产生软件中断,以便用户程序能调用操作系统的系统例程。

SWI  0x02 ;该指令调用操作系统编号位02的系统例程。

2、【BKPT指令】

BKPT   16位的立即数

BKPT指令产生软件断点中断,可用于程序的调试。

伪代码

1.【AREA】

一个汇编程序至少要包含一个段,当程序太长时,也可以将程序分为多个代码段和数据段,因此在汇编程序的开头,我们一般的语句会用到AREA。

AREA 段名 属性 1 ,属性 2 ,....
AREA Init ,CODE ,READONLY ;定义一个代码段,段名为 Init ,属性为只读。

2、【ALIGN】

ALIGN { 表达式 { ,偏移量 }}

ALIGN 伪指令可通过添加填充字节的方式,使当前位置满足一定的对其方式。其中,表达式的值用于指定对齐方式,可能的取值为2的幂,如 1 、2 、4 、8 、16 等。eg : xxx = ALIGN(4)

3、【CODE16、CODE32】

CODE16 (或 CODE32 )

CODE16 伪指令通知编译器,其后的指令序列为 16 位的 Thumb 指令。

CODE32 伪指令通知编译器,其后的指令序列为 32 位的 ARM 指令。

4、【ENTRY】

ENTRY      
ENTRY(stext)

很常见!!!ENTRY 伪指令用于指定汇编程序的入口点。在一个完整的汇编程序中至少要有一个 ENTRY (也可以有多个,当有多个 ENTRY 时,程序的真正入口点由链接器指定),但在一个源文件里最多只能有一个 ENTRY (可以没有)。

5、【END】

END

END 伪指令用于通知编译器已经到了源程序的结尾。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9021

    浏览量

    366378
  • Linux
    +关注

    关注

    87

    文章

    11196

    浏览量

    208662
  • 指令
    +关注

    关注

    1

    文章

    606

    浏览量

    35603
  • 代码
    +关注

    关注

    30

    文章

    4714

    浏览量

    68196
  • 系统
    +关注

    关注

    1

    文章

    1006

    浏览量

    21286
收藏 人收藏

    评论

    相关推荐

    讲讲ARM指令集格式以及常用的ARM汇编指令

    对于搞嵌入式驱动或者操作系统的人来说,掌握汇编语言的使用还是比较重要的,毕竟有时候在分析定位问题的时候,多多少少都会有汇编的身影。本文主要讲讲ARM指令集格式以及常用的
    的头像 发表于 11-08 12:34 3340次阅读
    讲讲<b class='flag-5'>ARM</b><b class='flag-5'>指令</b>集格式以及常用的<b class='flag-5'>ARM</b><b class='flag-5'>汇编</b><b class='flag-5'>指令</b>

    常用ARM指令集及汇编

    集效率高,但是代码密度低,而Thumb指令集具有更好的代码密度,却仍然保持ARM的大多数性能上的优势,它是ARM
    发表于 11-23 09:38

    ARM汇编指令

    ,这样好记): (1)RESET异常:由于执行RESET指令或外部RESET信号产生异常 (2)SWI异常:执行SWI
    发表于 12-22 00:39

    什么是异常中断产生指令

    软件中断指令SWI用于产生SWI异常中断,用来实现在用户模式下对操作系统中特权模式的程序调用;断点中断指令BKPI主要用于产生软件断点,供调
    发表于 07-19 10:34

    【工程源码】ARM汇编指令 连载一

    快很多。我现在看一些执行起来很奇怪的代码,就直接看看对应的汇编部分,很多C语言中不易发现的问题,汇编一目了然。相信了解过arm汇编的都听说过
    发表于 02-29 19:35

    常用的ARM汇编指令

    第一次写博客,请各路大神多多关照。本人从事软件开发相关的工作,平时主要用c语言撸代码,前段时间因工作需要,接触到了ARM架构下的汇编指令,之前学过51单片机的
    发表于 07-01 11:06

    浅析ARM体系异常分类及其代码

    MMU,引起异常指令的物理地址被存储到内存中。代码r14_svc = address of the aborted instruction+4SPSR_und = CPSRCPS
    发表于 04-13 11:44

    常用ARM指令集与汇编

    常用ARM指令集与汇编 好资料,与你供享。只供学习!
    发表于 03-25 16:34 74次下载

    常用arm指令集及汇编

    常用arm指令集及汇编
    发表于 09-09 14:22 34次下载
    常用<b class='flag-5'>arm</b><b class='flag-5'>指令</b>集及<b class='flag-5'>汇编</b>

    arm汇编指令详解

    arm汇编指令详解
    发表于 02-11 10:51 215次下载
    <b class='flag-5'>arm</b><b class='flag-5'>汇编</b><b class='flag-5'>指令</b>详解

    操作命令与宏指令

    在指示性语句中使用的操作命令,无论其表示格式或其在语句中的位置,都与CPU的汇编指令相类似,但是它在汇编过程中不产生目标
    发表于 07-03 23:50 0次下载

    Thumb指令集之异常中断产生指令解析

    11.7 异常中断产生指令(断点指令) Thumb异常中断产生
    发表于 10-19 09:32 0次下载
    Thumb<b class='flag-5'>指令</b>集之<b class='flag-5'>异常</b>中断<b class='flag-5'>产生</b><b class='flag-5'>指令</b>解析

    ARM汇编器所支持的伪指令浅析

    10.2 ARM汇编器所支持的伪指令 ARM汇编器支持ARM
    发表于 10-19 10:11 2次下载

    协处理器及其他指令异常产生指令

    9.5 异常产生指令 ARM指令集中提供了两条产生异常
    发表于 10-19 10:11 1次下载
    协处理器及其他<b class='flag-5'>指令</b>之<b class='flag-5'>异常</b><b class='flag-5'>产生</b><b class='flag-5'>指令</b>

    常用的ARM指令集及汇编

    常用的ARM指令集及汇编
    发表于 10-30 10:07 24次下载
    常用的<b class='flag-5'>ARM</b><b class='flag-5'>指令</b>集及<b class='flag-5'>汇编</b>