![]() |
Wer kann Assembler (Microcontroller) ?
Servus miteinander !
Ich schreib morgen ne Arbeit, und da ich so meine Probleme mit Assembler habe (es lebe Delphi !), wollte ich euch fragen, ob mir nicht jemand n bissl Erklären kann. Ich meine natürlich nicht den kompletten Befehlssatz, sondern nur Standardbefehle wie mov, cjne etc. Beispielaufgabe: Ein Sägeblatt soll solange nach links fahren, sobald es eine Lichtschranke durchbricht soll es nach rechts fahren, und umgekehrt. Wenn ein Schalter betätigt wird, oder beide Lichtschranken (gleichzeitig) durchbrochen werden. soll die Säge stehen bleiben. Eingänge P1.0-P1.7 Ausgänge P2.0-P2.7 Nun, wie gehe ich am besten an so eine Aufgabe ran ? Woher weis ich wohin ich bestimmte Stände specihern soll (Register o. Accu)? Ich hoff Ihr könnt mir helfen. |
Re: Wer kann Assembler (Microcontroller) ?
Liste der Anhänge anzeigen (Anzahl: 1)
Befehlserklärung:
Sprungbefehle: lcall = ein Unterprogramm wird aufgerufen lcall ms100 = ein Unterprogramm das 100ms wartet CJNE Rn,#data,rel = Sprung nach rel, wenn Akku ungleich Konstante ist rel = + - 7-Bit-Sprungdistanz für Sprungbefehle z.B.: M1 SJMP rel = Sprung mit + - 7-Bit-Sprungdistanz JB bit,rel = Sprung wenn Bit-Adresse = 1 JNB bit,rel = Sprung wenn Bit-Adresse = 0 Datentransferbefehle: mov dptr,#data16 = Die 16 Bit-Konstante wird in den Datenpointer geladen mov Rn,#data = Konstante wird in ein Register geladen mov A,#data = Konstante wird in den Akku geladen ret = vom Unterprogramm, Sprung zurück ins Hauptprogramm mov A,Rn = Register wird in den Akku geladen movc A,@A+DPTR = Datenpointer wir mit dem Akku addiert und in den Akku geladen mov direct,A = Der Akku wird in das Direkt-Byte geladen Arithmetische Befehle: inc Rn = erhöht das Register um 1 dec Rn = erniedrigt das Register um 1 Logische Befehle: RR A = Akku rotiert nach rechts RL A = Akku rotiert nach links |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz