makalah set instruksi

52

Upload: ratnasari

Post on 04-Oct-2015

711 views

Category:

Documents


51 download

DESCRIPTION

set intruksi

TRANSCRIPT

SET INSTRUKSI: KARAKTERISTIK DAN FUNGSIOLEH :Ferdinan Alberto113511Maghfiroh Aini11351201397Reza Arliansyah113511Ratna Sari11351201JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGRI SULATAN SYARIF KASIM RIAU

KATA PENGANTARAssalamualaikum wr.wb

Puja dan puji syukur kami panjatkan atas kehadirat Allah SWT yang telah memberikan kami rahmat, hidayah dan inayahnya kepada kami, sehingga kami dapat menyelesaikan makalah Arsitektur Set Instruksi ini. Sholawat dan salam semoga selalu tercurah kepada junjungan kita Nabi besar Muhammad SAW beserta keluarga dan para sahabatnya, yang telah membawa kita dari zaman jahiliyah menuju zaman yang lebih baik.Makalah ini kami buat untuk menyelesaikan tugas Arsitektur Komputer, dalam makalah ini kami akan membahas tentang Arsitektur Set Instruksi dalam komputer. Dengan harapan agar kita semua mengetahui pandangan terhadap komputer.Alhamdulillah pada kesempatan ini akhirnya kami dapat menyelesaikan makalah yang berjudul Arsitektur Set Intruksi dimana makalah ini adalah salah satu tuntutan dalam memenuhi salah satu tugas yang diberikan dengan mata kuliah Arsitektur komputer. Adapun harapannya dengan terselesaikannya makalah ini diharapkan juga dapat meningkatkan pengetahuan kita khususnya penulis tentang hal-hal yang berkaitan dengan tugas yang diberikan karena dengan itu kita dapat belajar lebih baik lagi.Dalam penulisan makalah ini pastinya terdapat kekurangan serta kesalahan yang tidak disengaja, oleh karena itu kami mengharapkan partisipasinya serta kritik dan sarannya yang bersifat membangun, agar menjadi makalah yang lebih baik lagi.

Akhir kata.

Wassalamualaikum wr wb.

DAFTAR ISIHalamanHALAMAN JUDUL1KATA PENGANTAR2DAFTAR ISI3SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI 5A. Machine Instruction Characteristics51. Elemen Instruksi52. Instruksi Representasi 63.Jenis Instruksi84.Jumlah Alamat 95.Rancangan Set Instruksi 9B. Types of Operand101. Number 102. Karakter 123. Tipe Data 13 Tipe Dasar 13 Tipe bentukan 14C. Pentium and PowerPC Data Types151. Pentium Data Types 162. PowerPC Data Types 16D. Types Of Operations181. Data Transfer 182. Arithmetic193. Logical204. Conversion225. Input / Output246. Sistem Kontrol24E. Pentium and PowerPC Operation Types291. Jenis-jenis OperasiPC292. Instruksi-instruksi berorientasi percabangan313. Instruksi-instruksi Load/Store31F. Assembly Language32DAFTAR PUSTAKA35

BAB10SET INSTRUKSI : KARAKTERISTIK DAN FUNGSIA. Karakteristik Mesin InstruksiDari sudut pandang desainer, set instruksi mesin menyediakan kebutuhan fungsional untuk CPU : Menerapkan CPU adalah tugas yang sebagian besar melibatkan melaksanakan set instruksi mesin.Dari sisi pengguna, pengguna yang memilih untuk program dalam bahasa mesin (sebenarnya, dalam bahasa assembly) menjadi dasar struktur register dan memori, jenis data langsung didukung oleh mesin, dan fungsi dari ALU.

