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:
-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.
-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:
-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.
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.
Tidak ada komentar:
Posting Komentar