Senin, 14 Januari 2013

Set Intruksi Komputer


Apakah Set Instruksi itu?
·         Set instruksi (instruction set): sekumpulan lengkap instruksi yang dapat dimengerti oleh   sebuah CPU
·         Disebut juga machine code (bahasa mesin),aslinya juga berbentuk biner
·         Untuk konsumsi manusia (programmer), biasanya digunakan representasi yang lebih mudah dimengerti, bahasa yang dapat dimengerti manusia

Maka set instruksi adalah sekumpulan lengkap instruksi yang dapat di mengerti manusia dengan menggunakan bahasa mesin,  untuk dapat di mengerti programmer biasanya menggunakan representasi yang lebih mudah di mengerti.
Elemen-elemen instruksi :
·      Operation code (Op code)
     Kerjakan ini
·      Source Operand reference
      Terhadap isi alamat ini
·      Result Operand reference
      Letakkan hasilnya di alamat ini
·      Next Instruction Reference
     Kalau sudah selesai, selanjutnya kerjakan alamat ini

Dalam sebuah instruksi, tidak harus semua elemen ini dicantumkan, tergantung kebutuhan dan jenis instruksinya.

Source dan result operands dapat berupa salah
Satu diantara tiga jenis berikut ini:
·      Main or Virtual Memory
·      CPU Register
·      I/O Device


Jenis – jenis instruksi
·      Data processing: Arithmetic dan  Logic Instructions
·      Data storage: Memory instructions
·      Data Movement: I/O instructions
·      Control: Test and branch instructions

Dari pengertian di atas saya akan mencoba menjelaskan sebuah listing program di bawah ini, masuk ke set instruksi apa, jenis operand dll
Bahasa assembly
model small
code
org 100h

utama :
            mov ah, 02h
            mov dl,’A’
            mov cx,0fh

ulang:
            int 21h
            inc dl
            loop ulang
            int 20h
end utama
Penjelasan program:
.model small merupakan sebagai pemberitahu kepada assembler (penterjemah) bentuk memori yang digunakan.
.code merupakan pemberitahu kepada assembler bahwa kita akan mulai menggunakan code segment-nya disini.
org 100h yaitu pemberitahu bahwa pada saat program dijalankan diletakkan mulai pada offset ke 100h.

blok utama 
·                     mov ah,02h yaitu sebuah service dari interupsi 21h untuk menampilkan karakter pada layar
mov merupakan operation code
02h merupakan source operand referense
Ah merupakan result operand reference

·                     mov dl,'A' yaitu kita meletakkan karakter 'A' pada register dl
mov merupakan operation code
A merupakan source operand reference
Dl merupakan result operand reference
·                     mov cx,0fh maksudnya lakukan penrulangan(looping) sebanyak 0Fh(15 kali)

blok ulang

·                     int 21h merupakan interupsi untuk menampilkan karakter ke layar
·                     inc dl karakter yang kita simpak pada register dl tadi akan ditambah 1, dan seterusnya ditambah 1 sampai batas looping yaitu 15 kali. Pada blok ini karaktek yang pertama dicetak adalah 'A', dan kemudian dilanjutkan increment 1 lalu dicetak B, begitu seterusnya sampai berakhir dengan karkter 'O'.
·                     loop ulang kembali ke blok ulang lalu cetak lagi.
·                     int 20h Kembali ke DOS
·                     end utama Program berakhir dan ditutup kembali


Output program akan menampilkan karakter ABCDEFGHIJKLMNO

Program di atas termasuk jenis data storage karena terdapat penambahan dan penyimpanan data ke register


Contoh program bahasa C

Int bil1;
Int bil2;
DDRB = 0xFF;
PORTB = 0xFF;
Bil1=0x30;
Bil2=0x20;
PORTB= bil1 – bil 2;

Penjelasan program
Int bil1, bil2 merupakan deklarasi nilai dengan tipe data integer
DDRB=0xFF merupakan port D pada output device mikrokontroler
PORTB=0xFF merupakan setting output pada device mikrokontroler
bil1=0x30 merupakan pemberian nilai sebesar 30h
bil2=0x20 merupakan pemberian nilai sebesar 20h
PORTB= bil1 – bil2
Operation code adalah –
Source operand reference adalah bil1 dan bil2
Result operand reference adalah PORTB

Listing di atas termasuk jenis data prosdesing aritmatika karena terdapat proses perhitungan

semoga bermanfaat