我正在编写我的8086汇编程序。 问题在于汇编程序通过。汇编程序通过问题
在通1你计算相对于片段每个标签的位置。
我们做到这一点每个指令的大小必须被计算并添加到偏移。
在8086一些指令应更小,如果标签的位置的范围内。例如,“jmp _label”会选择一个短暂的跳跃,如果它不能跳转的话。
现在问题出现在第1遍标签尚未到达,因此它不能确定指令的大小,因为“jmp short _label”小于“jmp near _label”指令。
所以我怎么能决定耐候“JMP _label”变成了“JMP短_label”与否?
三道也可能是一个问题,因为我们需要的电流指令,甚至给偏移之前需要了解每一个指令的大小。
谢谢
我想过一个可能的解决方案,让我知道你是否同意? – NibbleBits
我想过一个可能的解决方案让我知道,如果你同意? 我能做的就是猜测并选择短暂的跳跃。在它完成计算段的大小后,它会追溯并查看它们是否是一个错误,如果它们是它会纠正每个指令抵消?这将是缓慢的,但会工作,如果任何人有更好的方式,请让我知道 – NibbleBits
我正在编写一个8086的汇编程序。因为我写了一个编译器,从那里生成汇编程序将创建机器代码。 – NibbleBits