1. SET
INTRUKSI
Set
intruksi adalah sekumpulan lengkap intruksi yang dapat dimengerti oleh CPU, set
intruksi sering juga disebut bahasa mesin karena aslinya juga berbentuk biner
kemudian dimengerti sebagai bahasa assembly untuk dimengerti manusia
(programmer), biasanya digunakan representasi yang lebih mudah dimengerti oleh
manusia. Sebuah intruksi terdiri dari sebuah opcode, biasanya bersama dengan
beberapa informasi tambahan seperti darimana asal operand-operand dan kemana
hasil akan ditempatkan.
o
TRANSFER
DATA
Menetapkan
lokasi operand sumber dan operand tujuan. Lokasi – lokasi tersebut dapat
berupa memori, register atau bagian paling atas daripada stack. Menetapkan
panjang data yang dipindahkan dan mode pengalamatan CPU bertindak untuk melakukan
transfer data adalah :
1.
Memindahkan data dari satu lokasi ke
lokasi lain
2.
Apabila memori dilibatkan sebagai berikut :
o
Menetapkan alamat memori.
o
Menjalankan transformasi alat memori
virtual ke alamat memori aktual.
o
Mengawali pembacaan / penulisan memori.
Operasi set instruksi
untuk transfer data :
1.
MOVE
digunakan untuk memindahkan word atau blok dari sumber ke tujuan.
2.
STORE
digunakan untuk memindahkan word dari prosesor ke memori.
3.
LOAD
digunakan untuk memindahkan word dari memori ke prosesor.
4.
EXCHANGE
digunakan untuk menukar isi sumber ke tujuan.
5.
CLEAR
/ RESET digunakan untuk memindahkan word 0 ke tujuan.
6.
SET
digunakan untuk memindahkan word 1 ke tujuan.
7.
PUSH
digunakan untuk memindahkan word dari sumber ke bagian paling atas stack.
8.
POP
digunakan untuk memindahkan word dari bgian paling atas sumber.
o
ARITHMETIC
Tindakan
CPU untuk melakukan operasi aritmethic adalah melakukan transfer data sebelum
atau sesudah, melakukan fungsi dalam ALU, dan menset kode-kode kondisi dan
flag.
Operasi
set intruksi untuk arithmetic :
1.
ADD adalah Penjumlahan
2.
SUBTRACT adalah Pengurangan
3.
MULTIPLY adalah
Perkalian
4.
DIVIDE adalah Pembagian
5.
ABSOLUTE
6.
NEGATIVE
7.
DECREMENT
8.
INCREMENT
Uuntuk
urutan
5 sampai 8 merupakan instruksi operand tunggal.
o
LOGICAL
Operasi set
instruksi untuk operasi logical :
1.
AND,
OR, NOT, EXOR
2.
COMPARE
digunakan
untuk melakukan perbandingan logika.
3.
3TEST
digunakan untuk menguji kondisi tertentu.
4.
SHIFT
digunakan untuk operand menggeser ke kiri atau kanan menyebabkan konstanta pada
ujung bit.
5.
ROTATE
digunakan untuk operand menggeser ke kiri atau ke kanan dengan ujung yang
terjalin.
o CONTROL
Operasi set instruksi untuk transfer
control :
1.
JUMP
(cabang) :Pemindahan tidak bersyarat dan memuat PC dengan
alamat tertentu.
2. JUMP
BERSYARAT :Menguji persyaratan tertentu dan memuat PC dengan alamat
tertentu atau tidak melakukan apa tergantung dari persyaratan.
3.
JUMP
SUBRUTIN :Melompat ke alamat tertentu.
4.
RETURN
:Mengganti
isi PC dan register lainnya yang berasal dari lokasi tertentu.
5.
EXECUTE
:Mengambil operand dari lokasi
tertentu dan mengeksekusi sebagai instruksi.
6.
SKIP :Menambah
PC sehingga melompati instruksi berikutnya.
7.
SKIP
BERSYARAT :Melompat atau tidak melakukan apa-apa
berdasarkan pada persyaratan.
8.
HALT :Menghentikan
eksekusi program.
9.
WAIT
(HOLD) :Melanjutkan eksekusi pada saat persyaratan
dipenuhi.
10. NO OPERATION :Tidak
ada operasi yang dilakukan.
o
CONTROL
SYSTEM : Hanya
dapat dieksekusi ketika prosesor berada dalam keadaan khusus tertentu atau
sedang mengeksekusi suatu program yang berada dalam area khusus, biasanya
digunakan dalam sistem operasi.
contoh dari control system adalah:
membaca atau mengubah register control.
Teknik Pengalamatan
Mode pengalamatan
merujuk pada bagaimana pemrogram mengalamati suatu lokasi memori. Setiap mode
pengalamatan memberikan fleksibilitas khusus yang sangat penting. Mode
pengalamatan ini meliputi immediate addressing, direct addressing, dan indirect
addressing.
Immediate Addressing
Mode pengalamatan immediate addressing sangat umum
dipakai karena harga yang akan disimpan dalam memori langsung mengikuti kode
operasi dalam memori. Dengan kata lain, tidak diperlukan pengambilan harga dari
alamat lain untuk disimpan. Contohnya: MOV A,#20h. Dalam instruksi tersebut,
akumulator akan diisi dengan harga yang langsung mengikutinya, dalam hal ini
20h. Mode ini sangatlah cepat karena harga yang dipakai langsung tersedia.
Direct Addressing
Dalam mode pengalamatan direct addressing, harga yang
akan dipakai diambil langsung dalam alamat memori lain. Contohnya: MOV A,30h.
Dalam instruksi ini akan dibaca data dari RAM internal dengan alamat 30h dan
kemudian disimpan dalam akumulator. Mode pengalamatan ini cukup cepat, meskipun
harga yang didapat tidak langsung seperti immediate, namun cukup cepat
karena disimpan dalam RAM internal. Demikian pula akan lebih mudah menggunakan
mode ini daripada mode immediate karena harga yang didapat bisa dari
lokasi memori yang mungkin variabel.
Indirect Addressing
Mode pengalamatan indirect addressing sangat berguna
karena dapat memberikan fleksibilitas tinggi dalam mengalamati suatu harga.
Mode ini pula satu-satunya cara untuk mengakses 128 byte lebih dari RAM
internal pada keluarga 8052. Contoh: MOV A,@R0. Dalam instruksi tersebut, 89C51
akan mengambil harga yang berada pada alamat memori yang ditunjukkan oleh isi
dari R0 dan kemudian mengisikannya ke akumulator.
NOMER
2.
Penyelesaian proses pengolahan data didalam prosesor
dari X = (A+BxC) / (D-ExF) adalah :
- sistem 3 Alamat : Mempunyai bentuk umum seperti : [OPCODE][AH],[AO1],[AO2]. Terdiri dari satu alamt hasil, dan dua alamat operand, misal SUB Y,A,B Yang mempunyai arti dalam bentuk algoritmik : Y := A – B
- sistem 2 Alamat : Mempunyai bentuk umum : [OPCODE][AH],[AO]. Terdiri dari satu alamat hasil merangkap operand, satu alamat operand, missal : SUB Y,B yang mempunyai arti dalam algoritmik : Y:= Y – B
- sistem 1 Alamat : Mempunyai bentuk umum : [OPCODE][AO]. Terdiri dari satu alamat operand, hasil disimpan di accumulator, missal : SUB B yang mempunyai arti dalam algoritmik : AC:= AC – B
- sistem 0 Alamat : Mempunyai bentuk umum : [OPCODE]. Terdiri dari semua alamat operand implicit, disimpan dalam bentuk stack. Operasi yang biasanya membutuhkan 2 operand, akan mengambil isi stack paling atas dan dibawahnya
· Penyelesaian
menggunakan sistem · Penyelesaiaan menggunakan system
3
Alamat 2 Alamat
MPY X,B,C MOV X,B
ADD X,X,A MPY X,C
MPY X,B,C ADD X,A
ADD X,X,A MOV Y,E
MPY Y,E,F MPY Y,F
SUB Y,D,Y SUB D,Y
DIV X,X,Y DIV X,Y
5 operator / operasi 7 operator / operasi
Penyelesaian proses pengolahan data didalam prosesor
dari X = (A+BxC) / (D-ExF) adalah :
· Penyelesaian
menggunakan sistem · Penyelesaian menggunakan system
1
Alamat 0 Alamat
LOAD E PUSH A
MPY F PUSH B
STOR X PUSH C
LOAD D MPY
SUB X ADD
STOR X PUSH D
LOAD B PUSH E
MPY C PUSH F
ADD A MPY
DIV X SUB
STOR X DIV
11 Operator / operasi POP X
12 Operator / operasi
Tidak ada komentar:
Posting Komentar