1. Elemen InstruksiSetiap instruksi harus memiliki unsur-unsur yang mengandung informasi yang diperlukan oleh CPU untuk dieksekusi.Unsur-unsur ini adalah sebagai berikut : Operasi kode: Menentukan operasi yang akan dilakukan (misalnya ADD, I/O).Operasi ini ditentukan oleh kode biner, yang dikenal sebagai kode operasi, atau opcode. Sumber operan referensi: Operasi mungkin melibatkan operand sumber satu atau lebih yaitu operand yang input untuk operasi. Hasil operan referensi: Operasi mungkin menghasilkan hasil. Referensi instruksi berikutnya: ini memberitahu CPU dimana untuk mengambil instruksi berikutnya setelah pelaksanaan instruksi ini selesai.Instruksi berikutnya yang akan diambil terletak di memori utama atau, dalam kasus system memori virtual, baik di memori utama atau memori sekunder (disk).Dalam kebanyakan kasus, instruksi berikutnya akan diambil segera mengikuti instruksi saat ini. Dalam kasus tersebut, tidak ada referensi eksplisit untuk instruksi berikutnya.Sumber dan hasil operand dapat berada di salah satu dari tiga bidang : Memori utama atau virtual: Seperti referensi instruksi berikutnya, alamat memori utama atau virtual harus diberikan. CPU register: Dengan pengecualian langka, CPU berisi satu atau lebih register yang dapat direferensikan oleh instruksi mesin.Jika hanya satu mendaftar ada, referensi untuk itu mungkin implisit.Jika lebih dari satu dan instruksi harus berisi jumlah dari register yang diinginkan. I / O device: Instruksi harus menentukan (dia modul I / O dan perangkat untuk operasi. Jika memori-mapping I / O digunakan, ini hanyalah alamat memori utama atau virtual.

2. Instruksi RepresentasiDalam komputer, setiap instruksi diwakili oleh urutan bit. Instruksi ini dibagi menjadi bidang, sesuai dengan unsur-unsur pokok dari instruksi. Sebuah contoh sederhana dari format instruksi ditunjukkan pada Gambar 10.2. Sebagai contoh lain, format instruksi IAS ditunjukkan pada Gambar 2.2. Dengan set instruksi yang paling, lebih dari satu format yang digunakan. Selama eksekusi instruksi, instruksi dibaca ke register instruksi (IR) dalam CPU. CPU harus dapat mengekstrak data dari berbagai bidang instruksi untuk melakukan operasi yang diperlukan.Sulit bagi programmer dan pembaca buku teks berurusan dengan representasi biner dari instruksi mesin. Dengan demikian, telah menjadi praktek umum untuk menggunakan representasi simbolis dari instruksi mesin. Contoh ini digunakan untuk set instruksi IAS, pada Tabel 2.1.Opcodes diwakili oleh singkatan, yang disebut mnemonik, yang menunjukkan operasi. Contoh umum termasukADD addSUB SubtractMPY MultiplyDIV DivideLOAD Load data from memorySTOR Store data to memoryOperand juga diwakili secara simbolis. Sebagai contoh, instruksiADD R YMungkin berarti menambahkan nilai yang terkandung di Y data lokasi ke isi register R. Dalam contoh ini, Y mengacu ke alamat sebuah lokasi di memori, dan R mengacu pada sebuah register tertentu. Perhatikan bahwa operasi dilakukan pada isi lokasi, bukan di alamat itu.Dengan demikian, adalah mungkin untuk menulis sebuah program bahasa mesin dalam bentuk simbolis. Setiap opcode simbolis memiliki representasi biner tetap, dan programmer menentukan lokasi setiap operan simbolis. Sebagai contoh, programmer bisa mulai dengan daftar definisi:X = 513Y = 514Dan sebagainya. Sebuah program sederhana akan menerima masukan simbolis, mengkonversi opkode dan referensi operan ke bentuk binary, dan membangun instruksi mesin biner.Mesin-bahasa programer jarang ke titik noneksistensi. Kebanyakan program sekarang ditulis dalam bahasa tingkat tinggi atau, bila tidak, bahasa assembly, yang dibahas pada akhir bab ini. Howefer, bahasa mesin simbolik tetap menjadi alat yang berguna untuk mendeskripsikan instruksi mesin, dan kami akan menggunakannya untuk tujuan itu.

Simple Instruction Format

3. Jenis InstruksiSebuah instuksi yang dapat diekspresikan dalam bahasa BASIC atau FORTRAN. X = X+Y Pernyataan ini menginstruksiakna komputer untuk menambahkan nilai yang tersimpan di Y ke nilai yang tersimpan di X dan menyimpan hasilnya di X. Variabel X dan Y berkorespondensi dengan lokasi 513 dan 514. Jika kita mengasumsikan set instruksi mesin yang sederhana, maka operasi ini dapat dilakukan dengan tiga buah instruksi : 1. Muatkan sebuah register dengan isi lokasi memori 513 2. Tambahkan isi lokasi memori ke register 3. Simpan isi register di lokasi memori 513Suatu komputer harus memiliki set instruksi yang memungkinkan pengguna untuk memformulasikan pengolahan data atau dengan memperhatikan kemampuan pemrograman bahasa tingkat tinggi. Agar dapat dieksekusi, setiap program yang ditulis dalam bahasa program tingkat tinggi harus diterjemahkan ke dalam bahasa mesin. Jadi, set instruksi mesin harus dapat mengekspresikan setiap instruksi bahas atingkat tinggi. Adapun Jenis-jenis instrusi sebagai berikut: Pengolahan Data: Instrusi-instruksi aritmatika dan logika Penyimpanan Data: Instriksi-instruksi memori Perpindahan Data : Instruksi I/O Kontrol: Instruksi pemeriksaan dan percabangan

4.Jumlah Alamat Salah satu cara tradisional dalam menjelaskan arsitektur prosesor adalah dengan memakai jumlah alamat yang terdapat pada masing-masing instruksi. Instruksi aritmatika dan logika memerlukan operand yang berjumlah banyak. Secara virtual, seluruh operasi eritmatika dan logika merupakan uner/unary (satu operand) atau biner (dua operand). Dengan demikian, memerlukan maksimum dua alamat untuk acuan operand. Hasil sebuah operasi akan memerlukan alamat ketiga. Dengan demikian, instruksi perlu memiliki empat buah acuan alamat: dua buah operand, sebuah hasil operasi, dan sebuah alamat instruksi berikutnya. Sebagian besar CPU merupakan variasi satu, dua, atau tiga alamat dengan alamat instruksi berikutnya merupakan implisit (diperoleh dari pencacah program). Format tiga alamat tidak umum digunakan, karena instruksi-instruksi tersebut memerlukan bentuk instruksi yang lebih relatif lebih panjang untuk menampung acuan-acuan tiga alamat. Sedangkan bentuk dua alamat mengurangi kebuatuahan ruang akan tetapi menimbulkan kesulitan. Instruksi yang lebih sederhana adalah instruksi satu alamat. Agar alamat ini dapat berfungsi, alamat perlu diimplisitkan.

5.Rancangan Set InstruksiSalah satu hal yang paling menarik tentang rancangan komputer adalah rancangan set instruksi. Karena rancangan ini mempengaruhi banak aspek sistem komputer, maka rancangan set instruksi sangat kompleks. Set instruksi menentukan banyak fungsi yang akan dilakukan oleh CPU dan karena itu memiliki efek yang sangat menentukan implementasi CPU. Set instruksi merupakan alat bagi pemrogram untuk mengontrol CPU. Dengan demikian, kebutuhan-kebutuhan pemrogram harus menjadi bahan pertimbangan dalam merancang set instruksi. Masalah rancangan fundamental yang paling signifikan meliputi: Repertoi Operasi: Berapa banyak dan opersai-operasi apa yang harus disediakan, dan sekompleks apakah operasi itu seharusnya. Jenis data: berbagai jenis data pada saat operasi dijalankan Bentuk instruksi : Panjang instruksi (dalam bit), jumlah alamat, ukuran bidang, dan sebagainya. Register: Jumlah register CPU yang dapat diacu oleh instruksi, dan fungsinya. Pengalamatan: Mode untuk menspesifikasikan alamat suatu operand.Masalah-masalah ini saling berkaitan dan harus diperhatikan dalam merancang set instruksi.B.Type OperandInstruksi mesinberoperasi padadata.Kategoriumumyang paling penting daridata adalah: Alamat Angka Karakter Data logis.Akan kita lihat,dalam membahasmode pengalamatandalam bab11,bahwa alamat sebenarnya, sebuah peternakandata.Dalam banyak kasus,beberapa perhitunganharus dilakukanpada referensioperandalaminstruksi untukmenentukanutamapada alamat memori virtual.Dialamat ini,konteks.dalam konteks ini,alamat dapatdianggap sebagaiunsigned integer.Tipe umum data yaitu : Angka Karakter DatalogisSecara singkat dibahas dalambagian ini. beberapadevinemesin, khusustipe dataataupun struktur data. Misalnya, mungkin adamesinoperatoryang beroperasilangsung didaftar padasengatankarakter.1. NumberSemuabahasa mesintermasuk jenisdata numerik.Bahkandalam pengolahan data non numerik.Ada kebutuhanuntuk nomoruntuk bertindak sebagaicounter,lebar lapangan,dan sebagainya.Perbedaan penting antaranomoryang digunakan dalam matematikabiasa dannomor yang tersimpandikomputer adalahbahwa surat itu terbatas.Ini benardalam dua pengertian.Pertama,ada batasdengan besarnyanomor representablepada mesindan kedua,dalam kasusfloating-point,batas untukpresisi mereka.Dengan demikian, programmer dapatmemahamikonsekuensi dari pembulatan, overflowdanunderflow.Tiga jenisdata numerikyang umum dikomputer: integer atautitiktetap floating point DecimalKami memeriksapertama yangsecara rincidalam bab9itu masihmengatakan beberapa katatentang angkadesimal.Meskipunsemua operasikomputer internalatau biner,penggunadari kesepakatansistem denganangka desimal.Dengan demikian,ada kebutuhanuntuk konversi daridesimal kebiner padainput dan daribinerke desimalpada output.Untuk aplikasidi mana adabanyakI / O danrelatif sedikit.Perhitunganrelatifsederhana adalah lebih baik untukmenyimpan danberoperasi padaangka dalambentuk desimal. Representasipaling umumuntuk tujuan iniadalahkemasandesimal.Dengandesimaldikemas,setiap digitdesimaldiwakilioleh kode4-bit, dengan cara yangjelas.Dengan demikian,0=00001=00018=10009=1001Mencatat bahwa ini adalahkodelebihefisien karenahanya 10dari 16mungkin 4bit nilaidigunakan.untuk membentukangka,4bit kodedirangkai, biasanyadalam kelipatan8 bit.dengan demikian, kode untuk246adalah0000001001000110.Kodeini jelaskurangkompak daribinerlangsungdiwakili olehtermasuktanda4 bitdigitbaik ditribun kiriatau kananuntuktanda minus.Mesinyang menyediakaninstruksiuntuk melakukan operasi arithmaticlangsung padaangka desimalpaket.Algoritmayang cukupmirip dengan yangdiuraikan dalam bagian 9.3tapiharus memperhitungkanoperasimembawadesimal.

2. KarakterDatabentuk umumadalah teksatau stringkarakter, sedangkan datatekstualadalah makhlukpalingconvinient, mereka tidak dapat dalam bentukkarakter,dengan mudah disimpanatau dikirimkan olehpengolahan data dansistem komunikasi. Sistem ini dirancanguntuk databiner.Dengan demikian,sejumlah kodetelahdibuat olehkarakteryangdiwakili olehurutanbit.Mungkin contohumumawalini adalah kode Morse, Hari ini, kodekarakter yang palingumum digunakan dalamAmerican Standard Kode untukInformasi Interchange.IRAjuga banyak digunakandi luarAmerika Serikat. Setiap karakterdalam kodeini diwakili olehpola7 bityang unik, dengan demikian,128 karakterdifferntdapat direpresentasikan.Ini adalahjumlah yang lebih besardaripada yang diperlukanuntuk mewakilikarakter yang dapat dicetak, danbeberapa pola mewakili karakterkontrol.Beberapakarakter kontrolpada halaman.Lainyang bersangkutandengan prosedurkomunikasi.IRA-encodedkarakter yanghampir selalu disimpan dandikirim menggunakan8 bitper karakter.Delapanbitmungkin digunakan sebagaibitparitas untukmendeteksikesalahan dalam kasus yang terakhir.Bit diatursedemikian rupa sehingga jumlahtotalbinerdalamsetiap oktetselalu ganjil (paritas ganjil)atau selalugenap (evenparity). Bahwa untuk011XXXXpola bitIRA,angka 0 sampai9yang diwakili olehbinersetaramereka,0000melalui1001,dipaling kanan4 bit.Ini adalah kode yang sama sepertidesimaldikemas.Ini memfasilitasikonversi antaraIRA7 bit dan4 bitrepresentasi desimaldikemas.Kodelain yang digunakanuntuk mengkodekankarakter adalahBinaryCodedPerluasan KodeDesimalInterchange (EBCDIC).EBCDICdigunakanpada IBMS/390mesin.Itu adalahkodebit8.SepertiIRA,EBCDICkompatibel dengandesimaldikemas dalam kasusEBCDICkode1111000011111001melaluimewakil1angka 0 sampai9.3. Tipe DataSetiap data memilikitipe data, angka bulat (integer), angka biasa (real), atau berupa karakter (char), dan sebagainya.Ada 2 kategori daritipe datayaitu:1. Tipe dasara. Bilanganbulat (integer) Bilanganatau angka yang tidak memiliki titik desimal atau pecahan, seperti 10, +225, -10,+25. Tipe dituliskan sebagaiintegeratau int Jangkauan nilai bergantung pada implementasi perangkat keras komputer, misalnya dari -11 s/d +12; untukalgoritmatidak kita batasi. Operasi aritmetik: tamabah+, kurang-, kali*, bagi/, sisa hasil bagi% Operasi pembanding:lebih kecil=, sama=, tidak sama>< .b. Bilanganbiasa (real) Bilanganatau angka yang bisa memiliki titik desimal atau pecahan, dan ditulis sebagai : 235.45, +13.99, -87.76 atau dalam notasi ilmiah seperti : 1.245E+03, 7.45E-02, dsb. Tipe dituliskan sebagai :real Jangkauan nilai : bergantung pada implementasi perangkat keras komputer, misalnya dari -2.9E-39 s/d +1.7E+38, untukalgoritmatidak dibatasi. Operasi aritmatik dan pembandingan juga berlaku bagibilanganbiasa.c. Bilangantetap ( const ) Bilangantetap ( const ) adalah tipebilangan, tidak bernilai bulat maupun tidak, yang nilainya tidak berubah selamaalgoritmadilaksanakana. Tipe dituliskan sebagai const . Jangkauan nilai meliputi semuabilanganyang mungkin.d. Karakter ( character ) Karakter adalah data tunggal yang mewakili semua huruf, simbol baca, dan juga simbol angka yang tidak dapat dioprasikan secara matematis, misalnya: A, B, .....,Z, ?,!, dst. Tipe dituliskan sebagaichar Jangkauan nilai meliputi semua karakter dalam kode ASCII, atau yang tertera pada setiap tombol keyboard. Operasi pembanding dapat dilakukan dan dievaluasi menurut urutan kode ASCII, sehingga huruf A (Hex 41) sebenarnya lebih kecil dari huruf a (Hex 61).e. Logik ( logikal ) Tipe datalogik adalahtipe datayang dipergunakan untuk memberi nilai pada hasil pembandingan, atau kombinasi pembandingan. Tipe dituliskan sebagaiboolean Jangkauan nilai ada dua : true dan false2. Tipe bentukana. Array( larik ) Arrayadalahtipe databentukan, yang merupakan wadah untuk menampung beberapa nilai data yang sejenis. Kumpulanbilanganbulat adalaharrayinteger, kumpulanbilangantidak bulat adalaharrayreal.Cara menefinisikan ada 2 macam, yaitu: Nilai_ujian :array[ 1..10] ofinteger, atau Int nilai_ujian[10];Kedua definisi diatas menunjukkan bahwa nilai_ujian adalah kumpulan dari 10 nilai bertipebilanganbulat.b. String Stringadalahtipe databentukan yang merupakan deretan karakter yang membentuk satu kata atau satu kalimat, yang biasanya diapit oleh dua tanda kutip. Sebagaicontoh: nama, alamat, dan judul adalah tipestring.- Cara mendefinisikannya adalah:*stringnama, alamat; atau* nama,alamat :string;c. Record( rekaman ) Recordadalahtipe databentukan yang merupakan wadah untuk menampung elemen data yang tipenya tidak perlu sama dengan tujuan mewakili satu jenisobjek. Sebagaicontoh, mahasiswa sebagai satu jenisobjekmemiliki beberapa elemen data seperti : nomer_stb, nama, umur, dll.- Cara mendefinisikanrecordmahasiswa tersebut adalah sebagai berikut:Type dataMhs :record< nomer_stb :integer,Nama_mhs :string,Umur :integer,>2.VariabelVariabeladalah nama yang mewakili suatu elemen data seperti : jenkel untuk jenis kelamin, t4lahir untuk tempat lahir, dan sebagainya. Ada aturan tertentu yang wajib diikuti dalam pemberian nama variable, antara lain: Harus dimulai dengan abjad, tidak boleh dengan angka atau symbol. Tidak boleh ada spasi diantaranya. Jangan menggunakan simbol yang bisa membingungkan seperti titik dua, titik koma, koma, dan sebagainya. Sebaiknya memiliki arti yang sesuai denagn elemen data. Sebaiknya tidak terlalu panjang.C.Pentium and Power PC Data Types1. Pentium Data TypesPentium dapat menangani jenis data 8 (byte), 16 (kata), 32 (doubleword), dan 64 (quadword) bit panjangnya.Untuk memungkinkan fleksibilitas maksimum dalam struktur data dan penggunaan memori yang efisien, kata-kata tidak perlu selaras pada alamat merata habis dibagi 4 dan quadwords tidak perlu selaras pada alamat merata dibagi 8.Namun, ketika data yang diakses di 32 bus bit, transfer data berlangsung dalam satuan doublewords, dimulai pada alamat yang habis dibagi 4.Prosesor ini mengubah permintaan misaglined.

Table Pentium data typesData typeDescription

General Byte,word (16 bytes),doubleword (32 bits) and quadword (64 bits) location with arbitrary binary contents

Integer A signed binary value contained in a byte,word or doubleword, using twos complement representation

Ordinal An unsigned integer contained in a byte, word or doubleword

Unpacked binary coded decintal (BCD)A representation of a BCD digit in the range 0 through 0 with one digit in each byte

Packed BCDPacked byte representation of two BCD digits value in the range 0 to 99

Near pointerA 32 bit effective addresses that represents the offset within a segment. Used for all pointers in a nonsegmented memory and for references within a segment in a segmented memory

Bit fieldA conliguous sequence of bits in which the position of each bit is considered as an independent unit. A bit string can begin at any bit position of any byte and can contain up to 232 1 bits

Byte stringA contiguous sequence of bytes, words or doublewords, containing form zero to 232 1 bits

Floating pointSee figure 10.4

Nilai dalam urutan permintaan untuk transfer bus.Seperti semua dari intel 80 86 mesin, Pentium menggunakan gaya sedikit-endian: yang, byte paling signifikan disimpan dalam alamat terendah (lihat lampiran 10B untuk pembahasan endiannes).Byte, kata, doubleword dan quadword disebut sebagai tipe data umum.Selain itu, Pentium mendukung jajaran tipe data khusus yang diakui dan dioperasikan oleh instruksi tertentu.Tabel 10.2 merangkum jenis.Gambar 10.4 mengilustrasikan jenis Pentium data numerik.Bilangan bulat ditandatangani adalah intwos melengkapi representasi dan mungkin 16,32 atau 64 bit panjang.Jenis floating point sebenarnya mengacu pada satu set jenis yang digunakan oleh unit floating-point dan dioperasikan oleh instruksi floating-point.Ketiga representasi floating-point sesuai dengan IEEE 754 standar.

2.Daya Jenis Data TipePowerPC dapat menangani jenis data 8 (byte), 16 (sindiran), 32 (kata) dan 64 (doubleword) bit panjangnya.Beberapa instruksi mengharuskan operan memori akan berjajar dalam batas 32-bit.Secara umum, bagaimanapun, keselarasan tidak diperlukan.Salah satu fitur menarik dari PowerPC adalah dapat menggunakan salah satu gaya little-endian atau big-endian, yaitu byte paling signifikan disimpan dalam alamat terendah atau tertinggi (lihat lampiran 10B untuk diskusi endiannes).Byte, sindiran, kata dan doubleword bersifat umum tipe data.Prosesor menafsirkan isi dari sebuah item yang diberikan data tergantung pada instruksi.Prosesor fixed-point mengakui jenis data berikut. byte unsigned: dapat digunakan untuk operasi aritmatika logis atau integer.Hal ini diambil dari memori ke sebuah register umum dengan nol memperluas di sebelah kiri dengan ukuran mendaftar penuh. Unsigned sindiran: sebagai untuk byte unsigned, tetapi untuk 16-bit jumlah Ditandatangani sindiran: digunakan untuk operasi aritmatika; dimuat ke memori dengan tanda memperluas di kiri ke ukuran register penuh (yaitu, bit tanda direplikasi di semua posisi kosong) Unsigned kata: digunakan untuk operasi logis dan sebagai pointer alamat. Sign kata: digunakan untuk operasi aritmatika Unsigned doubleword: digunakan sebagai pointer alamat Byte string: 0-128 byte panjangSelain itu, PowerPC mendukung jenis data tunggal dan double-presisi floating-point yang didefinisikan dalam IEEE 754.D. Types of OperationJumlahopcodeberbedasangat bervariasidari mesin ke mesin. Namun, jenis umum yang samaoperasiditemukanpada mesinsemua. Sebuahkategorisasiberguna dankhasadalah sebagai berikut.1. Data transfer2. Arithmetic3. Logical4. Conversion5. Input output

1. Data transferJenis yang palingmendasar dariinstruksimesinadalahinstruksitransfer datatersebut.instruksitransfer dataharus menentukanbeberapa hal.Pertama,lokasidari sumber danoperantujuanharus ditentukan.Setiap lokasidapat memori, register,ataubagian atasstack.kedua, panjang data yang akan ditransferharus ditunjukkan. ketiga,karena dengan semuainstruksidenganoperan,moduspengalamatanuntuk operanmasing-masing harusditentukan.Poin terakhirinidibahas dalam bab11.Pilihan instruksi transfer data untuk memasukkan dalam set instruksi mencontohkan jenis off perdagangan desainer harus membuat. misalnya, lokasi umum (memori atau pendaftaran) dari operand dapat ditunjukkan baik dalam spesifikasi opcode atau operan. Tabel 10.5 menunjukkan contoh dari S/390 data yang paling umum IBM instruksi transfer. dicatat bahwa ada varian untuk menunjukkan jumlah data yang akan ditransfer (8, 16, 32, atau 64 bit). juga, ada instruksi yang berbeda untuk mendaftar untuk mendaftar, mendaftar ke memori, dan memori untuk mendaftar transfer. Sebaliknya, pendekatan VAX agak lebih mudah bagi programmer, yang memiliki lebih sedikit mnemonik untuk menangani. Namun, juga agak kurang kompak dibandingkan dengan pendekatan IBM S/390, karena lokasi (pendaftaran dibandingkan memori) dari operan masing-masing harus ditentukan secara terpisah dalam instruksi. kita akan kembali ke perbedaan ini ketika kita membahas format instruksi, dalam bab berikutnya.Dalam hal tindakan CPU, operasi transfer data mungkin adalah jenis yang paling sederhana. jika kedua sumber dan tujuan adalah register, maka CPU hanya menyebabkan data yang akan ditransfer dari satu mendaftar ke yang lain: ini merupakan operasi internal ke CPU. jika salah satu atau kedua Operand berada dalam memori, maka CPU harus melakukan beberapa atau semua tindakan berikut: 1. menghitung alamat memori, berdasarkan modus alamat.2. jika alamatmengacu padamemori virtual,menerjemahkan darivirtual kealamatmemori yang sebenarnya.3. menentukan apakahitem yangdibahas adalahdalam cache4. jika tidak,mengeluarkanperintah kemodul memori

2. ArithmeticKebanyakan mesin menyediakan operasi aritmatika dasar menambah, mengurangi, mengalikan, dan membagi. ini yang selalu disediakan untuk ditandatangani integer (fixed-point) angka. operasi lain yang mungkin mencakup berbagai tunggal operan instruksi: misalnya, 1. absolut: mengambil nilai absolut dari operan 2. meniadakan: meniadakan operan 3. selisih: tambahkan 1 ke operand 4. pengurangan: kurangi 1 dari operand

Gambar Shift and Rotate Operationseksekusi instruksi aritmatika mungkin melibatkan operasi data transfer ke posisi operan untuk input ke ALU, dan untuk memberikan output dari ALU. Angka 3,5 menggambarkan gerakan yang terlibat dalam transfer data dan operasi aritmatika. di samping itu, tentu saja, bagian ALU dari CPU melakukan operasi yang diinginkan.3. LogicalMesin paling juga menyediakan berbagai usaha untuk memanipulasi bis individu dari sebuah kata atau unit dialamatkan lain, sering disebut sebagai "sedikit memutar-mutar". mereka didasarkan pada operasi Boolean.Beberapa operasi dasar yang logis dapat dilakukan pada data boolean atau biner ditunjukkan pada tabel 10.6. operasi NOT membalikkan sedikit. AND, OR, dan XOR adalah fungsi logis yang paling umum dengan dua operan. EQUAL adalah tes biner berguna. Operasi ini logis dapat diterapkan bitwise untuk unit n bit data logis. demikian, jika dua register berisi data.

(R1) = 10100101(R2) = 00001111Then(R1) AND (R2) = 00000101

Dimana notasi (X) maens isi lokasi X. dengan demikian, DAN operasi dapat digunakan sebagai masker yang memilih bit tertentu dalam sebuah kata dan nol keluar bit remaning. sebagai contoh lain, jika dua register berisi.

(R1) = 10100101(R2) = 11111111Then(R1) XOR (R2) = 01011010

Dengan satu kata diatur untuk semua 1s. operasi XOR membalikkan semua bit dalam kata lain. Selain menyediakan berbagai pergeseran dan fungsi rotasi. operasi paling dasar diilustrasikan pada Gambar 10.5. dengan pergeseran logis, bit-bit dari sebuah kata yang bergeser kiri atau kanan. pada salah satu ujungnya, sedikit bergeser keluar hilang. di ujung, 0 yang digeser masuk pergeseran logis berguna terutama untuk mengisolasi bidang dalam sebuah kata. 0s yang bergeser menjadi sebuah kata menggantikan informasi yang tidak diinginkan yang digeser dari ujung lainnya.Basic logical operationsPQNOT PP AND QP OR QP XOR QP=Q

0010001

0110110

1000110

1101101

Sebagai contoh, misalkan kita ingin mengirimkan data karakter ke karakter I/O 1 perangkat pada satu waktu. jika setiap kata memori adalah 16 bit panjang dan berisi dua karakter, kita harus membongkar karakter sebelum mereka dapat dikirim. untuk mengirim dua karakter dalam satu kata. 1. memuat kata ke register 2. AND dengan nilai 1111111100000000. ini masker keluar karakter di sebelah kanan.3. bergeser ke kanan delapan kali. pergeseran karakter yang tersisa ke bagian kanan dari register.4. melakukan I / O. modul I / O membaca urutan lebih rendah dari 8 bit data bus. Hasil langkah sebelumnya dalam mengirimkan karakter tangan kiri. untuk mengirim karakter tangan kanan. 1. memuat kata lagi ke register.2. AND dengan 0000000011111111.3. melakukan I / O. Operasi pergeseran aritmatika memperlakukan data sebagai integer ditandatangani dan tidak bergeser sedikit tanda. pada pergeseran aritmatika yang benar, sedikit tanda direplikasi ke posisi bit ke kanan. pada pergeseran aritmatika kiri, pergeseran logis kiri dilakukan pada semua bit tapi sedikit tanda, yang dipertahankan. operasi ini dapat mempercepat operasi aritmatika tertentu. dengan nomor dalam notasi komplemen dua, pergeseran aritmatika tepat terkait dengan pembagian dengan 2, dengan pemotongan untuk nomor lama. baik pergeseran aritmatika kiri dan shift kiri yang logis sesuai dengan perkalian dengan 2 bila ada tidak meluap. jika overflow terjadi, aritmatika dan logika operasi shift kiri menghasilkan hasil yang berbeda, tetapi pergeseran kiri aritmatika mempertahankan tanda nomor. karena potensi untuk overflow, processrors banyak yang tidak termasuk instruksi ini, termasuk daya PC dan Itanium. lain, seperti IBM S/390, lakukan menawarkan instruksi. anehnya, architercture pentium mencakup pergeseran aritmatika kiri tetapi mendefinisikannya menjadi identik dengan pergeseran kiri logis. Memutar, atau siklik pergeseran, operasi melestarikan semua bit yang dioperasi. salah satu kemungkinan penggunaan rotate adalah untuk membawa setiap bit berurutan ke dalam bit paling kiri, di mana ia dapat diidentifikasi dengan menguji tanda data (diperlakukan sebagai angka). seperti dengan operasi aritmatika, operasi logis melibatkan aktivitas ALU dan bisa melibatkan operasi data transfer. tabel 10,7 memberi contoh semua shift dan memutar operasi dibahas pada pembahasan ini.4. ConversionInstruksi konversi adalah mereka yang mengubah format atau beroperasi pada format data. contoh adalah mengkonversi dari desimal ke biner. contoh dari instruksi editing yang lebih kompleks adalah instruksi menerjemahkan S/390. instruksi ini dapat digunakan untuk mengkonversi dari satu 8 bit kode ke yang lain, dan dibutuhkan tiga operand:

TR R1, R2, L

R2 operan berisi alamat awal tabel 8 bit kode. byte L mulai dari alamat yang ditentukan dalam R1 dijabarkan, setiap byte yang diganti

Table 10.7 examples of shift and rotate operationsInputOperationResult

10100110Logical right shift (3 bit)00010100

10100110Logical left shift (3 bit)00110000

10100110Arithmetic right shift (3 bit)11110100

10100110Arithmetic left ahift (3 bit)10110000

10100110Right rotate (3 bit)11010100

10100110Left rotate (3 bit)00110101

olehisi darientri tabeldiindeks olehbyteitu.misalnya, untukmenerjemahkan dariEBCDICkeIRA, pertama kita membuat tabelbyte256di lokasipenyimpanan, katakanlah, 1000-10FF heksadesimal.tabel berisikarakterdari kodeIRA diurutanrepresentasibinerdari kodeEBCDIC: yaitu,kodeIRAditempatkan dimejadilokasi relatifsama dengan nilaibinerdari kodeEBCDICdarikarakter yang sama. dengan demikian,lokasi10F0melalui10F9akan berisinilai30 sampai dengan39,karenaF0adalah kodeEBCDICuntukdigit0, dan 30 adalah kodeuntukIRA0digit, dan seterusnya sampai 9digit.sekarangmisalkan kitamemilikiEBCDICuntuk digit1984mulai darilokasi2100 dankita inginmenerjemahkan keIRA.menganggaphal berikut: Lokasi2100 - 2103cantainF1F9F8F4 R1berisi2100 R2berisi1000

kemudian, jikakita menjalankan

TRR1,R2,4

lokasi2100 - 2103akan berisi3139 38345. Input / output (I/O)Input/output petunjuk dibahas secara rinci dalam bab 7. seperti yang kita lihat, ada berbagai appoaches diambil, termasuk diprogram terisolasi I/O. memori dipetakan diprogram I/O, DMA, dan penggunaan prosesor I/O. implentations banyak hanya memberikan fiew instruksi I/O, dengan tindakan spesifik yang ditentukan oleh parameter, kode, atau kata-kata perintah.6. Sistem KontrolSisteminstruksikontroladalah merekayang dapat dieksekusihanyaketika prosesordalam keadaanistimewatertentu atausedangmengeksekusiprogramdalamarcaistimewakhususdarimemori.biasanyapetunjuk inidicadangkan untukpenggunaansistemoperasiBeberapa contohoperasisistem kontroladalah sebagai berikut,istructionssistem kontrolmungkinmembacaataumengubahkontrolmendaftarkitakontroldiskusregisterdicapters12contoh lain adalahinstruksi untukmembaca ataumemodifikasikuncipenyimpananperlindungansepertidigunakan dalamS/390memori sistemcontoh lain adalahaksesuntukmemprosesblokkontroldalam sistemmultiprogrammingTransfer kontroluntuk semuajenisoperasidibahassejauhinstruksi berikutnyayang akan dilakukanadalah salah satu yangsegeramengikutiinstruksimemorisaat ininamunfraksi yang signifikandari instruksidalam program apapunmiliki sebagaifungsi merekamengubahurutaninstruksiuntukmengeksekusiinstruksi-instruksiyangoperasi dilakukanoleh CPUadalah untuk memperbaruiprogram counteruntukberisi alamatdari beberapainstruksidalam memori.Adabeberapa alasan mengapatransfer-of-controloperasiyang diperlukan.Di antara yang palingpentingadalah sebagai berikut:1. Dalam penggunaanparticalkomputer, adalah pentinguntuk dapatmengeksekusi setiap instruksilebih darisekali danmungkinjutaan instruksiuntuk menerapkan apllicationini akanunthank kablejikasetiap instruksiharusditulissepparatelyjikaatable ataudaftar itemadalah untukakanmemprosessemua data2. Hampirsemua programmelibatkan beberapapengambilan keputusankami ingin komputer untukmelakukan satu haljikasatu syaratmemegang danhallain jikakondisi lainberlaku.untuk contohurutaninstruksikomputerakar kuadratdari angka.Pada awalurutantanda nomordiujijika nomor tersebut adalahnegatifperhitungantidak dilakukan, tapikondisi kesalahandilaporkan3. Untuk menulisdengan benarsebuah programkomputer yang besaratau bahkanukuran sedangadalah tugas yangsangat sulit.membantujika adamachanismuntuk melanggartugasmenjadi potongan kecilyang dapatbekerja padasatu per satuTop of FormcabanginstruksiSebuahinstruksicabang,juga disebutinstruksi jumpmemilikisebagai salah satuoperand-nyaalamat dariinstruksi berikutnya yang akandieksekusipaling seringinstruksiadalah cabangkondisiinstruksicabangyangdibuathanya jikakondisi tertentuterpenuhi.jika tidak,instruksiberikutnya dalam urutandijalankan(incrementprogram counterseperti biasa)Bottom of FormTop of Formmelewatkaninstruksilainbentuk umum daritransfer-of-controlinstruksi.instruksiloncatmencakupalamattersirat.biasanya,loncatmenyiratkan bahwasatu instruksidilewati:dengan demikian, alamattersiratsama denganalamatinstruksi berikutnyaditambahsatu instruksi-mengukur tinggi.Bottom of FormMemproduksi Hubungan InstruksiMungkininovasi yang palingpentingdalam pengembanganbahasapemrogramanadalahprosedur,proseduradalahmandiriprogramkomputeryangincorporatredke dalam sebuah programbesar.Pada setiaptitikdalam programprosedurdapatdipanggil,atau menelepon.prosesordiperintahkan untuk pergidan melaksanakanseluruh prosedurdankembalike titikdari manapanggilanberlangsung.Nested ProsedurSebuah prosedur bersarang disebut dari dalam prosedur lain seperti yang ditunjukkan di bawah ini.Program Utama panggilan prosedur A, yang menyerukan prosedur B: Ketika jal B instruksi dijalankan, alamat pengirim dalam register $ ra untuk prosedur A akan ditimpa dengan alamat pengirim untuk prosedur Prosedur B. B akan kembali dengan benar untuk A, tapi ketika prosedur Sebuah mengeksekusi instruksi jr, maka akan kembali lagike alamat pengirim untuk B, yang merupakan instruksi berikutnya setelah jal B dalam prosedur A. Hal ini menempatkan prosedur A dalam infinite loop.Untuk melaksanakan linkage untuk prosedur bersarang, alamat pengirim untuk setiap prosedur harus disimpan di tempat lain selain mendaftar $ ra.Perhatikan bahwa prosedur call / kembali urutan adalah proses LIFO: prosedur terakhir disebut adalah yang pertama untuk kembali.Tumpukan A adalah struktur data alami untuk menyimpan alamat kembali untuk panggilan prosedur bersarang.Tumpukan sistem terletak di bagian atas ruang memori pengguna dan tumbuh ke bawah menuju alamat memori yang lebih kecil.Registrasi $ 29, juga disebut $ sp, adalah pointer stack untuk stack sistem.Ini berisi alamat dari lokasi kosong pertama di bagian atas stack.Tumpukan sistem ini dimaksudkan untuk penyimpanan alamat dan terstruktur untuk kata berukuran data.

Tumpukan sistem umumnya digunakan untuk menyimpan alamat kembali.Mereka dapat didorong pada stack ketika prosedur ini disebut dan muncul dari mengeksekusi instruksi kembali.Sebuah alamat pengirim dalam register $ ra dapat didorong ke stack sistem dengan kode MAL berikut:sw $ ra, ($ sp)menambahkan $ sp, -4Kode berikut muncul alamat pengirim dari atas tumpukan dan mengembalikannya dalam daftar $ ra:menambahkan $ sp, 4lw $ ra, ($ sp)Setiap prosedur yang memanggil prosedur lain harus menyimpan alamat pengirim pada stack sistem.Kode kerangka untuk menyimpan alamat pengirim untuk prosedur adalah :J: sw $ ra, ($ sp) # menyimpan alamat pengirimmenambahkan $ sp, -4 # pada stack sistem## Tubuh prosedur A#menambahkan $ sp, 4 # mengembalikan alamat pengirimlw $ ra, ($ sp) # dari tumpukan sistemjr $ ra # kembali ke memanggil programDi dalam prosedur, jumlah mendorong harus sama dengan jumlah pops untuk memastikan bahwa stack pointer dikembalikan ke posisi semula setelah setiap urutan panggilan / prosedur pengembalian.Tertandingi mendorong atau muncul dari tumpukan sistem merusak hubungan prosedur dan menghasilkan hasil yang tak terduga, seperti instruksi ilegal atau pelanggaran akses memori.Top of FormCabangPetunjukInstruksicabangdigunakan untuk mengimplementasikanJIKApernyataan danloop dalambahasa assembly.Instruksicabangtanpasyaratmengeksekusidengan menetapkannilaidari labelke PC.Eksekusiprogramberlanjut denganinstruksiyang terletak dilabel.

UnconditionalCabangSebuahinstruksi cabangbersyaratmengujisuatu kondisi.Jikakondisi benar, PC-resetke label.Jikakondisi salah, instruksicabangmengeksekusino-op.nolTesTesrelasionalCatatan:x dan ymungkintipe integeratau karakterdan mungkinvariabel ataukonstanta.Semua instruksicabangdapat dibangunmenggunakancabangpada nol.Instruksicabangberlebihandisertakanuntuk kenyamanan.contoh:bberikutnyasetara denganbeqz0,berikutnyabeqx, y,samadapat ditulis sebagai:subt, x, ybeqzt, samaBLTx, y, labeladalah sama dengan:bgty, x, label

\

E. Pentium1. Jenis jenis OperasiPCPowerPC banyak memiliki jenis operasi , berikut disajikan berbagai jenis operasi pada PowerPC :Instruksi Uraian Berorientasi PencabanganbPencabangan tidak bersyaratblBercabang kealamat sasaran dan menaruh alamat efektif instruksi yang berada setelah pencabangan kedalam link registerbcPencabangan bersyarat pada Count Register dan/atau pada bit dalkam Condition Register.scSystem Call untuk membangkitkan layanan sistem operasitrapMemebandingkan dua buah operand dan membangkitkan system trap handler bila persyaratan tertentu dipenuhi. Load/StorelwzuMemuatkan word dan nol kesebelah kiri; mengupdate register sumber.ldMemuatkan dobleword.lmwMemuatkan word ganda; memuatkan word berurutan ke regiater yang berdekatan dari register sasaran melalui General Purpose Register 31.lswxMemuatkan suatu untaian byte kedalam register yang dimulai dengan register sasaran; empat byte per-register; diambil semua dari register 31 hingga register 0. Arimatika IntegeraddMenjumlahkan isi dari dua buah integer dan menyimpannya dalam register ketigasubfMengurangkan isi dua buah register dan menyimpannya dalam register ketiga.mullwMengalikan isi dua buah register orde rendah 32-bit dan menyimpan hasil perkaliannya dalam register 64-bit ketiga.divdMembagi isi dua buah register 64-bit dan menyimpan kuosiennya dalam register ketiga.

Logika dan PergeserancmpMembandingkan dua buah operand dan menyetel empat buah bit kondisi dalam field register kondisi tertentu.crandCondition Register AND : dua bit Condition Register di-AND-kan dan hasilnya disimpan dalam salah satu dari kedua posisi tersebut.andMeng-AND-kan isi dua buah register dan menyimpannya dalam register ketigacntlzdMencacah jumlah bit 0 berturutan yang berawal pada bit nol dalam register sumber dan menempatkan hasil perhitungan dalam regiater tujuan.rldicMerotasikan ke kiri register doubleword, meng-AND-kannya dengan mask, dan menyimpannya dalam register tujuan.sldMenggeser kekiri dalam register sumber dan menyimpannya dalam register tujuan

Titik MengambanglfsMemuatkan bilangan floating point 32-bit dari memori, mengubahnya kedalam format 64 bit, dan menyimpannya dalam register floating point.faddMenjumlahkan dua buah register floating point dan menyimpannya dalam register ketiga.fmaddMengalikan isi dua buah register, menambahkan isi regiater ketiga, dan menyimpan hasilnya dalam regiater keempat.fcmpuMembandingkan dua buah operand floating point dan menyetel bit-bit kondisi. Manajemen CachedcbfMembersihkan (flush) blok data cache; melakukan lookup dalam cache yang terdapat pada alamat sasaran tertentu dan melakukan operasi pembersihan.icbiMenginvalidasikan instruksi blok cache2. Instruksi- Instruksi berorientasi PercabanganPowerPC memiliki orientasi pencabangan tidak bersyarat dan pencabangan bersyarat. Instruksi-instruksi pencabangan bersyarat menguji suatu bit tunggal dari register kondisi apakah benar, salah, atau tidak peduli dan isi dari counter register apakah nol, bukan nol, atau tidak peduli. Dengan demikian terdapat sembilan macam kondisi instruksi pencabangan bersyarat yang terpisah. Apabila counter register diuji apakah nol atau bukan nol, maka sesudah pengujian register berkurang 1. Hal ini tentunya memudahkan penyiapan loop iterasi. Instruksi dapat juga mengindikasikan bahwa alamat dari pencabangan itu ditempatkan dalam link register, hal ini memungkinkan pengolahan call/return.3. Instruksi-instruksi Load/StoreDalam arsitektur PowerPC hanya instruksi load/store yang dapat mengakses lokasi memori, instruksi logika dan aritmetika hanya dilakukan terhadap register. Terdapat dua fitur yang membedakan instruksi-instruksi load/store : Ukuran data, dimana data dapat dipindahkan dalam satu byte, halfword, word, atau doubleword. Instruksi-instruksi juga dapat digunakan untuk memuat atau menyimpan suatu untai byte ke dalam sejumlah register atau dari sejumlah register Perluasan tanda, dimana pada pembuatan word dan halfword, bit-bit sebelah kiri register 64-bit tujuan yag tidak dipakai dapat diisi dengan bilangan-bilangan nol atau dengan bit tanda dari kuantitas yang dimuatkan.

F.Bahasa AssemblyCPU dapat memahami dan mengeksekusi instruksi-instruksi mesin. Instruksi-instruksi itu hanya berupa bilangan-bilangan biner yang tersimpan dalam computer. Bila pemograman ingin langsung membuat program dalam bahasa mesin, masalah programnya perlu dibuat dalam bentuk data biner. Perhatikan pernyataan bahasa BASIC yang sederhana di bawah ini :N = I + J + KMisalnya kita ingin memprogram pernyataan ini dalam bahasa mesin dan mnginisialisasi I, J, dan K masing-masing sebagai 2, 3, dan 4. Program ini ditunjukkan pada gambar di bawah ini :

AlamatIsiAlamatInstruksi101 00100010 00000001101LDA201102 00010010 00000010102ADD202103 00010010 00000011103ADD203104 00110010 00000100104STA204(a) Program Biner(b) Program Simbolik

AlamatIsiLabelOperasiOperand1012201FORMULLDAI1021202ADDJ1031203ADDK1043204STAN

2010002IDATA22020003JDATA32030004KDATA42040000NDATA0(c) Program Heksadesimal(d) Program AsemblyProgram tersebut berawal di lokasi 201. Program itu terdiri dari empat buah instruksi :1. Masukkan isi lokasi 201 ke dalam AC.2. Tambahkan isi lokasi 202 ke AC.3. Tambahkan isi lokasi 203 ke AC.4. Simpan isi AC di lokasi 204.Hal ini jelas merupakan proses yang membosankan dan merupakan proses yang mudah mengalami kesalahan.Sedikit peningkatan adalah dengan menulis program dalam heksadesimal daripada dalam notasi biner. Kita akan menuliskan programnya sebagai baris-baris. Setiap baris terdiri dari alamat lokasi memori dan kode heksadesimal nilai biner akan disimpan di lokasi tersebut. Kemudian kita memerlukan sebuah program yang akan menerima input ini, menerjemahkan setiap baris ke dalam bilangan biner, dan menyimpannya di lokasi tertentu.Untuk peningkatan yang lebih, kita dapat menggunakan nama simbolik atau mnemonic pada setiap-setiap instruksi. Ini menghasilkan dalam program simbolik yang ditunjukkan dalam gambar (c) di atas. Setiap baris input masih mempresentasikan satu lokasi memori. Setiap baris terdiri dari tiga bidang, yang dipisahkan dengan spasi. Bidang pertama terdiri dari lokasi memori. Untuk instruksi, bidang kedua terdiri dari tiga buah symbol bagi opcode. Jika merupakan instruksi yang mereferensi memori, maka bidang ketiga terdiri dari alamat-alamat. Untuk menyimpan data yang berubah-ubah dalam sebuah lokasi, kita menemukan pseudoinstruction (pseudoinstruksi) denga symbol DAT. Hal ini seolah-olah sebuah indikasi bahwa bidang ketiga pada baris dari bilanganheksadesimal disimpan dalam lokasi tertentu dalam bidang pertama.Untuk jenis input ini kita memerlukan program yang sedikit lebih kompleks. Program menerima setiap baris input, menghasilkan bilangan biner berdasarkan bidang kedua dan ketiga (jika ada), dan menyimpannya di lokasi yang ditentukan oleh bidang pertama.Penggunaan dari suatu program simbolik membuat hidup lebih mudah tetapi masih janggal. Khususnya, kita harus memberi alamat mutlak untuk setiap word. Hal ini berarti bahwa program dan data dimuatkan hanya ke suatu lokasi dalam memori, dan kita harus mengetahui tempat itu terlebih dahulu. Lebih buruk, misalnya, suatu hari kita ingin mengubah program itu dengan menambah atau menghapus sebuah baris. Hal ini akan mengubah semua almat-alamat word dan tertentu.Sistem yang jauh lebih baik, dan lebih umum digunakan adalah dengan menggunakan alamt-alamat simbolik. Hal ini dijelaskan pada gambar (d) di atas. Setiaop baris mesin terdiri dari tiga bidang. Bidang pertama masih untuk alamat, tetapi menggunakan simbolik dan bukan berupa alamat numeric absolut. Beberapa baris tidak mempunyai alamat, yang berarti bahwa alamat baris itu, maju satu dari alamat baris sebelumnya. Bagi instruksi referensi memori, bidang ketiga juga terdiri dari alamat simbolik.Dengan perbaikan terakhir ini, kita memiliki sebuah bahasa asembly. Prof yang ditulis dalam bahasa asembly diterjemahkan kedalam bahasa mesin oleh sebuah bahasa assembler. Program ini tidak hanya harus melakukan penerjemahan simbolik namun juga menugaskan beberapa bentuk alamat memori menjadi alamat-alamat simbolik.Pengembangan bahasa asembly merupakan hal yang sangat penting dalam evolusi teknologi computer. Ini adalah langkah awal menuju bahasa tingkat tinggi yang digunakan saat ini. Meskipun sedikit pemrogram yang menggunakan bahasa asembli, namu sebenarnya semua mesin menyediakannya. Mesin-mesin itu digunakan untuk program-program system compiler dan rutin-rutin I/O.

Bottom of Form

DAFTAR PUSTAKAhttp://lecturer.eepis-its.edu/~setia/Modul/ArKom/Pertemuan%2004.pdf

http://lecturer.ukdw.ac.id/~mahas/dossier/arkom_08.pdf

https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CBsQFjAA&url=https%3A%2F%2Fiyant201043500251.files.wordpress.com%2F2012%2F05%2Fjurnal-arsitektur-dan-organisasi-komputer3.docx&ei=1lKVPaKMMePuATLw4CACw&usg=AFQjCNGIGHqMeMLO_vTkQ57jsR6_g_xKiQ&cad=rja

http://sulaiman001.blogspot.com/2011/12/makalah-arsitektur-set-instruksi.html

http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=10&ved=0CFYQFjAJ&url=http%3A%2F%2Fmargono.staff.uns.ac.id%2Ffiles%2F2009%2F06%2Fset-instruksi.ppt&ei=FmmKVJCHCNaOuATDsYCACg&usg=AFQjCNEVQYQQ1aw9A6Al9-1NbO18gVPDqA&cad=rja

http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&ved=0CDAQFjAD&url=http%3A%2F%2Fwww.mdp.ac.id%2Fmateri%2F2010-2011-2%2FSP354%2F052110%2FSP354-052110-556-7.pptx&ei=FmmKVJCHCNaOuATDsYCACg&usg=AFQjCNHbSR2wuJX0JULQCAp2nX7phz07Gg&cad=rja

http://eprints.binadarma.ac.id/883/1/ARSITEK%20KOMPUTER%205.pdf

22SET INSTRUKSI : KARAKTERISTIK DAN FUNGSI