编译出错。帮忙看看什么地方错了。我用的是CodeWarrior 4.2.6。
Error : Identifier expected
DSP56800_zeroBSS.asm line 49 SUBROUTINE "F__bssClear",F__bssClear,F__bssClearEND-F__bssClear
下面是程序,是软件自己生成的代码:
DEFINE useSoftwareLoop ''
section startup
; these variables are defined in the linker command file (LCF)
XREF F_bss_size
XREF F_bss_addr
org p:
GLOBAL F__bssClear
SUBROUTINE "F__bssClear",F__bssClear,F__bssClearEND-F__bssClear
F__bssClear:
; if useSoftwareLoop is defined, assemble this code
IF @DEF('useSoftwareLoop')
; clear bss with software loop
move #F_bss_size,y0 ; set count
tstw y0 ; test count
beq end_bssClear ; if zero count, then exit
move #0,x0 ; set x0 to zero
move #F_bss_addr,r1 ; set dest address
nop
loop_bssClear:
move x0,xr1)+ ; stash x0 value at address r1
; and increment r1
decw y0 ; decrement count and test
bne loop_bssClear ; if not zero, continue loop
end_bssClear:
ELSE ; assemble the following code
; clear bss with hardware loop
move #0,x0 ; set x0 to zero
move #F_bss_size,r2 ; set bss size
move #F_bss_addr,r1 ; dest address -- bss data start
do r2,end_bss_clear ; do for r2 times
move x0,xr1)+ ; stash zero at address
nop
end_bss_clear:
ENDIF
rts
F__bssClearEND:
endsec
end
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |