(本地)标签如何在自己的细分市场 (TASM 8086) 之外结束?



我的教授经常使用这种模式来编写涉及DS的代码。

ASSUME CS:CODE,DS:DATA
DATA SEGMENT
[...]
DATA ENDS
CODE SEGMENT
START:
[...]
CODE ENDS
END START
END

根据他的概念,我们这样做是为了让汇编程序检查数据段。但是如果没有有效的解释,我真的无法同意它......

标签如何在细分受众群之外结束?

为什么汇编程序不能在没有它的情况下检查 DS?

装配中的标签是否不同?

END START不是start标签的"结尾"。 标签本身没有末端、长度或范围。 (为此使用proc foo/endproc,除非这只是 MASM 而不是 TASM(。

END START是整个 asm 文件的结尾(在此之后解析停止(。END label还设置入口点 = 指定的标签。 对于具有此目的的指令来说,这是一个奇怪的名称,但 TASM 非常古老。

(如果汇编程序不直接发出.exe,则汇编程序可以将元数据放在.obj文件中,以告知链接器入口点符号名称。


将标签视为可以从其他地方引用的零宽度标签,仅此而已。

如果你有一个要调用的函数的代码块,你可以在它前面贴一个标签,这样你就可以call到那个点。 该函数的机器代码有一定的大小,但标签没有;它只是标记块的开始。 (因此,标签始终只有 1 个地址。

最新更新