BAB I MEMAHAMI STRUKT UR DAN FUNGSI CPU 1. STRUK STRUKTU TUR R CPU (ALU (ALU,C ,CU, U,RE REGI GIST STER ER)) Arithmetic and Logic Unit (ALU (ALU), ), bert bertug ugas as memb memben entu tuk k fung fungsi si – fung fungsi si peng pengol olah ahan an • data data komp komput uter er.. ALU ALU seri sering ng dise disebu butt mesin bahasa (mach machin inee lang langua uage ge) karena bagian ini mengerjakan mengerjakan instruks instruksii – inst instru ruks ksii baha bahasa sa mesi mesin n yang yang dibe diberi rika kan n pada padany nya. a. Sepe Sepert rtii ist istilah ilahny nya, a, ALU ALU terdi erdirri dar dari dua dua bag bagian, ian, yaitu aitu uni unit arith rithme meti tika ka dan dan unit unit logik ogikaa bool boolea ean, n, yang masing – masing masing memiliki spesifikasi tugas tersendiri Control Unit, yang yang bertugas untuk mengontrol operasi CPU dan secara secara keselurahan • mengontrol komputer sehingga terjadi sinkronisasi kerja antar komponen dalam menjalankan fungsi – fung ungsi oper operaasiny sinya. a. Term Termas asuk uk dal dalam tang tangg gung ung jawa jawab b unit unit kont kontrrol adalah adalah mengamb mengambil il instru instruksi ksi – instruksi – instruksi dari memori utama dan menentukan jenis instruksi tersebut. Register adalah media penyimpanan internal CPU yang yang digunakan saat proses proses pengolahan • data. Memori ini bersifat sementara, biasanya digunakan untuk menyimpan data saat saat diolah ataupun ataupun data untuk pengolahan pengolahan selanjutnya. selanjutnya. CPU interconnection, adalah sistem koneksi dan bus yang yang menghubungkan komponen • internal CPU, yaitu ALU, ALU, unit kontrol dan register – register – register register dan juga dengan bus – bus – bus eksternal CPU yang menghubungkan dengan sistem lainnya, seperti memori memori utama, piranti masukan/keluaran 2. ORGA ORGANI NISA SASI SI PROS PROSES ESSO SOR R Processor sering di sebut sebagai “otak komputer” dan merupakan pusat pemrosesan intruksiintruksiintruksi program. Kegiatan yang harus dilakukan processor adalah : 1. Fetch Fetch Intr Intruct uction ion = Menga Mengambi mbill Intr Intruks uksii 2. Inter Interpre prett Intruc Intructio tion n = Menerje Menerjemah mahkan kan Intru Intruksi ksi 3. Fetc Fetch h Dat Dataa = Menga Mengamb mbil il Data Data 4. Proc Proces esss Dat Dataa = Mengo Mengola lah h Dat Dataa 5. Wr Writ itee Dat Dataa = Menul Menulis is Data Data Agar dapat dapat melakukan melakukan kegiatan kegiatan di atas atas processor processor sebaiknya sebaiknya : 1. CPU perlu perlu menyimpan menyimpan data data untuk untuk sementara sementara waktu. 2. CPU perlu mengingat mengingat lokasi lokasi intruksi intruksi terakhir terakhir sehingga dapat dapat mengambil intruksi intruksi berikutnya berikutnya.. 3. CPU perlu perlu menyimpan menyimpan intruksi intruksi dan data untuk untuk sementara sementara waktu pada pada saat eksekusi eksekusi intruksi intruksi sedang berlangsung. 4. CPU memerlukan memerlukan register register atau memori memori internal internal berukuran berukuran kecil. 3. 1.
2.
REGISTER REGISTER INTERN INTERNAL AL (Program (Program Counter, Counter, Accumula Accumulator, tor, Indeks register register dan dan Stack Stack pointer) Prog Progra ram m Coun Counte terr (P (PC) adalah register yang digunakan untuk menyimpan alamat lokasi dari memori utama yang berisi instruksi yang sedang diproses. Selama pemrosesan instruksi oleh CPU, isi dari PC diubah menjadi alamat dari memori utama yang berisi instruksi berikutnya yang mendapat giliran akan diproses, sehingga bila pemrosesan sebuah instruksi selesai maka jejak instruksi selanjutnya di memori utama dapat dengan mudah didapatkan Accumulator (A) adalah register yang memiliki kemapuan khusus dalam opersi aritmatika dan logika. Bial dilihat dari instruksi-instruksi dari assembly Language Z80 maka operasi-
operasi aritmatika dan logika selalu melibtkan accumulator A. Bial dibandingkan dengan register-register yang lain maka accumulator ini paling sering digunakan oleh pro grammer. 3. Index register adalah Register yang dipakai untuk melakukan operasi string dan sering digunakan untuk menulis dan membaca ke atau dari memory seperti halnya BX dan BP (Base Pointer), yang terdiri dari register : 1. SI (Source Index) Dipakai sebagai pointer atau tempat penyimpan data. Registerini sering dipakai sebagai pointer untuk menunjuk sebuah item (indexing) dalam satu kesatuan data. Pada operasi string, SI dipakai untuk menunjuk ke byte atau word dalam sebuah source string. 2. DI (Destination Index) Dipakai sebagai pointer atau tempat penyimpanan data. Sering dipakai sebagai pointer untuk menunjuk sebuah item (indexing) dalam satu kesatuan data. Pada operasi string, DI dipakai untuk menunjuk ke byte atau word dalam sebuah destination string. 4. Stack Pointer :register yang memiliki fungsi operasi Push & Pop, Operasi push menambah bagian atas daftar, menyembunyikan semua item yang sudah di stack, atau menginisialisasi stack jika kosong. Operasi pop menghapus item dari bagian atas daftar, dan mengembalikan nilai ini ke pemanggil.Sebuah pop mengungkapkan baik yang sebelumnya telah tersembunyi, atau hasil dalam daftar kosong.
BAB II Memahami Karakteristik Set Instruksi (Operand dan Operasi) 1. KARAKTERISTIK DAN FUNGSI SET INSTRUKSI Operasi dari CPU ditentukan oleh instruksi-instruksi yang dilaksanakan atau dijalankannya. • Instruksi ini sering disebut sebagai instruksi mesin (mechine instructions) atau instruksi komputer (computer instructions). Kumpulan dari instruksi-instruksi yang berbeda yang dapat dijalankan oleh CPU disebut set • Instruksi (Instruction Set). 2. ELEMEN-ELEMEN INSTRUKSI 1. Operation Code (Opcode) menspesifikasikan 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 3. TIPE-TIPE INSTRUKSI 1. 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. 2. 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. 3. 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. 4. Kontrol aliran program (program flow control) Berisi instruksi pengontrolan operasi dan percabangan. Instruksi ini berfungsi untuk pengontrolan status dan mengoperasikan percabangan ke set instruksi lain. 4. TIPE TIPE OPERAND 1. Addresses 2. Numbers : – Integer or fixed point => sebuah integer yang skala dengan faktor tertentu. Penting untuk dicatat bahwa faktor skala ditentukan oleh jenis, itu adalah sama untuk semua nilai dari jenis fixed-titik tertentu. – Floating point => sebuah bilangan yang digunakan untuk menggambarkan sebuah nilai yang sangat besar atau sangat kecil – Decimal (BCD )=> sistem pengkodean bilangan desimal yang metodenya mirip dengan bilangan biner biasa; hanya saja dalam proses konversi, setiap simbol dari bilangan desimal dikonversi satu per satu, bukan secara keseluruhan seperti konversi bilangan desimal ke biner biasa.
3. Characters : – ASCII (American Standard Code for Information Interchange) => suatu standar internasional dalam kode huruf dan simbol seperti Hex dan Unicode tetapi ASCII lebih bersifat universal, contohnya 124 adalah untuk karakter "|". Ia selalu digunakan oleh komputer dan alat komunikasi lain untuk menunjukkan teks. – EBCDIC (Extended Binary Coded Decimal Interchange Code) => kode 8 bit untuk huruf yang dipakai pada sistem operasi komputer merk IBM, seperti z/OS, OS/390, VM, VSE, OS/400, serta i5/OS 4. Logical Data : Bila data berbentuk binary: 0 dan 1 5. TIPE-TIPE OPERASI 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. • Menetapkan mode pengalamatan. • Tindakan CPU untuk melakukan transfer data adalah : • 1. Memindahkan data dari satu lokasi ke lokasi lain.
2. Apabila memori dilibatkan : Menetapkan alamat memori. • Menjalankan transformasi alamat memori virtual ke alamat memori aktual. • Mengawali pembacaan / penulisan memori • Operasi set instruksi untuk transfer data : 1. MOVE : memindahkan word atau blok dari sumber ke tujuan 2. STORE : memindahkan word dari prosesor ke memori. 3. LOAD : memindahkan word dari memori ke prosesor. 4. EXCHANGE : menukar isi sumber ke tujuan. 5. CLEAR / RESET : memindahkan word 0 ke tujuan. 6. SET : memindahkan word 1 ke tujuan. 7. PUSH : memindahkan word dari sumber ke bagian paling atas stack. 8. POP : memindahkan word dari bagian paling atas sumber 6. INSTRUKSI PERCABANGAN Tujuan : praktikan dapat menggunakan instruksi percabangan dalam program. Teori Instruksi percabangan berfungsi untuk membelokkan runtun eksekusi program yang semula sekuensial menjadi melompat ke instruksi yang lainnya. Instruksi percabangan terdiri atas instruksi percabangan tanpa syarat dan bersyarat. Percabangan Tanpa Syarat Sintaks: JMP label Contoh: MOV AL,5 MOV BL,5 JMP stop NOP stop:RET
Percabangan Bersyarat Percabangan bersyarat yaitu instruksi yang akan melaksanakan percabangan ke suatu instruksi lain jika kondisinya terpenuhi, jika kondisi tidak terpenuhi maka instruksi selanjutnya (di bawahnya) yang akan dieksekusi. Instruksi percabangan dapat dikelompokkan menjadi tiga group, yaitu : 1. Menguji satu bit flag
2. Membandingkan bilangan bertanda 3. Membandingkan bilangan tak bertanda Menguji Satu Bit Instruksi
Deskripsi
Kondisi
JZ, JE
Jump if Zero (Equel)
ZF = 1
JC , JB, JNAE
Jump if Carry (Below, Not Above Equal).
CF = 1
JS
Jump if Sign.
SF = 1
JO
Jump if Overflow
OF = 1
JPE, JP
Jump if Parity Even.
PF = 1
JNZ , JNE
Jump if Not Zero (Not ZF = 0 Equal). Jump if Not Carry (Not CF = 0 Below, Above Equal).
JNC , JNB, JAE JNS
Jump if Not Sign.
SF = 0
JNO
Jump if Not Overflow.
OF = 0
JPO, JNP
Jump if Parity Odd (No Parity).
PF = 0
Membandingkan Bilangan Deskripsi Bertanda Instruksi Jump if Equal (=). Jump if JE , JZ Zero. Jump if Not Equal (<>). JNE , JNZ Jump if Not Zero. Jump if Greater (>). Jump if JG , JNLE Not Less or Equal (not <=) Jump if Less (<). Jump if JL , JNGE Not Greater or Equal (not >=). Jump if Greater or Equal JGE , JNL (>=). Jump if Not Less (not <). Jump if Less or Equal JLE , JNG (<=).Jump if Not Greater (not >). Membandingkan bilangan Deskripsi tak bertanda Instruksi Jump if Equal (=). Jump if JE , JZ Zero. Jump if Not Equal (<>). JNE , JNZ Jump if Not Zero. Jump if Above (>). Jump if JA , JNBE Not Below or Equal (not <=). Jump if Below (<). Jump if JB , JNAE, JC Not Above or Equal (not >=). Jump if Carry.
Kondisi
ZF = 1 ZF = 0 ZF = 0 and SF = OF SF <> OF
SF = OF ZF = 1 or SF <> OF Kondisi
ZF = 1 ZF = 0 CF = 0 and ZF = 0 CF = 1
JAE , JNB, JNC
JBE , JNA
Jump if Above or Equal (>=). Jump if Not CF = 0 Below (not <). Jump if Not Carry. Jump if Below or Equal (<=). Jump if Not CF = 1 or ZF = 1 Above (not >).
Sintaks: OP-CODE label Contoh: MOV AL,5 MOV BL,5 CMP AL,BL JE stop ADD BL stop:RET Secara umum jika akan membandingkan dua buah bilangan maka menggunakan instruksi CMP. Bahan dan ALat
- Personal Komputer - Program EMU8086
7. MEMECAHKAN MASALAH (Contoh Kasus) If..Then..Else Bentuk umum : IF kondisi THEN {Statement 1} ELSE {Statement 2} Contoh kasus:sebuah aturan untuk menonton sebuah film tertentu adalah s ebagai berikut.jika usia penonton lebih dari 17 tahun maka penonton diperbolehkan dan apabila usia penonton kurang dari 17 tahun maka penonton tidak diperbolehkan nonton. I. Buatlah dalam bahasa pascal untuk permasalahan tersebut dengan menggunakan IF..Then..Else. Penyelesaian: Permasalahan diatas merupakan ciri permasalahan yang menggunakan struktur percabangan. Hal ini ditandai dengan adanya pernyataan jika..maka..(atau if … Then ) uses crt; var a : integer; begin clrscr; write(‘Masukkan usia anda =’); readln(a); if a>= 17 then begin write(‘Anda boleh masuk’) else write(‘Anda tidak boleh masuk’) end;
readkey; end.
Case OF II. Bentuk umum : CASE ungkapan Of Statement 1 Statement 2 Dst. Contoh kasus : Tampilkan kalimat sesuai dengan kode kalimat, contoh : jika memasukkan angka 1 maka yang keluar “satu”, jika memeasukkan dua maka yang keluar ”dua”, dst sampai 5. Penyelesaian uses crt; var a : integer; begin clrscr; write(‘Masukkan angka pilihan anda 1 sampai 5=’); readln(a); Case a Of 1: begin Write(‘satu’); End; 2: begin Write(‘dua’); End; 3: begin Write(‘tiga’); End; 4: begin Write(‘empat’); End; 5: begin Write(‘lima’); End; Readkey;
BAB I I I Mem ahami Mode Dan Format Penglamata n 1. Mode dan Format Pengalamatan Mode pengalamatan adalah bagaimana cara menunjuk dan mengalamati suatu lokasi memori pada sebuah alamat di mana operand akan diambil. Mode pengalamatan diterapkan pada set instruksi, dimana pada umumnya instruksi terdiri dari opcode (kode operasi) dan alamat.
Setiap mode pengalamatan memberikan fleksibilitas khusus yang sangat penting. Mode pengalamatan ini meliputi direct addressing, indirect addressing, dan immediate add ressing. mode format pengalamatan Operation code (op code) Source operand reference Result operand reference Xext instruction preference 2. Mode Pengalamatan Inherent
Dalam mode pengalamatan inherent, semua informasi yang dibutuhkan untuk operasi telah diketahui otomatis oleh CPU, dan tidak dibutuhkan operan eksternal dari memori atau dari program. Operan yang digunakan hanyalah register internal dari CPU atau data dalam stack. Karena itu operasi ini hanyalah terdiri dari satu byte instruksi.
3. Mode Pengalamatan Immediate
Dalam mode pengalamatan immediate, operan terkandung di dalam byte yang langsung mengikuti kode operasi. Mode ini digunakan saat suatu harga atau konstanta diketahui saat program dibuat dan tidak akan dirubah selama eksekusi program. Operasi dengan mode ini membutuhkan dua byte instruksi, satu untuk kode operasi dan satu lagi untuk data byte. 4. Mode Pengalamatan Direct
Mode pengalamatan direct mirip dengan mode pengalamatan extended kecuali bahwa upper byte dari alamat operan selalu dianggap $00. Karena itu, hanya lower-byte dari operan yang diperlukan untuk dimasukkan dalam instruksi. Pengalamatan direct menyebabkan efisiensi alamat dalam 256 byte pertama dalam memori. Area ini dinamakan dengan direct page dan mengandung on-chip RAM dan register I/O. Pengalamatan direct ini efisien bagi memori program dan waktu eksekusi. Dalam mode ini instruksi terdiri dari dua byte, satu untuk kode operasi dan satu lagi untuk alamat operand.
5. Mode Pengalamatan Extended
Dalam mode pengalamatan extended, alamat dari operan terkandung dalam dua byte yang mengikuti kode operasi. Pengalamatan extended ini dapat digunakan untuk mengakses
semua lokasi dalam memori mikrokontroler termasuk I/O, RAM, ROM, dan EPROM. Karena itu operasi ini membutuhkan tiga byte, satu untuk kode operasi, dan dua untuk alamat dari operan.
6. Mode Pengalamatan Indexed
Dalam mode pengalamatan indexed, alamat efektif adalah variabel dan tergantung pada dua faktor: 1) isi index register saat itu dan 2) nilai offset yang terkandung dari byte yang mengikuti kode operasi. Terdapat tiga jenis pengalamatan indexed yang didukung oleh CPU keluarga M68HC05, yaitu: no-offset, 8-bit offset, dan 16-bit offset. Dalam mode pengalamatan indexed-no offset, alamat efektif dari operan terkandung dalam index register 8-bit. Karena itu, mode pengalamatan ini dapat mengakses 256 lokasi memori (dari $0000 sampai $00FF). Instruksi mode ini membutuhkan satu byte instruksi.
7. Mnemonic Operation, Machine Code, Addressing Mode Mnemonic Operation • Kode operasi (opcode) direpresentasi kan dengan singkatan – singkatan, yang disebut mnemonic. Mnemonic mengindikasikan suatu operasi bagi CPU. Contoh mnemonic adalah : – ADD = penambahan – SUB = substract (pengurangan) – LOAD = muatkan data ke memori Setiap opcode simbolik memiliki representasi biner yang tetap dan programer dapat menetapkan lokasi masing – masing operand Operand dari Operation Memori ke memori.
Dalam hal ini data berasal dan kembali ke memori, dan tahap operasi secara umum adalah : a. Ambil nilai operand dari memori b. Eksekusi operasi yang diperlukan c. Kembalikan hasilnya ke memori Memori ke register. Yaitu memindah nilai dari data kememori ke register. Satu nilai data berasal dari memori dan satu lagi dari register. Hasil eksekusi dikembalikan ke memori atau ke register dimana operand berasal. Register ke register. Dalam hal ini digunakan sejumlah register untuk menyimpan seluruh nilai data yang akan digunakan dalam komputasi. Data harus diambil dari memori oleh sederet instruksi sebelum
•
komputasi dimulai. Setelah komputasi dilakukan maka hasilnya dikembalikan lagi dengan register Machine Code
Elemen Instruksi M esin
1. Operation code (Op code) Menspesifikasi operasi yang akan dilakukan. Kode operasi berbentuk k ode biner 2. Source Operand reference Operasi dapat berasal dari lebih satu sumber. Operand adalah input operasi 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 Addressing Mode ( Mode Pengalamatan ) Mengatasi keterbatasan format instruksi : Dapat mereferensi lokasi memori yang besar Mode pengalamatan yang mampu menangani keterbatasan tersebut : 1. Masing – masing prosesor menggunakan mode pengalamatan yang berbeda – beda. 2. Memiliki pertimbangan dalam penggunaannya. •
Ada beberapa teknik pengalamatan : a. Immediate Addressing Bentuk pengalamatan ini yang paling sederhana : Operand benar – benar ada dalam instruksi atau bagian dari instruksi = Operand sama • dengan field alamat. Umumnya bilangan akan disimpan dalam bentuk komplemen dua. • Bit paling kiri sebagai bit tanda. • Ketika operand dimuatkan ke dalam register data, bit tanda akan digeser ke kiri hingga • maksimum word data Contoh : ADD 5 ; tambahkan 5 pada akumulator Keuntungan Mode ini adalah tidak adanya referensi memori selain dari instruksi yang diperlukan untuk • memperoleh operand. Menghemat siklus instruksi sehingga proses keseluruhan akan cepat. • Kerugiannya • Ukuran bilangan dibatasi oleh ukuran field alamat • b. Direct Addressing Pengalamatan langsung Kelebihan : Field alamat berisi efektif address sebuah operand. • Teknik ini banyak digunakan pada komputer lama dan komputer kecil. • Hanya memerlukan sebuah referensi memori dan tidak memerlukan k alkulasi khusus. • Kelemahan :
Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil dibandingkan panjang word Contoh : ADD A ; tambahkan isi pada lokasi alamat A ke akumulator •
c. Indirect Addressing Mode pengalamatan tak langsung • Field alamat mengacu pada alamat word di dalam memori, yang pada gilirannya akan berisi alamat operand yang panjang Contoh : ADD (A) ; tsmbahkan isi yang ditunjuk oleh isi alamat A ke akumulator Keuntungan : Ruang bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi. Kerugian : Diperlukan referensi memori ganda dalam satu fetch sehingga memperlambat proses operasi d.
Register Addressing Metode pengalamatan register mirip dengan mode pengalamatan langsung. • Perbedaannya terletak pada field alamat yang mengacu pada register, bukan pada memori • utama. Field yang mereferensi register memiliki panjang 3 atau 4 bit, sehingga dapat mereferensi 8 • atau 16 register general purpose. Keuntungan pengalamatan register • Diperlukan field alamat berukuran kecil dalam instruksi dan tidak diperlukan referensi • memori. Akses ke register lebih cepat daripada akses ke memori, sehingga proses eksekusi akan lebih • cepat Kerugian Ruang alamat menjadi terbatas • e. Register Indirect Addressing Metode pengalamatan register tidak langsung mirip dengan mode pengalamatan tidak • langsung. Perbedaannya adalah field alamat mengacu pada alamat register. • Letak operand berada pada memori yang ditunjuk oleh isi register. • Keuntungan dan keterbatasan pengalamatan register tidak langsung pada dasarnya sama • dengan pengalamatan tidak langsung. – Keterbatasan field alamat diatasi dengan pengaksesan memori yang tidak langsung sehingga alamat yang dapat direferensi makin banyak. – Dalam satu siklus pengambilan dan penyimpanan, mode pengalamatan register tidak langsung hanya menggunakan satu referensi memori – utama sehingga lebih cepat daripada mode pengalamatan tidak langsung f. •
•
Displacement Addressing Menggabungkan kemampuan pengalamatan langsung dan pengalamatan register tidak langsung. Mode ini mensyaratkan instruksi memiliki dua buah field alamat, sedikitnya sebuah field yang eksplisit.
Field eksplisit bernilai A dan field implisit mengarah pada register Operand berada pada alamat A ditambah isi register. • Tiga model displacement • 1.Relative Addressing 2.Base Register Addressing 3.Indexing Relative addressing, register yang direferensi secara implisit adalah program counter (PC). • Base register addressing, register yang direferensikan berisi sebuah alamat memori, dan field • alamat berisi perpindahan dari alamat itu. Indexing adalah field alamat mereferensi alamat memori utama, dan register yang • direferensikan berisi pemindahan positif dari alamat tersebut. g. Stack Addressing Stack adalah array lokasi yang linier = pushdown list = last-in-firstout-queue. • Stack merupakan blok lokasi yang terbalik. Butir ditambahkan ke puncak stack sehingga • setiap saat blok akan terisi secara parsial. Yang berkaitan dengan stack adalah pointer yang nilainya merupakan alamat bagian paling • atas stack. Dua elemen teratas stack dapat berada di dalam register CPU, yang dalam hal ini stack • ponter mereferensi ke elemen ketiga stack. Stack pointer tetap berada di dalam register. • Dengan demikian, referensi – referensi ke lokasi stack di dalam memori pada dasarnya • merupakan pengalamatan register tidak langsung •
8. Listing Alamat, Mnemonic, Code Machine dan Addressing Mode Listing Alamat Mnemonic
Kode operasi (opcode) direpresentasi kan dengan singkatan – singkatan, yang disebut mnemonic. Mnemonic mengindikasikan suatu operasi bagi CPU. Contoh mnemonic adalah : – ADD = penambahan – SUB = substract (pengurangan) – LOAD = muatkan data ke memori Setiap opcode simbolik memiliki representasi biner yang tetap dan programer dapat • menetapkan lokasi masing – masing operand Code Machine Elemen Instruksi M esin
1. Operation code (Op code) Menspesifikasi operasi yang akan dilakukan. Kode operasi berbentuk k ode biner 2. Source Operand reference Operasi dapat berasal dari lebih satu sumber. Operand adalah input operasi 3. Result Operand reference Merupakan hasil atau keluaran operasi 4. Next Instruction Reference
Elemen ini menginformasikan CPU posisi instruksi berikutnya yang dieksekusi
harus diambil dan
Addressing Mode ( Mode Pengalamatan )
– – 1. 2.
Mengatasi keterbatasan format instruksi : Dapat mereferensi lokasi memori yang besar Mode pengalamatan yang mampu menangani keterbatasan tersebut : Masing – masing prosesor menggunakan mode pengalamatan yang berbeda – beda. Memiliki pertimbangan dalam penggunaannya