Frage zu BNE

Es gibt 22 Antworten in diesem Thema, welches 5.647 mal aufgerufen wurde. Der letzte Beitrag (18. Juli 2018 um 18:10) ist von Stephan Scheuer.

  • ich habe mal einen code erstellt, der eine absolute sprungadresse enthält.

    dieser code kann an x-belibiger stelle im ram gestartet werden.

    der jmp $xxxx wird immer an die richtige ram-adresse springen.


    das ist natürlich kein echter relativer sprung aber es kommt dem schon nahe.

    der aufwand um das zu realisieren ist auch unverhältnismäßig hoch.


  • das geht nur, wenn der code mit "sys+sartadresse"ausgeführt wird.

    das wird in $14,$15 vermerkt.

    der code muss nämlich wissen, wo er sich gerade im ram befindet.

    außerdem darf man keine absoluten befehle wie z.b. (sta $c0d5,lda $c0e1) verwenden.

    bei der scpu gibt es den befehl "BRL $xxxx) branch always long" der kann eine 64kb relativ adressieren.