NOKIA提供的SYMBIAN開發都是C/C++的例子程序,就封裝了絕大多數的底層操作。不過有些時候,爲了加快運行速度,我們還是可以使用彙編語言來編寫子程序的。當然,使用的是ARM彙編,而不是我們一般學習的80X86彙編
這裏我舉個簡單的TestArm.S的彙編例子.
首先,在src目錄下增加一個TestArm.S的文件。然後寫上如下的彙編代碼。
.text
.global MyAdd
MyAdd:
add r0,r0,r1
mov pc,lr
完成一個加法的子程序。
然後,在View類的C++程序中,增加對它使用的代碼:
extern "C"{
extern int MyAdd(int a,int b);
}
記住,匯編寫出來的都是C語言的函數。
使用直接使用這個函數就OK了。
int c = MyAdd(100,100);
最後,修改MMP文件。
慶幸的是,GCC能夠自己識別彙編還是C/C++文件。所以,直接增加到MMP一行就OK了。
SOURCE TestArm.S
不過最後說一下,這樣只能是在abld build armi urel來編譯。不能在WINDOWS上編譯,更不能在WINDOWS上運行,或者說是80X86上運行。
關於ARM彙編語言的編寫,找一些搞嵌入式開發的資料就可以了。其實Symbian也無法是個嵌入式設備的操作系統。