10.1. 8051 Microcontroller Instruction Set
10.1.1. Addr11 ACALL
Funktion: Absolute Call
Beschreibung:
Bedingungslos ruft ein Unterprogramm ACALL an die angegebene Adresse befindet. Die Anweisung Erhöht den PC zweimal, um die Adresse der folgenden Belehrung, dann schiebt die 16-Bit-Ergebnis auf dem Stapel (Low-Byte zuerst) und der Stack-Pointer Inkrementiert zweimal. Die Zieladresse wird durch sukzessive Verkettung der fünf höherwertigen Bits des erhöhten PC erhalten, Opcode-Bits 7-bis 5, und das zweite Byte des Befehls. Die Must-Called Subroutine starten daher nur innerhalb der 2 K-Block des Programmspeichers als das erste Byte des Befehls Nach ACALL. Gibt Keine Fahnen betroffen.
Beispiel:
INITIALLY SP entspricht 07H. Das Etikett ist am SUBRTN Programmplatz 0345 H. Nach dem Ausführen der folgenden Anweisung,
SUBRTN ACALL
am Standort 0123H enthält SP 09H, 08H internen RAM Standorten und 09H 25H wird und 01H, respectivamente enthalten und den PC 0345H enthält.
Bytes: 2
Zyklen: 2
Encoding:
A10 | a9 | a8 | 1 | 0 | 0 | 0 | 1 | , | A7 | a6 | a5 | a4 | a3 | a2 | a1 | a0 |
Operation: ACALL
(PC) ← (PC) + 2
(SP) ← (SP) + 1
((SP)) ← (PC7-0)
(SP) ← (SP) + 1
((SP)) ← (PC15-8)
(PC10-0) ← Seite Adresse
10.1.2. ADD A, "src-Byte
Funktion: hinzufügen
Beschreibung:
ADD fügt das Variable Byte angegeben, die Develped, so dass das Ergebnis in der Develped. Die tragen und Hilfskräfte-Carry Flags sind bzw. festgelegt, wenn es eine tragen aus 7 oder Bit 3, und andernfalls deaktiviert. Beim Hinzufügen von Ganzzahlen ohne Vorzeichen, das Carry-Flag zeigt möglicherweise ein Überlauf aufgetreten.
OV wird festgelegt, wenn es eine tragen-Out Bit 6 aber nicht aus 7 gibt, oder zu tragen-Out Bit bit bit 7 aber nicht 6; andernfalls OV deaktiviert ist. Beim Hinzufügen von Ganzzahlen unterzeichnet, OV gibt eine negative Zahl als die Summe der zwei produziert positive Operanden oder positive Summe von zwei negativen Operanden.
vier Quelle Operand Adressierungsmodi sind zulässig: Register, unmittelbare, Register-mittelbare oder unmittelbare.
Beispiel:
die Develped hält 0C3H (1100001lB), und Register 0 hält 0AAH (10101010B). Die folgende Anweisung,
A, R0 hinzufügen
6DH verlässt (01101101B) in die Develped mit der AC Flag deaktiviert das Carry-Flag und OV und auf 1 festgelegt.
Fügen Sie A, Rn
Byte: 1
Zyklen: 1
Codierung:
Betrieb: hinzufügen
(A) <-(A) + (Rn)
A, direkt hinzufügen
Byte: 2
Zyklen: 1
Encoding:
0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | , | direkte | Adresse |
Betrieb: hinzufügen
(a) <-(A) + (direkt)
ADD A,@Ri
Byte: 1
Zyklen: 1
Encoding:
Betrieb: hinzufügen
(A) <-(A) + ((Ri))
ADD A, # data
Byte: 2
Zyklen: 1
Encoding:
0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | , | sofortige | Daten |
Betrieb: hinzufügen
(a) <-(A) + # data