Rabu, 16 Januari 2013

ANALISIS INTRUKSI PROGRAM


Analisis instruksi program

Contoh-contoh dan analisa dari instruksi program
Int bil 1;= interupsi bil 1 atau bilangan 1 adalah bilangan integer
Int bil 2;= interupsi bil 2 atau bilangan 2 adalah bilangan integer
DDRB  = 0xff;=DD=penyimpanan di memori, 0xff=adalah bilangan hexa 11111111, set portB for output.
PORTB = 0XFF;= set port b as input with internal pull-ups on
Bil 1= 0x30;= bilangan 1 berisi bilangan hexa 0x30;
Bil 2= 0x20;= bilangan 2 juga berisi bilangan hexa 0x20;
PORTB = bil 1-bil 2= port b berisi bilangan bilangan

Elemen-elemen yang digunakan pada program tersebut di atas adalah;
A.    Operation code (opcode)
Program diatas menspesifikasi operasi yang akan dilakukan. Kode operasi berbentuk kode biner contohnya seperti bil1=0x30
B.     Result operand reference
Dari program diatas kita simpulkan bahwa keluaran operasi program diatas adalah berupa bil1-bil2 yang berada di port b
C.     Program diatas hanya menggunakan 1 sumber saja untuk melakukan operasi
Set instruksi dan pengalamatanya
Set intruksi mode
Set intruksi didefinisikan sebagai suatu aspek dalam arsitektur komputer yang dapat dilihat oleh para pemrogram. Secara umum, ISA ini mencakup jenis data yang didukung, jenis instruksi yang dipakai,jenis register,mode pengalamatan,arsitektur memori,penanganan interupsi,eksepsi dan operasi i/o eksternalnya.
Mode Pengalamatan
Kumpulan intruksi intel menyediakan cara yang bervariasi untuk menemukan lokasi memori. Cara cara ini disebut mode pengalamatan. Cara ini dapat memudahkan pemrosesan list dan untuk mengacu struktur data yang komplek. Juga, compile bahasa tingkat tinggi memerlukannya untuk membuat intruksi mesin yang lebih sedikit ketika set intruksi CPU menggunakan cara yang baik dalam pengacuan data.
Terdapat lima mode pengalamatan, ditunjukan dalam table mode pengalamatan dibawah. Dalam table, displacement berupa angka atau offset variable. Effective address operand mengacu pada offset (jarak) data dari awal segmen. BX dan BP adalah register basis, dan SI serta DI adalah register index. Setiap contoh berikut mengacu pada isi memori pada alamat efektif.
Mode
Contoh
Keterangan
Direct
Op l
bytelist
[200]
Alamat efektif adalah displacement
Register Indirect
[bx]
[si]
[di]
EA adalah isi basis atau index
Based or Indexed
List [bx]
[si+list]
[bp+4]
List [di]
[bp-2]
EA adalah penjumlahan register basi atau index dengan displacement
Base - indexed
[bx+si]
[bx][di]
[bp-di]
EA adalah penjumlahan register basis dan register index
Base – indexed with displacement
[bx+si+2]
List [bx+si]
List [bx][si]
EA adalah penjumlahan register basis, register index dan displacement

Elemen-elemen instruksi
1.     Operation code (opcode)
Menspesifisikan operasi yang akan dilakukan. Kode operasi berbentuk kode biner
2.     Source operand reference
Operasi dapat berasal dari lebih satu sumber. Operand adalah input instruksi.
3.     Result operand reference
Merupakan hasil atau keluaran operasi.
4.     Next instruction reference
Elemen ini menginformasikan CPU posisi instruksi berikutnya yang harus diambil dan dieksekusi
langkah berikut ini:
-Muatkan sebuah register dengan isi lokasi memori 210.
-Tambahkan isi lokasi memori 211 ke register.
-Simpan isi register ke lokasi memori 210.
*Korelasi
-Terlihat hubungan antara ekspresi bahasa tingkat tinggi dengan bahasa mesin.
-Dalam bahasa tangkat tinggi, operasi dinyatakan dalam bentuk aljabar singkat menggunakan variabel.
-Dalam bahasa mesin hal tersebut diekspresikan dalam operasi perpindahan antar register.
-Dapat ditarik kesimpulan bahwa instruksi-instruksi mesin harus mampu mengolah data sebagai implementasi keinginan-keinginan kita.
-Terdapat kumpulan unik set instruksi, yang dapat digolongkan dalam jenis-jenisnya, yaitu:

Jenis – jenis instruksi

Contoh suatu ekspresi bilangan:
X=X+Y;
X dan Y berkorespondensi dengan lokasi 210 dan 211.
Pernyataan dalam bahasa tingkat tinggi tersebut menginstruksikan komputer untuk melakukan langkah berikut ini:
-Muatkan sebuah register dengan isi lokasi memori 210.
-Tambahkan isi lokasi memori 211 ke register.
-Simpan isi register ke lokasi memori 210.

*Korelasi
-Terlihat hubungan antara ekspresi bahasa tingkat tinggi dengan bahasa mesin.
-Dalam bahasa tangkat tinggi, operasi dinyatakan dalam bentuk aljabar singkat menggunakan variabel.
-Dalam bahasa mesin hal tersebut diekspresikan dalam operasi perpindahan antar register.
-Dapat ditarik kesimpulan bahwa instruksi-instruksi mesin harus mampu mengolah data sebagai implementasi keinginan-keinginan kita.
-Terdapat kumpulan unik set instruksi, yang dapat digolongkan dalam jenis-jenisnya, yaitu:

*.Pengolahan data (data processing) 
Meliputi operasi-operasi aritmatika dan logika. Operasi aritmatika memiliki kemampuan komputasi 
untuk pengolahan data numerik. Sedangkan instruksi logika beroperasi terhadap bit-bit word sebagai 
bit, bukannya sebagai bilangan, sehingga instruksi ini memiliki kemampuan untuk pengolahan data lain.
*.Perpindahan data (data movement)
berisi instruksi perpindahan data antar register maupun modul I/O. 
untuk dapat diolah oleh CPU maka diperlukan instruksi-instruksi yang bertugas memindahkan
data operand yang diperlukan.

*.Penyimpanan data (data storage)
berisi instruksi-instruksi penyimpanan ke memori. Instruksi penyimpanan sangat penting 
dalam operasi komputasi, karena data tersebut akan digunakan untuk operasi berikutnya, 
minimal untuk ditampilkan pada layar harus diadakan penyimpanan walaupun sementara. 

*.Kontrol aliran program (program flow control)
berisi instruksi pengontrolan operasi dan percabangan. Instruksi ini berfungsi untuk pengontrolan status dan mengoperasikan percabangan ke set intruksi lain.