汇编中的空标签占用内存而没有存储指令?
An empty label in assembly occupies memory without having an instruction stored in it?
如果我有下面的汇编代码:
slt $t0, $t1, $t2
bgt $t0, $t3, ELSE
j DONE
ELSE: addi $t0, $t0, 1
DONE:
在内存中需要多少字节来存储它?
更具体地说,空的 "DONE" 标签是像任何普通指令一样占用 4 个字节,还是因为它是空的而占用 0 个字节?
标签在运行时不占用内存。它们只是帮助汇编器和链接器解析程序中引用的元数据。 运行 程序不需要它们,CPU 也不关心它们。链接程序后,通常会从二进制文件中删除它们,因为不再需要它们。
如果我有下面的汇编代码:
slt $t0, $t1, $t2
bgt $t0, $t3, ELSE
j DONE
ELSE: addi $t0, $t0, 1
DONE:
在内存中需要多少字节来存储它? 更具体地说,空的 "DONE" 标签是像任何普通指令一样占用 4 个字节,还是因为它是空的而占用 0 个字节?
标签在运行时不占用内存。它们只是帮助汇编器和链接器解析程序中引用的元数据。 运行 程序不需要它们,CPU 也不关心它们。链接程序后,通常会从二进制文件中删除它们,因为不再需要它们。