Tryb pośredni Y

Opis

indirect Y

Tryb adresowania, przy którym adres efektywny jest sumą wartości w rejestrze Y oraz adresu, który jest pod adresem na stronie zerowej, którego najmłodszy bajt stanowi argument. Algorytm wyznaczania adresu efektywnego jest skomplikowany - najpierw jest pobrany argument. Następnie następuje odwołanie do tej komórki. Jednak są pobierane dwie wartości - z komórki odwołanej i następnej. Do najmłodszego bajtu adresu zostaje dodana wartość rejestru Y. Po obliczeniach oba bajty tworzą razem adres efektywny. Po odwołaniu się do komórki o adresie efektywnym zostaje pobrana wartość potrzebna do operacji.

Na przykład, wykonanie instrukcji asemblerowej "LDA ($3E),Y", gdzie rejestr Y=$02 spowoduje, że następuje odwołanie do komórki o adresie $003E. Pod tym adresem znajduje się wartość $00. Po dodaniu wartości z rejestru Y bajt przyjmuje wartość $02. Ponieważ następna komórka przechowuje liczbę o wartości $65, następuje odwołanie się do adresu $6502. Adresu $6502, nie $0265, ponieważ procesor rozpoznaje dane zapisane w formacie little endian. Następuje następne odwołanie, tym razem do komórki $6502. Pod tym adresem kryje się wartość $32 i taka trafia do akumulatora.

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

Składnia instrukcji

ROZ ($??), Y
gdzie:
ROZ - mnemonik
$?? - ośmiobitowa liczba szesnastkowa, będąca najmłodszym bajtem pierwszego adresu na stronie zerowej

Przykłady zastosowania

LDA ($1E), Y
AND ($30), Y
ADC ($3E), Y
CMP ($62), Y