異常產(chǎn)生指令
1、【SWI指令】
SWI 24位的立即數(shù)
SWI指令用于產(chǎn)生軟件中斷,以便用戶程序能調(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)前位置滿足一定的對(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)!!!ENTRY 偽指令用于指定匯編程序的入口點(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)注
134文章
9165瀏覽量
369190 -
Linux
+關(guān)注
關(guān)注
87文章
11345瀏覽量
210391 -
指令
+關(guān)注
關(guān)注
1文章
611瀏覽量
35812 -
代碼
+關(guān)注
關(guān)注
30文章
4825瀏覽量
69046 -
系統(tǒng)
+關(guān)注
關(guān)注
1文章
1019瀏覽量
21427
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論