異常產生指令
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)
很常見?。。NTRY 偽指令用于指定匯編程序的入口點。在一個完整的匯編程序中至少要有一個 ENTRY (也可以有多個,當有多個 ENTRY 時,程序的真正入口點由鏈接器指定),但在一個源文件里最多只能有一個 ENTRY (可以沒有)。
5、【END】
END
END 偽指令用于通知編譯器已經到了源程序的結尾。
-
ARM
+關注
關注
134文章
9097瀏覽量
367585 -
Linux
+關注
關注
87文章
11304瀏覽量
209524 -
指令
+關注
關注
1文章
607瀏覽量
35714 -
代碼
+關注
關注
30文章
4788瀏覽量
68616 -
系統
+關注
關注
1文章
1017瀏覽量
21347
發布評論請先 登錄
相關推薦
評論