歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

ARM匯編程序---通過ARM匯編調用C語言函數實現累加

在C語言中定義實現一個累加的函數,參數是累加的最大值,從1加到此值。下面是代碼:

匯編代碼:其中注意開始的參數的定義要緊靠前面,負責無法讀出,其中要將C語言函數導入:IMPORT+函數名,並將你定義的匯編開始部分定義出去:EXPORT+開始函數名

STACK_TOP EQU 0x40002000 
N EQU 100 
    PRESERVE8 
    AREA HOMEWORK,CODE,READONLY 
    IMPORT add 
    EXPORT START 
    ENTRY 
START 
    LDR R13,=STACK_TOP 
    MOV R0,#N 
    BL add 
    LDR R3,=RESULT 
    STR R0,[R3] 
STOP 
    B STOP 
     
    AREA MYDATA,DATA,READWRITE 
RESULT 
    DCD 0 
 
    END 

C語言代碼:這個大家都看得懂,無須解釋。

int add(int num) 
{  int result=0; 
    int i; 
    for(i=1;i<=num;i++) 
    { 
        result=result+i; 
    } 
    return result; 

Copyright © Linux教程網 All Rights Reserved