.n suffix to branch instruction
2015-10-16 08:27
615 查看
004002a4: b.n 0x4002f4 <write_four_registers_and_readback+172> 78 delay(10);
When Thumb-2 was introduced, ARM also introduced a new
Unified Assembler Language which allows writing code which can be assembled to either ARM or Thumb with (potentially) no modification. Most, if not all, recent toolchains default to UAL (although many still support the legacy syntaxes by some means).
In UAL, the
.nand
.wsuffixes apply to mnemonics which have both a 16-bit Thumb ("narrow") and 32-bit Thumb-2 ("wide") encoding*. If unspecified, the assembler will automatically choose an appropriate encoding, but if
a particular encoding is desired (e.g. forcing a 32-bit encoding where the assembler would choose the 16-bit version in order to pad code for cache alignment), then the suffix can be specified.
Disassemblers will generally emit the suffixes to ensure that the output, if passed back through an assembler, will result in the exact same object code.
So, what you have there is a 16-bit Thumb branch instruction to address
0x4002f4, which happens to be 172 bytes past the symbol
write_four_registers_and_readback.
Technically, all ARM encodings are also "wide", and thus may take a
.wsuffix, but it's entirely redundant in that case.
http://stackoverflow.com/questions/27147043/n-suffix-to-branch-instruction
相关文章推荐
- 第七周 项目2-建立链队算法库
- Splay伸展树
- 阶段性项目练习任务说明
- 创建表空间
- 第7周 项目4-队列数组
- 第六周 后缀表达式
- 【第6周 项目5 - 后缀表达式】
- 学生成绩管理系统
- 几个疑惑的问题
- spark streaming 的wordcount程序,从hdfs上读取文件中的内容并计数
- PowerDesiger 15逆向生成工程E-R图及导出word表格
- (2015秋) 团队项目选题(一)
- 括号的匹配
- 第三周项目三—求集合并集
- 第7周 项目5-排队看病模拟
- iOS开发UI篇—ios应用数据存储方式(偏好设置)
- 建立顺序环形队列算法库 .
- 2015-10-16 【项目5 - 后缀表达式】
- 项目5 排队看病模拟
- 第4周项目6 多项式求和