在ARM嵌入式系統(tǒng)中,一般用C語言高級語言對各個應用接口模塊功能的實現(xiàn)進行程序設計,但是在某些地方用匯編語言更方便、簡單,而且有一些地方,例如用了來初始化電路以及用來為高級語言寫的軟件做好運行前準備的啟動代碼必須用匯編語言編寫。ARM嵌入式系統(tǒng)程序設計可分為ARM匯編語言程序設計、嵌入式C語言程序設計以及C語言與匯編語言的混合編程。
匯編語言的代碼率很高,一般用于對硬件的直接控制。因此,ARM匯編程序設計是嵌入式編程中的一個重要的也是必不可少的組成部分。
ARM匯編中的文件格式
ARM源程序文件可由任意一種文本編輯器來編寫程序代碼,它一般為文本格式。在ARM程序設計中,常用的源文件可簡單分為以下幾種,不同種類的文件有不同的后綴名,見表
源程序文件
文件名
說明
匯編程序文件
*.S
用ARM匯編語言編寫的ARM程序或Thumb程序
C程序文件
*.C
用C語言編寫的程序代碼
頭文件
*.H
為了簡化源程序,把程序中常用到的常量命名、宏定義、數(shù)據(jù)結構定義等單獨放在一個文件中,一般稱為頭文件
在ARM的一個工程中,可包含多個匯編源文件或多個C程序文件,或匯編源文件與C程序文件的組合,但至少要包含一個匯編源文件或C語言源文件。
ARM匯編語言格式
ARM匯編語言語句格式如下所示:
{symbol} {instruction | directive | psuedo-instruction} {;comment}
其中:
Instruction為指令。在ARM匯編語言中,指令不能從一行的行頭開始。在一行語句中,指令的前面必須有空格或符號。
directive為偽操作。
psuedo-instruction為偽指令。
Symbol為符號。在ARM匯編語言中,符號必須從一行的航頭開始,并且符號中不能包含空格。在指令和偽指令中符號用作地址標號;在有些偽操作中,符號用作變量或者常量。
comment為語句和注釋。在ARM匯編語言中注釋以分號“;”開頭。注釋的結尾即為一行的結尾。注釋也可單獨占用一行。
注意:
在ARM匯編語言中,各個指令及偽操作的助記符可全部用大寫字母,也可全部用小寫字母,但不能再一個助記符中既有大寫字母又有小寫字母。
源程序中,在語句之間適當?shù)夭迦肟招校商岣咴创a的可讀性。
如果一條語句很長,為了提高可讀性,可使用“\”將該長語句分成若干行來寫。在“\”之后不能再有其他字符,包含空格和制表符。