MIPS中的符号地址与标签 [英] Symbolic Address vs Label in MIPS
本文介绍了MIPS中的符号地址与标签的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我只想确保我的定义准确。程序标签只是符号地址的另一个术语,还是不同的、更具体的东西?
推荐答案
基本上是这样的;另请参阅MIPS labels storage location以了解有关符号是引用内存地址的方式的更多信息。它们非常有用,可以避免手动重新计算每个循环顶部的数字地址(或者实际上距离相对分支的距离)。
在无法计算装配时间并且必须推迟到链接时间的情况下,它们也很有用。
术语:标签定义符号。符号也可以通过其他方式定义,但通常由标签定义。
foo:
单独(或在行首)是标签。
foo
是符号,您可以从其他地方引用,如jal foo
或bne foo
。或使用la $t0, foo
您甚至可以引用其他源文件中的符号来获取导出的符号,以便它们最终出现在汇编器从ASM源代码创建的目标文件(.o
)的符号表中。(例如,您使用.global foo
导出foo
,而不是仅将其作为文件本地符号。)
.set
指令或.weakref
来定义一个标签,该标签是另一个标签的别名。或.comm
在BSS中保留一些空间,并将符号名称指向它。(但没有使用.bss
指令实际使.bss
成为当前节,因此这不是标签。)
这篇关于MIPS中的符号地址与标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文