|
hello.s如下:
AREA |.text|,CODE,READONLY
ENTRY
CODE32
IMPORT Relocation
EXPORT sqr
EXPORT num
ldr r5,=Relocation
sqr
MUL R1,R0,R0
MOV R0,R1
MOV PC,LR
AREA |.data|,DATA,READWRITE
num DCD 10
AREA |.bss|,NOINIT,READWRITE
data SPACE 1024
END
main.c如下:
#include<stdio.h>
extern int num;
extern int sqr(int i);
int Relocation=0;
int main(void)
{
printf("Square of %d is %d\n",num,sqr(num));
}
汇编程序hello.s实现的是求平方的函数,然后在main.c中来调用,我在ADS1.2中编译一直通不过,错误行是hello.s中的num DCD 10和data SPACE 1024这两行,这个程序是北航出版的《ARM程序分析与设计》第二章的一个例子,请教高手指点。。。还有书上说那个Relocation是数据重定位,这个是啥意思啊?
问题补充:我在AXD中设置的是软件模拟 |
|