liebes Forum, ich habe ein Register definiert. Jetzt möchte ich die 8 Bits im dem Register auch noch mit Namen versehen, damit ich Sie später im Programmcode leichter verwenden kann. Wie werden die Bits definiert. Ich habe leider darüber keine doku gefunden, und habe mir selbst was zurechtgereimt. .def statbits=r25 ;Register zur allgemeinen Verwendung .equ Ser_Busy=1 .equ TX_Ready=2 .equ RX_Ready=4 .equ int_Rx_Ready=8 So richtig, oder habe ich mich da verhaspelt? Grüße aus München, Chris
glaube nicht das das so funktionert.. du legst hier im prinzip nur eine variable statbits an, die das Register25 benutzt. Die Equations erzeugen nur "Textersetzungen" für den Compiler, die nach der Übersetzung nur noch als Zahlen im Code stehen. Bin mir aber nicht zu 100% sicher.
Schon fast richtig, musst aber bei 0 beginnen, die Werte sind 0...7. Achte aber darauf dass du beim Setzen/Löschen nicht das Bit (0...7)sondern die Bitmaske (0...255) brauchst. .def flags=r16 ;das Register .equ erstes=0 ;Name für Bit 0 .equ letztes=7 ;Name für Bit 7 ... sbrs flags,erstes ;überspringt wenn Bit7 gesetzt rjmp irgendwohin ... sbr flags,(1<<erstes) ;hier wird Bit 0 gesetzt, indem eine 1 um ;den Wert von erstes (also 0) nach links ;verschoben wird cbr flags,(1<<erstes)|(1<<letztes) ;hier werden Bit 0 und Bit 7 ;gelöscht, also 2^0 OR 2^7 (129) ;dient als Maske zum Löschen... Bit- & Bytebruch... ...HanneS...
Achja, schau mal in die Include-Dateien, da wird das auch praktiziert... ...HanneS...
Sorry, Tippfehler... (wie peinlich...) ... sbrs flags,erstes ;überspringt wenn Bit0 gesetzt (nicht Bit7!) rjmp irgendwohin ... ...HanneS...
Danke, das hilft mir schon mal sehr viel weiter. Gruß, Christian
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.