Jump out-of-range-Lösungen und wie verschiedene Anweisungen beeinflussen Bereich

Ich habe gekämpft, viel mit dem Fehler "jmp out of range", eine Menge Zeit, die ich ausführen müssen, um eine subrutine aus verschiedenen teilen mein code als würde ich eine Funktion in C++.

Kam ich zu einem Punkt, dass beide enden auf meinen code springen müssen, auf den selben Platz und es gibt einfach keinen Weg für beide, um es zu erhalten.

Was ist die Lösung dafür?

Auch habe ich bemerkt, dass

PRINT 'something'

Scheint, zu besetzen, um mehr "Raum" als mit:

CALL PTHIS
DB 13, 10, 'something', 0

(Wenn ich einen DRUCK zwischen zwei Sprüngen, die ich bekommen springen aus der Reihe, aber wenn ich ersetzen Sie es mit einem PTHIS, ist es kein problem)

Warum ist das so?

  • Was bedeutet die PRINT makro erweitern?
  • jcc rel16 neu war in 386. Vorher jcc rel8 war die einzige Codierung, die für bedingte Verzweigungen, und nur jmp/call könnte springen weiter.
InformationsquelleAutor lisovaccaro | 2013-06-25
Schreibe einen Kommentar