Server read only due to being migrated.
Das Wiki ist im Nur-Lese-Modus, da es gerade migriert wird.
ASL
Aus C64-Wiki
Zur Navigation springenZur Suche springenMnemonic: | ASL | ||
2. Schreibweise: | ASL A | ||
Opcode: | $0A | ||
Anzahl der Bytes: | 1 | ||
Befehlsgruppe: | Rotations- und Schiebebefehl | ||
Adressierung: | Akku | ||
Beeinflusste Flags im Statusregister: | |||
Carry-Flag | |||
Negative-Flag | |||
Zero-Flag | |||
Taktzyklen: | 2 | ||
1 | PC | R | Lese Befehl, inkrementiere PC |
2 | PC | R | Lese nächstes Befehlsbyte (und verwerfe es), führe Operation durch |
Der Assembler-Befehl ASL verschiebt die acht Bits des Akkumulators um eine Bit-Position nach links (von den niederwertigen zu den höherwertigen Bits). Das niedrigstwertige Bit wird 0 und das herausfallende Bit 7 wird im Carry-Flag aufgefangen.
Damit multipliziert dieser Befehl den adressierten Wert mit 2. Der Übertrag wird im Carry-Flag abgebildet.
Die zu dieser nach linksgehenden Operation korrespondierende rechtsgehende Operation (ein hypothetischer ASR-Befehl) ist nicht implementiert und muss entsprechend ausprogrammiert werden (siehe Beispiel bei ASL $ll,X).
Funktionsprinzip
Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden
Bedeutung der Buchstaben im Befehl
ASL | Arithmetic Shift Left |
Logisches Links-Schieben |
Beispiel
Siehe auch Beispiel bei ASL $ll.
Vergleichbare BASIC-Anweisung
Für BASIC V2:
10 A = A * 2