Bei dieser Adressierungsart *muss* DER Zeiger auf die zu adressierende Speicherstelle in der Zeropage ($00 bis $FF) abgelegt sein.
Du versuchst nun aber, den Zeiger mitten in Deinem Programm abzulegen. Das funktioniert so nicht.
Was Du machen könntest, wäre folgendes:
Damit kannst Du aber nur 256 Bytes ab $0400 ansprechen. Willst Du einen größeren Bereich ansprechen, empfielt sich die Benutzung der Zeropage.
CU
Kratznagel