首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

帮忙看看哪里有错

帮忙看看哪里有错

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

LEON
将红色部分删除掉就可以了,这一部分对于汇编没用
zhz2112
返回列表