a. Instruksi Aritmatik
Instruksi aritmatik selalu melibatkan akumulator dan ada juga beberapa instruksi yang melibatkan register lain.
Berikut ini contoh instruksi–instruksi arimatika yaitu:
Tabel 2.4 Instruksi-instruksi Aritmatik
|
Instruksi
|
Keterangan
|
Contoh
|
| ADD A,Rn | Menambah isi register Rn dengan isi akumulator lalu disimpan di akumulator | ADD A,R1 |
| ADD A, direct | Menambah isi direct dengan akumulator, hasilnya disimpan di akumulator | ADD A, 30H |
| ADD A, #data | Menambahkan immediate data ke akumulator | ADD A, #20H |
| ADD A, @Rn | Menambahkan isi dari alamat yang ditunjuk Rn dengan akumulator | ADD A, @R1 |
| ADDC A, #data | Menambahkan immediate data ke akumulator dengan carry | ADDC A, #20H |
| SUBB A, Rn | Kurangkan isi register Rn dari akumulator | SUBB A, R1 |
| INC A | Tambah isi akumulator dengan 1 | INC A |
| DEC A | Kurangkan isi akumulator denga 1 | DEC A |
| MUL AB | Kalikan isi A dengan isi B, low-byte disimpan pada akumulator, dan high byte pada B | MUL AB |
| DIV AB | Bagi isi A dengan isi B. Akumulator menerima hasil integer pembagian dan B menerima integer sisanya. | DIV AB |
- b. Instruksi Logika
Instruksi Logika ini
dipakai untuk melakukan operasi logika, yaitu operasi AND (instruksi
ANL), operasi OR (instruksi ORL), operasi Exclusive-OR (instruksi XRL), operasi clear
(instruksi CLR), instruksi komplemen (instruksi CPL), operasi
penggeseran kanan atau kiri (instruksi RR, RRC, RL dan RLC) serta
operasi penukaran data (instruksi SWAP). Data yang dipakai dalam
operasi ini biasanya berupa data yang berada dalam akumulator atau data
yang berada dalam memori data.
c. Instruksi Pemindahan Data
Instruksi – instruksi pemindahan data adalah :
Tabel 2.5 Instruksi – instruksi Perpindahan Data
|
Instuksi
|
Keterangan
|
Contoh
|
| MOV A, Rn | Memindahkan isi register Rn ke akumulator | MOV A, R0 |
| MOV A,direct | Memindahkan isi direct byte ke akumulator | MOV A, 30h |
| MOV A , #data | Mengisi akumulator dengan nilai data | MOV A,#20h |
| MOV A, @Rn | Mengisi akumulator dengan isi dari alamat yang ditunjuk oleh Rn | MOV A, @R0 |
2.2.2 Mode – Mode Pengalamatan
- 1. Mode Pengalamatan Langsung
Dalam pengalamat langsung
nilai yang akan disimpan dalam suatu memori diperoleh secara langsung
dengan mengambil dari lokasi memori yang lain.
Contoh :
MOV A,30H ; isi akumulator dengan bilangan 30 heksadesimal
- 2. Mode Pengalamatan Tak Langsung
Dalam pengalamatan tak langsung, instruksi menentukan suatu register yang digunakan untuk menyimpan alamat operan
Contoh :
ADD A,R ; Tambahkan isi RAM yang lokasinya ditunjukan oleh register R1 ke akumulator.
DEC @R1 ; Kurangi satu isi RAM yang alamatnya ditunjukan oleh register R1.
- 3. Mode Pengalamatan Segera
Cara ini menggunakan konstanta.
Contoh :
MOV A,#20H ; isi akumulator dengan bilangan 20 heksadesimal
Data konstanta merupakan data yang
menyatu dengan instruksi, contoh intruksi diatas mempunyai arti bahwa
data konstantanya, yaitu 20H, (sebagai data konstanta harus diawali
dengan ’#’ dan tanda H untuk menyatakn format bilangan heksadesimal)
disalin ke Akumulator (A).
- 4. Mode Pengalamatan Data
Pengalamatan data terjadi
pada sebuah perintah ketika nilai operasi merupakan alamat data yang
akan diisi atau yang akan dipindahkan.
Contoh :
MOV P1,A ; isi P1 dari nilai akumulator.
- 5. Mode Pengalamatan Bit
Pengalamatan bit adalah
penunjukkan menggunakan simbol titik (.) yang menunjuk alamat lokasi
bit, baik dalam RAM internal atau perangkat keras.
Contoh :
SETB P1.7 ; set bit port 1.7 high ( pot 1.7 diberi nilai logika 1)
About these ads
Tidak ada komentar:
Posting Komentar