Magic Disk 64

home to index to html: MD9312-KURSE-ASSEMBLER_KURS_2_(TEIL_2).html
      Maschinensprache-Kurs Teil 2      
     ------------------------------     
Diesmal  werden  gleich  15  neue,  aber
dafür doch recht einfache  Befehle  vor-
gestellt.                               
Vorher müssen wir uns jedoch etwas näher
mit den Indexregistern  (X-Register  und
Y-Register) beschäftigen:  Jedes  dieser
beiden Register kann ein Byte aufnehmen,
d.h. Werte zwischen  $00  und  $FF.  Sie
werden hauptsächlich im Zusammenhang mit
den   verschiedenen   Adressierungsarten
verwendet.                              
LDX                                     
--- lädt den nachfolgenden Wert oder den
Inhalt der folgenden Speicheradresse  in
das X-Register.                         
Beispiel: LDX #$0a oder LDX $1000       
LDX entspricht in seiner Form dem  schon
bekannten LDA-Befehl.                   
LDY                                     
--- ist der entsprechende Befehl für das
Y-Register.                             
STX/STY                                 
------- erinnern sehr stark an den  STA-
Befehl. Und so ist es auch. Bei STX bzw.
STY wird der Inhalt des X- bzw.  Y-Regi-
sters in die  angegebene  speicherstelle
geschrieben.                            
Sie bemerken  sicherlich  die  enge  Be-
ziehung zwischen dem Akku und den Index-
registern. Für einen schnelleren  Daten-
austausch zwischen diesen Registern sind
die Befehle TAX, TXA, TAY und  TYA  ver-
antwortlich.                            
TAX/TAY                                 
------- Der Inhalt  des  Akkus  wird  im
X-Register abgelegt.  Dadurch  verändert
sich jedoch der Inhalt des  Akkumulators
nicht. Für  das  Y-Register  lautet  der
Befehl TAY.                             
TXA/TYA                                 
------- ist die Umkehrung des  TAX  bzw.
TAY. Nun wird der  Inhalt  des  X-  bzw.
Y-Registers  in  den  Akku  geschrieben,
ohne daß sich  das  X-  bzw.  Y-Register
verändert.                              
DEX, DEY und DEC                        
---------------- Während DEX und DEY das
jeweilige Indexregister um 1  erniedrig-
en, wirkt der DEC-Befehl  auf  die  nach
ihm folgende  Speicherstelle.  Auch  von
deren Inhalt wird der Wert 1  abgezogen.
Der Akku ist dvon nicht betroffen.      
INX, INY und INC                        
---------------- Diese  Assemblerbefehle
bewirken genau das  Gegenteil  der  eben
vorgestellten. Hier werden die  jeweili-
gen Register um den Wert 1 erhöht.      
Was  passiert  aber,  wenn  z.B.  im  X-
Register der  Wert  $FF  steht  und  der
Prozessor auf den Befehl INX trifft ?   
Da ein Byte keinen größeren Wert als $FF
annehmen  kann,  wird   das   X-Register
kurzerhand  auf  $00  gesetzt.   Ähnlich
sieht es bei $00 und einem DEX aus. Dann
wird einfach  wieder  "oben"  angefangen
und $FF gesetzt.                        
RTS                                     
---  steht  gewöhnlich  am  Ende   eines
Assemblerprogrammes oder Unterprogrammes
und soll  künftig  unser  BRK  ersetzen.
Wenn ein  Programm  auf  den  RTS-Befehl
trifft, wird es nicht mehr unterbrochen,
sondern es wird ins Basic gesprungen.   
Laden Sie nun  den  zum  Kurs  gehörende
Programm aus dem GAMESMENUE oder  direkt
von der ersten Seite dieser  MAGIC  DISK
64-Ausgabe. Es  werden  Ihnen  die  hier
vorgestellten   Befehle   noch    einmal
verdeutlicht.                           
Auf der nächsten Seite  folgt  eine  Zu-
sammenstellung der neuen Befehle.       
Ich wünsche Ihnen viel Erfolg beim  Aus-
probieren der neu erlernten Befehle.    
In der nächsten Ausgabe der  MAGIC  DISK
64 behandeln wir  Vergleichsbefehle  und
die bedingte Verzweigung.               
----------------------------------------
LDX (LoaD X-register)                   
LDY (LoaD Y-register)                   
STX (STore X-register)                  
STY (STore Y-register)                  
DEC (DECrement memory)                  
DEX (DEcrement X-register)              
DEY (DEcrement Y-register)              
INC (INCrement memory)                  
INX (INcrement X-register)              
INY (INcrement Y-register)              
TAX (Transfer Accu into X)              
TAX (Transfer Accu into Y)              
TXA (Transfer X into Accu)              
TYA (Transfer Y into Accu)              
RTS (ReTurn from Subroutine)            
----------------------------------------
                                    (wk)



Valid HTML 4.0 Transitional Valid CSS!