1.1k Aufrufe
Gefragt in Anwendungen(Java,C++...) von
Hi,
ich bin gerade dabei ein kleines Assembler Programm zu schreiben, dazu ist es nötig in gewissen Abständen den Bildschirm zu schwärzen:
mov ax,3
int 10h

leider steht das ziemlich weit unten im Programm, weswegen(ich gehe zumindest aus dass das der Grund ist)die Fehlermeldung
"relative jump out of range by 2h bytes" oder so ähnlich, beim assembliern kommt.
Wenn die bei einem jz kommt, löse ich das, indem ich statt

jz abc
einfach

jnz cde
jmp abc
cde:

mache. Geht das auch stilvoller?

Gibts noch andere Bildschirm-schwärz-Möglichkeiten?

Grüße :)

1 Antwort

0 Punkte
Beantwortet von kicia Mitglied (939 Punkte)
leider steht das ziemlich weit unten im Programm, weswegen(ich gehe zumindest aus dass das der Grund ist)die Fehlermeldung "relative jump out of range by 2h bytes" oder so ähnlich, beim assembliern kommt.

Würd ich auch vermuten.

Gibts in Deinem Befehlssatz sowas wie CALL / RET?
Oder long jumps (zB. LJMP) ?

Ansonsten kenn ich mich leider nicht weiter mit assembler aus.

Ich würd mal nach "far jump" oder "long jump" oder "jump more than 127" recherchieren.
...