Magic Disk 64

home to index to html: MD9004-KURSE-ASSEMBLER-KURS_1_TEIL_4-1.html
         Assembler-Kurs Teil 4          
         ---------------------          
Heute behandeln wir zwei neue Assembler-
befehle und die  Erstellung  eines  Pro-
grammablaufplans.  Auf   Diskette   wird
außerdem noch die  Zeropage-Adressierung
erklärt.                                
JMP (JuMP to adress)                    
--------------------                    
Zuletzt wurde die bedingten  Verzweigung
erläutert. Der JMP-Befehl hängt nich von
solchen Bedingungen ab.  Wenn  das  Pro-
gramm  diesen  Befehl   erreicht,   wird
sofort    zur    angegebenen     Adresse
verzweigt.                              
Beispiel:                               
JMP $2000      springt zur Adresse $2000
Sicher haben Sie schon  die  Ähnlichkeit
mit der GOTO-Anweisung in BASIC erkannt.
Die SPrungadresse des  JMP-Befehls  kann
auch in indirekter Form vorliegen, z.B.:
JMP ($2000).                            
Eine Hexadezimalzahl besteht  immer  aus
einem höherwertigen Byte (Bei  der  Zahl
$2000) ist dies $20) und  einem  nieder-
wertigen Byte (hier:  $00).  Das  höher-
wertige Byte entspricht also den  ersten
beiden Stellen,  das  niederwertige  den
letzten beiden Stellen der Hex-zahl.    
Bei dem letzten Beispiel wird nun  nicht
zur Adresse $2000 verzweigt. Stattdessen
werden  die  Speicherstellen  $2000  und
$2001  als  "Sprungvektoren"  behandelt.
Enthält z.B. die Adresse $2000 das  Byte
$05 (niederwertiges Byte) und $2001  den
Wert  $10   (höherwertiges   Byte),   so
springt das Programm nach  $1005.  Diese
Adressierungsart  des  JMP-Befehls  wird
jedoch nur selten verwendet.            
JSR (Jump to SubRoutine)                
------------------------                
Ein  Unterprogramm  ist   eine   selbst-
ständige Gruppe von  Befehlen,  die  vom
Hauptprogramm getrennt sind.            
Nach Aufruf des Hauptprogramms  wird  es
abgearbeitet,   bis    ein    JSR-Befehl
erreicht wird  (z.B.:  JSR  $2000).  Nun
wird in das Unterprogramm verzweigt.  Es
werden jetzt  alle  Befehle  ausgeführt,
bis das Programm auf ein RTS trifft.    
Daraufhin  wird  in  das   Hauptprogramm
zurückgesprungen.                       
Selbstverständlich  kann  auch  aus  dem
Unterprogramm ein weiteres Unterprogramm
aufgerufen werden  (Verschachtelung  von
Unterprogrammen).                       
Die  Kombination   JSR...RTS   enspricht
unseren     bekannten     BASIC-Befehlen
GOSUB...RETURN.                         
Der Vorteil eines  Unterprogramms  liegt
darin,  daß  es  von   beliebig   vielen
Stellen aus dem Hauptprogramm aufgerufen
werden   kann.   So   müssen    mehrmals
benötigte Routinen  nicht  immer  wieder
neu geschrieben  werden.  Dadurch  fällt
weniger Programmierarbeit an und es wird
Speicherplatz gespart.                  
                                    (rt)
Valid HTML 4.0 Transitional Valid CSS!