
Operasi Aritmatika ADD Assembly
ADD A,Rn
| Siklus | Jumlah Byte | Instruksi | | | | | | | |
|--------|--------------|------------|----|----|-----|-----|----|---|---|
| 1 | 1 | ADD A,Rn | | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | | P |
| | | X | X | | | | X | | X |
Tambahkan Akumulator A dengan Rn di mana n = 0...7 dan simpan hasil di Akumulator A.
Contoh:
Add A,R7
Artinya: Isi dari R7 akan ditambahkan dengan akumulator A dan hasilnya disimpan di Akumulator A.
ADD A,direct
| Siklus | Jumlah Byte | Instruksi | | | | | | | |
|--------|--------------|----------------|----|----|-----|-----|----|---|---|
| 1 | 2 | ADD A,direct | | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | | P |
| | | X | X | | | | X | | X |
Tambahkan Akumulator A dengan data di alamat memori tertentu secara langsung.
Contoh:
Add A,00H
Artinya: Isi dari Akumulator A akan ditambahkan dengan isi dari memori RAM Internal di alamat 00H.
ADD A,@Ri
| Siklus | Jumlah Byte | Instruksi | | | | | | |
|--------|--------------|-------------|----|----|-----|-----|----|---|
| 1 | 1 | ADD A,@Ri | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | P |
| | | X | X | | | | X | X |
Tambahkan Akumulator A dengan data yang berada di alamat Ri (ditunjuk oleh Ri) dan hasilnya disimpan di Akumulator A. Ri adalah Register Index di mana pada MCS51 adalah berupa R0 atau R1.
Contoh:
Add A,@R0
Artinya: Isi dari Akumulator A akan ditambahkan dengan isi dari memori RAM Internal yang ditunjuk oleh R0. Apabila R0 berisi 05H maka, isi dari alamat 05H akan dijumlahkan dengan Akumulator A dan hasilnya disimpan di Akumulator A.
ADD A,#data
| Siklus | Jumlah Byte | Instruksi | | | | | | |
|--------|--------------|---------------|----|----|-----|-----|----|---|
| 1 | 2 | ADD A,#data | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | P |
| | | X | X | | | | X | X |
Tambahkan Akumulator A dengan sebuah konstanta dan hasilnya disimpan dalam akumulator A.
Contoh:
Add A,#05H
Isi Akumulator A ditambah dengan data 05H dan hasilnya disimpan dalam Akumulator A.
ADDC A,Rn
| Siklus | Jumlah Byte | Instruksi | | | | | | | |
|--------|--------------|-------------|----|----|-----|-----|----|---|---|
| 1 | 1 | ADDC A,Rn | | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | | P |
| | | X | X | | | | X | | X |
Tambahkan Akumulator A dengan Rn di mana n = 0...7 dan simpan hasil di Akumulator A
Contoh:
Addc A,R7
Isi dari R7 akan ditambahkan dengan akumulator A beserta carry flag dan hasilnya disimpan di Akumulator A. Apabila carry flag set maka hasil yang tersimpan di Akumulator A adalah A + R7 + 1.
ADDC A,direct
| Siklus | Jumlah Byte | Instruksi | | | | | | | |
|--------|--------------|-----------------|----|----|-----|-----|----|---|---|
| 1 | 2 | ADDC A,direct | | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | | P |
| | | X | X | | | | X | | X |
Tambahkan Akumulator A dan carry flag dengan data di alamat memori tertentu secara langsung.
Contoh:
Addc A,00H
Isi dari Akumulator A akan ditambahkan dengan isi dari memori RAM Internal di alamat 00H beserta carry flag dan hasilnya disimpan di Akumulator A, Apabila carry flag set maka hasil yang tersimpan di Akumulator A adalah A + isi alamat 00H + 1.
| Siklus | Jumlah Byte | Instruksi | | | | | | | |
|--------|--------------|--------------|----|----|-----|-----|----|---|---|
| 1 | 1 | ADDC A,@Ri | | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | | P |
| | | X | X | | | | X | | X |
Tambahkan Akumulator A beserta carry flag dengan data yang berada di alamat Ri (ditunjuk oleh Ri) dan hasilnya disimpan di Akumulator A. Ri adalah Register Index di mana pada MCS51 adalah berupa R0 atau R1.
Contoh:
Add A,@R0
Isi dari Akumulator A beserta carry flag akan ditambahkan dengan isi dari memori RAM Internal yang ditunjuk oleh R0. Apabila R0 berisi 05H maka, isi dari alamat 05H akan dijumlahkan dengan Akumulator A beserta carry flag dan hasilnya disimpan di Akumulator A.
| Siklus | Jumlah Byte | Instruksi | | | | | | | |
|--------|--------------|----------------|----|----|-----|-----|----|---|---|
| 1 | 2 | ADDC A,#data | | | | | | | |
| Flag | | C | AC | F0 | RS1 | RS0 | OV | | P |
| | | X | X | | | | X | | X |
Tambahkan Akumulator A beserta carry flag dengan sebuah konstanta dan hasilnya disimpan dalam akumulator A.
Contoh:
Addc A,#05H
Isi Akumulator A beserta carry flag ditambah dengan data 05H dan hasilnya disimpan dalam Akumulator A. Apabila carry flag set maka hasil di Akumulator A adalah A + 5H + 1.