ARM启动代码中的断言伪指令ASSERT
2013-12-13 22:48
951 查看
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
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
相关文章推荐
- 在VS2010单元测试中,Assert断言主要有那些功能?如何去编写代码测试?
- C代码替代汇编代码实现启动ARM-M内核CPU
- [ARM] Cortex-M Startup.s启动文件相关代码解释
- ARM&LINUX学习笔记(6)------启动代码分析
- ARM2410启动代码和uc/os移植调试总结
- python编写高质量代码笔记-8断言(assert)的使用
- 关于arm启动代码启动流程
- ARM启动代码(适用于arm9)
- EasyARM2200开发板学习笔记:启动代码分析
- ARM启动代码分析(2440init.c)
- ARM启动代码研究
- arm启动代码详解
- 启动代码是几乎是每个arm程序程序必备的,
- LPC2xxx系列ARM启动代码分析 Init.s
- 朱老师ARM裸机学习笔记(七):汇编写启动代码之调用C语言
- ARM启动代码设计参考
- ARM汇编初探---汇编代码中都有哪几类指令---ARM伪指令介绍
- ARM启动代码学习(一)RO和RW还有ZI代表什么?(转载)
- 关于ARM中断的具体的启动代码解释
- ARM-----启动代码研究