Hallo Besucher, der Thread wurde 4,2k mal aufgerufen und enthält 22 Antworten

letzter Beitrag von Stephan Scheuer am

Frage zu BNE

  • 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.