我正在編寫我的8086彙編程序。 問題在於彙編程序通過。彙編程序通過問題
在通1你計算相對於片段每個標籤的位置。
我們做到這一點每個指令的大小必須被計算並添加到偏移。
在8086一些指令應更小,如果標籤的位置的範圍內。例如,「jmp _label」會選擇一個短暫的跳躍,如果它不能跳轉的話。
現在問題出現在第1遍標籤尚未到達,因此它不能確定指令的大小,因爲「jmp short _label」小於「jmp near _label」指令。
所以我怎麼能決定耐候「JMP _label」變成了「JMP短_label」與否?
三道也可能是一個問題,因爲我們需要的電流指令,甚至給偏移之前需要了解每一個指令的大小。
謝謝
我想過一個可能的解決方案,讓我知道你是否同意? – NibbleBits
我想過一個可能的解決方案讓我知道,如果你同意? 我能做的就是猜測並選擇短暫的跳躍。在它完成計算段的大小後,它會追溯並查看它們是否是一個錯誤,如果它們是它會糾正每個指令抵消?這將是緩慢的,但會工作,如果任何人有更好的方式,請讓我知道 – NibbleBits
我正在編寫一個8086的彙編程序。因爲我寫了一個編譯器,從那裏生成彙編程序將創建機器代碼。 – NibbleBits