Jaki rodzaj adresowania jest stosowany w skokach warunkowych w assemblerze ?
0
0
w x86: adresowanie względne, zakres skoku signed byte, czyli od -128 do 127 względem aktualnej pozycji w kodzie.
jeżeli chcesz skoczyć dalej musisz zamiast:
jcond label
napisać:
jncond @f
jmp label
@@:
0
Poprawka, skok względny, adres względem następnej instrukcji. Więc warunkowe zapętlenie kodu będzie skokiem z przesunięciem -2, czyli następna instrukcja - rozmiar skoku.
0
donkey7 napisał(a)
w x86: adresowanie względne, zakres skoku signed byte, czyli od -128 do 127 względem aktualnej pozycji w kodzie.
jeżeli chcesz skoczyć dalej musisz zamiast:
jcond label
napisać:
jncond @f
jmp label
@@:
Nie trzeba, są instrukcje z relative16/32 (16/32 bitowy adres relatywny)
np. 0F 84 rel32 (JE rel16/32) itd...
Dostępne od 286