找回密码
 注册
搜索
查看: 837|回复: 0

[讨论] 请教关于ARM汇编程序的问题

[复制链接]
发表于 2010-9-26 21:36:28 | 显示全部楼层 |阅读模式
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中设置的是软件模拟
高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-10-9 02:30 , Processed in 0.134312 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表