Gast
#66213
Hallo leute, kann mir einer an einem beispiel erklären was der unterschied zwischen Arithmetischem und LOgischem Shiften ist gruss dmad
|
Anzeige
|
Was ist der unterschied zwischen ASL und LSL
Gast
#66213
Hallo leute, kann mir einer an einem beispiel erklären was der unterschied zwischen Arithmetischem und LOgischem Shiften ist gruss dmad
Gast
#66214
Logisches Shiften: es wird ein Register um ein Bit (nach links oder rechts je nach Befehl) verschoben. Das Bit, was rausgeschoben wird landet im Carry-Flag. Das Bit, wo "nichts" wäre wird mit einer Null beschrieben. arithmetisches shiften: Hierbei wird auch das rausgeschobene im Carry-Flag gespeichert, aber das Rand-Bit wird wieder an seine alte Stelle kopiert. Logisches Shiften kann mal als Multiplikation (lSL) mit 2 oder Divison (lsr) durch benutzen.
Gast
#66215
Naja, nicht ganz. ;-) LSL ist dasselbe wie ASL, ins LSB wird immer eine 0 nachgeschoben. ;-) LSR und ASR sind verschieden, bei ASR wird das Vorzeichenbit erhalten. Anders ausgedrückt: ASR ist die Division durch 2 für eine vorzeichenbehaftete Zahl, LSR für eine `unsigned' Zahl.
Gast
#66216
Naja, ich hab im AVR-Instruction-Set-Summery nachgeguckt. An das Vorzeichen habe ich nicht gedacht, ist im Nachhinein aber völlig logisch. Gruß Rahul Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|