Magic Disk 64

home to index to html: MD9402-KURSE-ASSEMBLER_KURS_2_(TEIL_4).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.                  
Wie  schon  erwähnt,  liegt  einer   der
größten Nachteile der  Assemblerprogram-
mierung   in    der    Übersichtlichkeit
längerer Programme. Ohne ein  geeignetes
Hilfsmittel wird  das  Programmieren  zu
einem reinen Glücksspiel (Fehlersuche in
Assembler ist weniger spaßig!).         
Doch zum Glück gibt es  die  Programmab-
laufpläne. Bei diesen  wird  durch  ein-
fache Symbole  der  ganze  Aufbau  eines
Programmes verdeutlicht.                
Die Ablaufrichtung eines PAP geht  immer
von oben nach unten vor, wenn sie  nicht
durch Pfeile gekennzeichnet wird.       
Laden Sie nun den ASSEMBLER-KURS  4  aus
dem GAME-MENÜ. Dort erhalten Sie  anhand
von      Beispielprogrammen      weitere
Informationen.                          
                                 (rt/wk)



Valid HTML 4.0 Transitional Valid CSS!