Hi ich programmiere gerade einen ATtiny2313 in Assembler, der über ein Schieberegister an den Zeilen und 3 Schieberegistern an den Spalten eine Matrix aus vier 5*7 Matrix-Modulen ansteuern soll. Zeilenmultiplex! Wie kann man am einfachsten sieben mal(7Zeilen) drei Byte(20Spalten) ein Bit nach links schieben(byteübergreifend)? Das ganze liegt im SRAM und dient dazu den anzuzeigenden Text eine Stelle nach links zu schieben. Theoretisch müsste ich doch: 1-linke byte---lsl 2-mittlere byte-lsl--wenn carry set das lsb vom linken byte setzen sonst clr 3-rechte byte---lsl--wenn carry set das lsb vom mittleren byte setzen sonst clr 4-(neue Daten ins lsb vom rechten byte) 5-von 1 an 7 mal, weil 7 Zeilen ..Aber das is so "irrationell". Wenn ich da falsch liege, dann Augen zu und durch.*g* MfG und3rt4ker Vielen Dank
Moin, um mehrere Bytes um ein Bit zu shiften ruft man beim ersten LSL/LSR auf und bei den folgenden dann ROL/ROR. LSL und ROL z.B. schieben das links rausfallende Bit in das Carry-Flag, ROL füllt von rechts mit dem Carry-Flag auf. Gruß FreeJack
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.