我正在编写启动代码,我只想在分支指令中使用相对寻址。
我注意到以下汇编代码:
110: lwz r4,0(r6)
...
...
b 110b
分支的目的地是所有数字的标签,分支指令在标签后面有字母'b'。我认为'b'意味着倒退。我也看过'f',我认为这意味着前进。
这种表示法似乎意味着相对解决,但我找不到任何说明这种情况的文件。
使用数字后跟“f”或“b”的符号是保证相对分支的唯一机制吗?或者是否可以使用带有f / b后缀的字母数字标签(更有意义的名称)?
我正在使用gcc交叉编译器。
答案 0 :(得分:1)
从使用的指令推断出相对/绝对的区别。汇编程序不需要猜测你想要哪一个。对于PPC:
b 110b ; relative
ba 110b ; absolute
答案 1 :(得分:1)
您的其他问题的答案在Symbol Names上的气体文件:
所有数字标签都是“本地标签”并且已使用,因此您无需为每个标签创建唯一名称;我想这在宏内部特别有用。 b / f后缀是确定你所引用的标签所必需的,因为名称不需要是唯一的(它还告诉解析器它是本地标签而不是立即整数)。