異常產(chǎn)生指令
1、【SWI指令】
SWI 24位的立即數(shù)
SWI指令用于產(chǎn)生軟件中斷,以便用戶(hù)程序能調(diào)用操作系統(tǒng)的系統(tǒng)例程。
SWI 0x02 ;該指令調(diào)用操作系統(tǒng)編號(hào)位02的系統(tǒng)例程。
2、【BKPT指令】
BKPT 16位的立即數(shù)
BKPT指令產(chǎn)生軟件斷點(diǎn)中斷,可用于程序的調(diào)試。
偽代碼
1.【AREA】
一個(gè)匯編程序至少要包含一個(gè)段,當(dāng)程序太長(zhǎng)時(shí),也可以將程序分為多個(gè)代碼段和數(shù)據(jù)段,因此在匯編程序的開(kāi)頭,我們一般的語(yǔ)句會(huì)用到AREA。
AREA 段名 屬性 1 ,屬性 2 ,....
AREA Init ,CODE ,READONLY ;定義一個(gè)代碼段,段名為 Init ,屬性為只讀。
2、【ALIGN】
ALIGN { 表達(dá)式 { ,偏移量 }}
ALIGN 偽指令可通過(guò)添加填充字節(jié)的方式,使當(dāng)前位置滿(mǎn)足一定的對(duì)其方式。其中,表達(dá)式的值用于指定對(duì)齊方式,可能的取值為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)
很常見(jiàn)?。。NTRY 偽指令用于指定匯編程序的入口點(diǎn)。在一個(gè)完整的匯編程序中至少要有一個(gè) ENTRY (也可以有多個(gè),當(dāng)有多個(gè) ENTRY 時(shí),程序的真正入口點(diǎn)由鏈接器指定),但在一個(gè)源文件里最多只能有一個(gè) ENTRY (可以沒(méi)有)。
5、【END】
END
END 偽指令用于通知編譯器已經(jīng)到了源程序的結(jié)尾。
-
ARM
+關(guān)注
關(guān)注
135文章
9498瀏覽量
388427 -
Linux
+關(guān)注
關(guān)注
88文章
11622瀏覽量
217832 -
指令
+關(guān)注
關(guān)注
1文章
617瀏覽量
37292 -
代碼
+關(guān)注
關(guān)注
30文章
4940瀏覽量
73080 -
系統(tǒng)
+關(guān)注
關(guān)注
1文章
1043瀏覽量
22165
發(fā)布評(píng)論請(qǐng)先 登錄
講講ARM指令集格式以及常用的ARM匯編指令
Whetstone代碼涉及的浮點(diǎn)指令匯編分析
常用ARM指令集及匯編
ARM匯編指令
什么是異常中斷產(chǎn)生指令
常用的ARM匯編指令
淺析ARM體系異常分類(lèi)及其偽代碼
偽操作命令與宏指令
Thumb指令集之異常中斷產(chǎn)生指令解析

ARM匯編指令:異常產(chǎn)生指令和偽代碼
評(píng)論