IT관련 지식들
2010. 3. 6. 09:49
armcc , armasm, armlink가 있으면 arm 32bit명령어 컴파일이 가능
--- main.c
#include <stdio.h>
int square(int i) ;
int main ()
{
int i ;
for (i=0 ; i < 10 ; i++)
{
printf ("Square of %d is %d\n", i, square(i));
}
exit (0);
}
--- square.s
AREA |.text|, CODE, READONLY
EXPORT square
; int square (int i)
square
MUL r1, r0, r0 ; r1 = r0 * r0
MOV r0, r1 ; r0 = r1
MOR pc, lr ; r0를 리턴
END
---compile
armcc -c main1.c
armasm square.s
armlink -o main.axf main1.o square.o
만약 Thumb 코드라면
--- square.s
AREA |.text|, CODE, READONLY
EXPORT square
; int square (int i)
square
MUL r1, r0, r0 ; r1 = r0 * r0
MOV r0, r1 ; r0 = r1
BX lr ; r0를 리턴
END
--- complie
tcc -c main1.c
armasm -apcs / interwork square2.s
armlink -o main2.axf main1.o square2.o
'IT관련 지식들' 카테고리의 다른 글
Big endian / little endian (0) | 2010.03.11 |
---|---|
Harvard architecture / Von-Neumann architecture (0) | 2010.03.11 |
CISC / RISC (0) | 2010.03.11 |
LDM, STM (0) | 2010.03.06 |
내가 헷갈리는 단어들 정리 중 (혹시 보다 이상하면 덧글달아주세요) (4) | 2010.02.25 |