Sprungbefehle, Verzweigungen und Unterprogramme Drucken E-Mail
Beitragsseiten
Sprungbefehle, Verzweigungen und Unterprogramme
Unterprogramme
Alle Seiten

 

Hier einige Programmbeispiele:

 

Mit SWAP Bits tauschen

 

Bedingte Verzweigungen [CJNE und DJNZ]

Wir schreiben ein Programm, welches 0F in ein Register laden und anschließend mit 01 auf Gleichheit prüfen soll.
Bei Ungleichheit, soll vom Register 1 abgezogen werden usw.
Bei Gleichheit soll 55 in den Akku geladen werden.

Beispiel:

 

Wir vergleichen mit dem Befehl DJNZ (Decrement Jump Not Zero) - [ziehe 1 ab und springe wenn nicht 0]

Ist der zu vergleichende Inhalt ungleich 0, wird zur Sprungmarke gesprungen und der zu vergleichende Inhalt wird um 1 decrementiert.

Beispiel:

 


 

Unbedingte Sprungbefehle

LJMP

(Long Jump) - Dieser Sprungbefehl kann einen Sprung über den gesamten 64Kbyte Programmspeicher ausführen

 

SJMP

(Short Jump) - bietet einen möglichen Sprung im Bereich -128 bis + 127 Bit

 

AJMP

(Along Jump) - kann Sprünge innerhalb eines 2Kbyte Bereiches ausführen

 

Bedingte Sprungbefehle

 
JZ

(Jump Zero) - Springe, wenn Akku = 0
Die relative Reichweite des Sprungbefehls liegt im Bereich -128 bis + 127 Bit

 

JNZ

(Jump Not Zero) - Springe, wenn Akku <> 0
Die relative Reichweite des Sprungbefehls liegt im Bereich -128 bis + 127 Bit

 



 

Samstag, 19. Mai 2012

Banner
Seitenaufrufe : 1040147