主题 : 菜鸟请教个问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 2164
精华: 0
发帖: 18
金钱: 125 两
威望: 71 点
综合积分: 36 分
注册时间: 2008-10-29
最后登录: 2012-03-16
楼主  发表于: 2009-04-21 19:45

 菜鸟请教个问题

在ADS1.2下创建了一个工程LED_ASM.mcp,然后写了一个LED跑马灯的汇编程序LED_ASM.s。将汇编程序加入该工程编译,编译环境设置正确。编译结果不能识别汇编指令。错误提示如下:

Error  :AII63E: Unknown opcode LED_ASM.s line 11
11 00000000 ldr r0,=GPBCON

Error  :AII63E: Unknown opcode LED_ASM.s line 12
11 00000000 ldr r1,[r0]

Error  :AII63E: Unknown opcode LED_ASM.s line 13
11 00000000 bic r1,r1,#0x3fc00

......


我现在还是个嵌入式菜鸟,而且是一个人在战斗,遇到问题只好烦劳拜托网上的朋友指导一下。谢谢了!



附源程序:
;LED_ASM.s
GPBCON EQU 0x56000010
GPBDAT EQU 0x56000014
GPBUP  EQU 0x56000018

    EXPORT LEDTEST
    AREA LEDTESTASM,CODE,READONLY ;该伪指令定义了一个代码段,段名为LEDTESTASM,属性只读

LEDTEST
;设置GPB5-8为output
ldr r0,=GPBCON
ldr r1,[r0]
bic r1,r1,#0x3fc00
orr r1,r1,#0x15500
str r1,[r0]

;禁止GPB5-GPB8的上拉电阻
ldr r0,=GPBUP
ldr r1,[r0]
orr r1,r1,#0x1e0
str r1,[r0]

;将数据端口B的数据寄存器地址附给寄存器r2
ldr r2,=GPBDAT

ldr r3,[r2]
bic r3,r3,#0x1e0
orr r3,r3,#0x1c0
str r3,[r2]          ;GPB5 output 0
ldr r0,=0x2ffff
bl delay

ldr r3,[r2]
bic r3,r3,#0x1e0
orr r3,r3,#0x1a0
str r3,[r2]          ;GPB6 output 0
ldr r0,=0x2ffff
bl delay

ldr r3,[r2]
bic r3,r3,#0x1e0
orr r3,r3,#0x160
str r3,[r2]          ;GPB7 output 0
ldr r0,=0x2ffff
bl delay

ldr r3,[r2]
bic r3,r3,#0x1e0
orr r3,r3,#0xe0
str r3,[r2]          ;GPB8 output 0
ldr r0,=0x2ffff
bl delay

b looptest

delay
     sub r0,r0,#1   ;r0=r0-1
     cmp r0,#0x0    ;将r0的值与0相比较
     bne delay
     mov pc,lr      ;比较的结果不为0(r0不为0),继续调用dealy,否则执行下一条语句
    
     END            ;程序结束符