异常产生指令
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
+关注
关注
135文章
9583浏览量
393484 -
Linux
+关注
关注
88文章
11806浏览量
219508 -
指令
+关注
关注
1文章
624浏览量
37660 -
代码
+关注
关注
30文章
4975浏览量
74349 -
系统
+关注
关注
1文章
1047浏览量
22394
发布评论请先 登录
相关推荐
热点推荐
讲讲ARM指令集格式以及常用的ARM汇编指令
对于搞嵌入式驱动或者操作系统的人来说,掌握汇编语言的使用还是比较重要的,毕竟有时候在分析定位问题的时候,多多少少都会有汇编的身影。本文主要讲讲ARM指令集格式以及常用的
Whetstone代码涉及的浮点指令汇编分析
对benchmark中的whetstone进行代码分析,通过反汇编统计所出现的浮点指令,共有26种,如下
特点是只涉及单精度的浮点指令,并且存在有浮点Load/Store的压缩
发表于 10-22 08:11
常用的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汇编指令:异常产生指令和伪代码
评论