Learning

导航

转载:"IF :DEF: EN_CRP"这一句是什么意思啊?

from:http://www.dz-yj.com/bbs/37491.html
yamaki 发布于 2007-10-26 18:42:00
周立功Startup.s中的ResetInit函数:

ResetInit
;Initial extenal bus controller.
;初始化外部总线控制器,根据目标板决定配置

        LDR     R0, =PINSEL2
    IF :DEF: EN_CRP
        LDR     R1, =0x0f814910
    ELSE
        LDR     R1, =0x0f814914
    ENDIF

"IF :DEF: EN_CRP"这一句是什么意思啊?



yamaki 发布于 2007-10-26 18:46:00
主要是不知道":DEF"是什么意思。Startup.s文件后面还有一段:

    IF :DEF: EN_CRP
        IF  . >= 0x1fc
        INFO    1,"\nThe data at 0x000001fc must be 0x87654321.\nPlease delete some source before this line."
        ENDIF

这两者之间是不是有什么关系?


阿南 发布于 2007-10-26 19:00:00
如果条件成立 就执行语句
否则就执行另一个语句


yamaki 发布于 2007-10-27 10:41:00
又查了一些资料,关于ARM汇编中字符串表达式及运算符总结如下,方便大家学习

:LEN:X    返回字符串X的长度(字符数)
:CHR:M    将0~255之间的整数转换为一个字符
:STR:X    将一个数字表达式或逻辑表达式转换为一个字符串.对于数字表达式,STR运算符将其转换为一个以十六进制组成的字符串;对于逻辑表达式,STR运算符将其转换为字符串T或F.
X:LEFT:Y  返回某个字符串左端的一个子串.X为源字符串,Y表示返回的个数
X:RIGHT:Y 与LEFT对应
X:CC:Y    将Y连接到X的后面
:BASE:X   返回基于寄存器的表达式中寄存器的编号
:INDEX:X  返回基于寄存器的表达式中相对于其基址寄存器的偏移量
?X        返回定义符号X的代码行所生成的可执行代码的字节数
:DEF:X    如果符号X已定义,则结果为真,否则为假

posted on 2009-08-17 11:40  xinjie  阅读(1680)  评论(0编辑  收藏  举报