【发布时间】:2014-12-18 17:36:04
【问题描述】:
例如:
jmp LABEL
... # loads of instructions
jmp LABEL
.... # loads of instructions
LABEL:
.....
没有jmp LABEL指令的大小,无法确定LABEL的地址,因为jmp指令的两种形式(short(2字节),near(3或5字节))大小不同。然而,在不知道 LABEL 的地址的情况下,您无法确定使用哪种形式。
汇编是怎么解决的?
【问题讨论】:
-
从逻辑上讲,汇编代码是一个多阶段的操作。在生成所有其他代码之前,不会解析标签的地址。所以
jmp和LABEL之间的所有编码指令的大小都是已知的。