Tryb względny

Opis

relative

Tryb adresowania, przy którym argument stanowi informację, o ile komórek należy się "przesunąć w pamięci", by wykonać daną operację.

Występuje wyłącznie w ośmiu rozkazach rozgałęzienia. Przesunięcie jest dokonywane wtedy, kiedy został spełniony warunek rozgałęzienia. Argument ten jest w systemie U2 tzn, że gdy liczba jest w przedziale [$01-$7F], to będzie skok do przodu. W przeciwnym razie będzie skok do tyłu. Argument można podać w postaci liczby oznaczającej przesunięcie lub etykiety. Gdy została użyta etykieta, to nastąpi skok do instrukcji oznaczonej taką etykietą np. gdy zostanie spełniony warunek dla operacji "BCS petla", to zostanie wykonana instrukcja "petla: INC $30". Aby wstawić etykietę do instrukcji, należy użyć składni etykieta: instrukcja, tak jak w językach programowania wysokiego poziomu. Używanie etykiet w asemblerze 6502 jest wysoce wskazane, ponieważ nie ma niebezpieczeństwa, że program skoczy do komórki, gdzie znajduje się liczba, która nie miała być opkodem instrukcji występującym w właściwym programie.

Na przykład, wykonanie instrukcji asemblerowej BCC $03, gdzie flaga C=0 spowoduje, że od pierwszej komórki po bajtach tej instrukcji (opkod+argument) o adresie $0245 nastąpi przejście do komórki o adresie $0248. W przypadku instrukcji BCC etykieta nastąpi skok do rozkazu, który w asemblerze został oznaczony jako etykieta. Właściwą wartość przesunięcia wyznaczył za nas asembler.

Drogowskaz wskazuje liczbę kilometrów do celu od miejsca gdzie stoi drogowskaz. Argument w takim adresowaniu stanowi niejako taki "drogowskaz" dla programu, gdzie i o ile komórek trzeba się "udać".

Tryb względny obsługuje przekroczenie strony, ale wtedy rozkaz wykona się o jeden cykl zegara dłużej.

Rozkazy te zajmują po dwa bajty ze względu na obecność jednobajtowego argumentu.

Składnia instrukcji

ROZ etykieta
gdzie:
ROZ - mnemonik
etykieta - napis przed instrukcją, do której ma nastąpić rozgałęzienie (skok warunkowy)

lub

ROZ $??
gdzie:
ROZ - mnemonik
$?? - ośmiobitowa liczba szesnastkowa, będąca przesunięciem względem pierwszej komórki po bieżącym rozkazie

Przykłady zastosowania

BCS petla
BEQ napisz
BMI warunek
BVC $05