ARM启动代码中的断言伪指令ASSERT

电子元件 4年前 (2022) aysz01
0

ASSERT :DEF:ENDIAN_CHANGE

ASSERT :DEF:ENDIAN_CHANGE
[ ENDIAN_CHANGE
ASSERT :DEF:ENTRY_BUS_WIDTH
[ ENTRY_BUS_WIDTH=32
b ChangeBigEndian ;DCD 0xea000007
]

[ ENTRY_BUS_WIDTH=16
andeq r14,r7,r0,lsl #20 ;DCD 0x0007ea00
]

[ ENTRY_BUS_WIDTH=8
streq r0,[r0,-r10,ror #1] ;DCD 0x070000ea
]
|
b ResetHandler
]

1、ASSERT :DEF:ENDIAN_CHANGE

ASSERT 是断言伪指令,语法是:ASSERT +逻辑表达式

def 是逻辑伪操作符,格式为: :DEF:label,作用是:判断label是否定义过 //*****************补充,如果label未定义,编译器在编译的时候会报错。

2、四句蓝色的指令能且只能执行一句,并且前三句若执行跳转后处理程序的最后一句也是

b ResetHandler

3、" [ " 相当于 if

" | "相当于else

" ] " 相当于endif

版权声明:aysz01 发表于 2022-08-06 11:03:23。
转载请注明:ARM启动代码中的断言伪指令ASSERT | 鳌游电工

暂无评论

暂无评论...