ASL $hhll
Mnemonic: | ASL $hhll |
Opcode: | $0E |
Operand(en): | $ll $hh |
Anzahl der Bytes: | 3 |
Befehlsgruppe: | Rotations- und Schiebebefehl |
Adressierung: | absolut |
Beeinflusste Flags im Statusregister: | |
Carry-Flag | |
Negative-Flag | |
Zero-Flag | |
Taktzyklen: | 6 |
Der Assembler-Befehl ASL $hhll verschiebt die acht Bits des Inhalts der Speicherzelle $llhh 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
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 POKE 34, PEEK(34) * 2 AND 255
Beispielsweise für die Adresse 0034. Der Inhalt der Speicherstelle beschränkt sich dabei auf Werte im Bereich von 0 bis 255, was mit Hilfe des AND-Operators sichergestellt wird.