Board logo

标题: 帮忙看看哪里有错 [打印本页]

作者: leonquick    时间: 2006-1-11 02:16     标题: 帮忙看看哪里有错

编译出错。帮忙看看什么地方错了。我用的是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


作者: zhz2112    时间: 2006-1-12 09:57

将红色部分删除掉就可以了,这一部分对于汇编没用




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0