Senin, 20 Januari 2014

SET INTRUKSI

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 :
penjelasan mengenai sistem-sistem yang dipakai:


  • 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