instruksi

Upload: fauziah

Post on 30-Oct-2015

66 views

Category:

Documents


0 download

DESCRIPTION

materi instrumentasi oret2an

TRANSCRIPT

INSTRUKSI DAN CARA MENANGANI

Dalam operasi dasarnya para penggantinya unit pusat pengolahan antara petunjuk dan mengambilmenjalankan instruksi. Instruksi menyebabkan prosesor untuk memanipulasi isi spesifikmodel pemrograman mendaftar-dan memori dan I / O lokasi. Beberapa jenis instruksi. yaituload / store, logika aritmatika, dan input / output, harus mengidentifikasi register tertentu dan / atau lokasi untukprosesor agar dapat menemukan operan atau toko properti hasil. Uji petunjuk cabang harusjuga mengidentifikasi lokasi cabang target dalam program. Bab ini membahas berbagai kelasinstruksi yang prosesor harus mampu mengeksekusi.

1 JENIS INSTRUKSIKomputer dapat melakukan tipe dasar tertentu operasi: load / store, logika aritmatika, uji / cabang,dan input / output. Meskipun petunjuk yang mengarahkan operasi ini di central processingUnit bervariasi dari prosesor ke prosesor, karakteristik umum tertentu ditemukan di semuainstruksi prosesor set.

1.1 Beban / Toko InstruksiMuat / operasi toko adalah mereka yang memindahkan data antara register dalam prosesor danlokasi memori (atau register lain). Mereka sering disebut sebagai pergerakan datapetunjuk. Beban dua istilah dan toko sering bingung dan harus hati-hati dibedakandari satu sama lain. Gambar 5.1 mengilustrasikan perbedaan.

GAMBAR 5.1Load dan operasi toko: (a) beban, (b) toko.Salah satu karakteristik universal eksekusi instruksi adalah bahwa sumber tidak mendapatkanberubah, hanya tujuan. Dengan demikian, dalam operasi beban prosesor salinan data ke register, dandalam operasi toko prosesor salinan data dari register ke lokasi memori.Contoh beban / menyimpan instruksi dalam MC6809 adalah LDA, STA, LDB, STB, LDD, STD, dansebagainya. Contoh beban / menyimpan instruksi dalam MC68000 adalah MOVE (untuk kedua arah datagerakan), MOVEM (untuk memindahkan isi register beberapa masuk atau keluar dari memori denganinstruksi tunggal), dan EXG (untuk bertukar isi register). Instruksi-instruksi dan lain-lain sepertimereka harus menyertakan informasi yang mengidentifikasi sumber dan tujuan.

5.1.2 Aritmatika / Logika InstruksiAritmatika / logika operasi menyediakan pengolahan data kemampuan utama komputer.Operasi aritmatika minimum yang diperlukan adalah dari penambahan dan pengurangan.Semua prosesor, melaksanakan operasi logika dasar AND, OR, dan eksklusif-OR pada sedikit-demi-bit dasar antara dua operan.Dengan operasi membutuhkan dua operan, mikroprosesor yang lebih kecil biasanya membutuhkan bahwa salah satuoperan harus dalam register tujuan awalnya, sementara yang lain mungkin dalam register lain atau dimemori. Instruksi mereka dapat mengidentifikasi paling banyak operan tunggal dalam memori, seperti yang ditunjukkan pada Gambar5.2a. Mereka mendukung operasi seperti menambahkan atau ANDing untuk prosesor register seperti yang digambarkan tetapi tidak ke lokasi memori.

GAMBAR format Instruksi 5.2: (a) alamat tunggal, (b) alamat ganda, (c) alamat tiga.

Beberapa contoh dari dua-operan aritmatika / logic petunjuk di MC6809 yang ADDB. SUBA.Subd, ANDA, dan Eora (exclusive-OR). Masing-masing membutuhkan satu operand berada dalamakiSekitar dua-operan aritmatika / logic petunjuk dalam set instruksi MC68000 adalah ADD, DAN,OR, SUB, dan EOR. Semua dua-operan instruksi di MC68000 harus menentukan sumber dantujuan. Dengan beberapa pengecualian, ini mungkin berdua akan register atau lokasi memori atau salah satu darimasing-masing.Di antara single-operan aritmatika / logika operasi adalah penambahan dan pengurangan operasi,yang 1 dan komplemen 2, dan berbagai pergeseran dan memutar operasi. Ini beroperasi secara langsung padaditentukan operan untuk memodifikasinya. Dengan demikian, lokasi operan adalah baik sumber dan tujuan untukoperasi.Contoh satu-operan petunjuk di MC6809 termasuk COMA (melengkapi A), ASLB(Aritmatika pergeseran kiri B), INC (kenaikan lokasi memori yang alamatnya diidentifikasi dalaminstruksi), dan Nega (komplemen 2 atau meniadakan A). MC68000 meliputi CLR petunjuk(Hapus), NEG (mengubah tanda), TIDAK (pelengkap), dan EXT (memperpanjang sedikit tanda untuk menggandakanjumlah bit dalam sebuah operan).

1,3 Uji / Cabang PetunjukUji / cabang operasi menyediakan kemampuan mengambil keputusan begitu penting di komputerprogram. Tes sering harus dilakukan pada hasil dari beberapa operasi aritmatika / logic sebelumnya. Itumenentukan apakah hasilnya adalah nol atau nol, positif atau negatif, atau beberapa pilihan biner lainnyamelibatkan bit dalam register kode kondisi. Selama pelaksanaan instruksi pengujian / cabangprosesor memeriksa kondisi bit kode yang sesuai untuk menentukan hasil tes. Tergantungpada hasilnya, prosesor mungkin atau tidak mungkin cabang ke lokasi terpencil untuk instruksi berikutnya.Contoh uji / cabang instruksi BCC (cabang jika membawa dihapus), beq (cabang jika samake 0), BMI (cabang jika minus), dan BRA (cabang selalu).

2 MENANGANI CARASebagian besar petunjuk harus mengacu pada alamat atau isi dari lokasi memori tertentu.Instruksi ini memori yang disebut referensi entah bagaimana harus mengidentifikasi alamat lokasi sebagaibagian dari pengkodean instruksi. Cara yang ini alamat target atau alamat efektif adalahdiidentifikasi dalam instruksi disebut mode pengalamatan.Bagian ini menjelaskan mode pengalamatan lebih umum digunakan di mikroprosesor.

2.1 Direct Addressing

Ketika instruksi eksplisit menyatakan lokasi operan atau tujuan (baik di memori ataudalam register prosesor), modus pengalamatan dikenal sebagai langsung menangani. Alamat yang efektifitu sendiri termasuk dalam kata-kata selanjutnya dari instruksi (pasca-kata).Dua sub-klasifikasi dalam mode pengalamatan langsung sering diakui. Ketikalokasi di memori modus dapat disebut sebagai mutlak menangani. Ketika lokasi adalahprosesor mendaftar itu dapat disebut sebagai mendaftar langsung menangani. Gambar 5.3 menggambarkan dua mode. Dalam bagian instruksi menentukan alamat operan, dalam bagian b instruksi menentukan register yang berisi operand

GAMBAR 5.3 Direct menangani: (a) mutlak pengalamatan, (b) mendaftar langsung menangani.(LDA 100BH, ADDA 100CH, STA 100DH

Langsung menangani digunakan ketika alamat memori atau register yang dipilih harus diperbaiki dalamProgram.

2.2 Segera AddressingDalam banyak kasus memerlukan sebuah instruksi dalam jumlah yang konstan, pola bit yang tidak akan pernah berubahtidak peduli kapan atau seberapa sering instruksi dijalankan. Mode ini termasuk pola bit sebagaibagian dari instruksi disebut mode pengalamatan langsung. Op-kata untuk instruksitermasuk kelompok bit yang mengidentifikasi modus inimenangani, dan pasca-kata termasuk pola bit itu sendiri.Karena instruksi terletak di memori program konstantaitu sendiri juga dalam memori program.Modus pengalamatan langsung instruksi tidaknegara tandasnya lokasi operan, melainkan secara eksplisitmenyatakan operan sendiri. Contoh pada Gambar 5.4 mengilustrasikanmode ini. Perhatikan bahwa operan menjadi bagian integral dariinstruksi.

GAMBAR 5.4 Segera menangani.

Segera menangani digunakan ketika nilai konstan tertentu untuk diperbaiki dalam programitu sendiri. Nilai ini ditemukan dalam memori "segera" setelah kata kode instruksi dan tidak pernah mungkinberubah setiap saat.

2.3 langsung AddressingDalam mode pengalamatan tidak langsung instruksi memberitahu prosesor tidak alamat darioperan maupun operan sendiri. Sebaliknya, ia memberitahu prosesor mana harus pergi untuk menemukan alamatoperan. Instruksi eksplisit menyatakan mungkin baik alamat lokasi di memori atau nama dari sebuah register prosesor, namun jumlah biner yang ditemukan tidak ada operand. Sebaliknya, itu adalahalamat yang efektif, alamat lokasi di memori prosesor mana harus pergi untuk menemukanoperan. Hasilnya adalah bahwa prosesor harus mengambil satu langkah ekstra dalam rangka untuk mencari operand.Op-kata untuk instruksi termasuk kelompok bit yang mengidentifikasi modus inimenangani, dan alamat (tidak langsung) ditentukan dalam satu atau beberapa kata pasca-tambahan. Jikanama instruksi prosesor mendaftar sebagai sumber dari alamat yang efektif, maka registernomor identifikasi dapat masuk ke dalam kata-op itu sendiri.Langsung menangani digunakan ketika sebuah program harus beroperasi pada nilai-nilai data yang berbeda di bawahberbeda situasi.Gambar 5.6 membandingkan dan kontras tiga mode pertama pengalamatan. Perhatikan bahwa dalam langsungModus instruksi meliputi operan, dalam modus langsung itu termasuk alamat operan,dan dalam modus tidak langsung itu mencakup alamat dari alamat dari operan.

GAMBAR 5.5 langsung menangani: (a) memori tidak langsung, (b) tidak langsung mendaftar.

GAMBAR 5.6 Perbandingan langsung, langsung, dan tidak langsung menangani.2,4 Multi-Komponen Addressing ModeSetiap mode pengalamatan berikut mensyaratkan bahwa prosesor merakit dua ataulebih komponen bersama-sama selama pelaksanaan program dalam rangka menciptakan efektifaddress. Dalam setiap kasus alamat yang efektif itu sendiri adalah bahwa dari lokasi memori. Namun, setidaknya satukomponen yang ditemukan dalam register prosesor.Instruksi yang menggunakan pengalamatan diindeks menentukan dua register, sering dengan coding dalam op-Kata itu sendiri dan dikenal sebagai "pengalamatan terindeks". Selama pelaksanaan program prosesor sementaramenambahkan isi register untuk menghasilkan alamat yang efektif. Salah satu register adalahalamat mendaftar dan dikatakan untuk memegang alamat dasar. Yang lain adalah umumnya register data -perpindahan atau mendaftar indeks.Berdasarkan menangani adalah modus yang sama dimana instruksi menentukan register alamat dantetap konstan (offset atau perpindahan). Penunjukan mendaftar sering pas dengan kata-op danoffset biasanya memerlukan pasca-kata. Dalam mode ini isi dari register adalah dasar dankonstan adalah perpindahan. Selama eksekusi prosesor menambahkan konstan dan nilai dalammendaftar untuk menghasilkan alamat yang efektif. Ini mode pengalamatan ini juga dikenal sebagai "berbasis relatifdiindeks "Modus

GAMBAR 5.7 "Indexed / berbasis / offset" menangani.

Modus pengalamatan relatif memungkinkan penulisan "posisi-kode bebas," programyang akan benar dieksekusi oleh prosesor mana pun mereka berada di memori.Seluruh program (bersama-sama dengan data yang diperlukan) dapat diambil dari satu daerah memoridan pindah ke lain tanpa efek samping. Agar lokasi-independen program mungkin tidakmengacu pada setiap lokasi tertentu berdasarkan alamat. Semua referensi ke memori harus melalui penggunaanrelatif menangani. Contoh akan ditampilkan dalam bab berikutnya.

GAMBAR 5.8 (PC) Relatif menangani.

2,5 Tersirat atau Inherent AddressingInstruksi tertentu memungkinkan ada pilihan register atau lokasi tetapi selalu menyebabkan prosesor untuk merujuksama register. Salah satu contoh adalah instruksi multiply di MC6809 yang selalu mengasumsikanbahwa Operand berada dalam Akumulator A dan B. Contoh di MC6809 adalah ABX (menambah B ke X),CLRA (jelas A), dan TSTA (menguji A).

3 THE MC6809 MENANGANI MODE

Bagian ini menjelaskan secara rinci mode pengalamatan yang digunakan dalam mikroprosesor MC6809 Motorola,mereka format dalam memori program, dan bagaimana mereka ditentukan dalam bentuk mnemonic. ituterminologi yang digunakan dalam literatur pabrikan.MC6809 ini meliputi lima mode pengalamatan: diperpanjang, langsung, langsung, relatif, dandiindeks. Selain itu, modus diindeks memiliki berbagai macam pilihan. Karena jumlah besarinstruksi dan mode pengalamatan, instruksi panjangnya bervariasi dari satu sampai lima byte.The mode pengalamatan dasar diilustrasikan pada Gambar 5.10

GAMBAR 5.10 MC6809 mode pengalamatan: (a) diperpanjang, (b) langsung, (c) langsung, (d) relatif(cabang saja), (e) diindeks.

Auto Increment / Decrement Pilihan pada MC6809

Sementara mengulangi loop program prosesor sering harus mengubah pointer ke alamat yang berdekatan dimemori pada setiap pass melalui loop. Mungkin perlu untuk kenaikan atau penurunan nilai dalampointer, tergantung pada arah di mana array sedang dipindai.Dua contoh auto penambahan / pengurangan opsi baru disajikan pada Gambar 5.18. Bagian adalahinstruksi LDA, X +, beban A diindeks dengan X pasca-inc per satu. Gambar 5.18b adalah STY instruksi, -U. Ketika dieksekusi prosesor pertama akan pengurangan indeks mendaftar U oleh 2. Setelah itu,akan menyimpan bagian atas dua-byte mendaftar Y ke lokasi baru yang ditunjukkan oleh register U danbagian bawah ke lokasi berikutnya berikutnya.

GAMBAR 5.18 MC6809 diindeks menangani, auto penambahan / pengurangan pilihan: (a) pasca-kenaikan,(b) pra-decrement.

Pra-decrementing oleh 2 membuka dua slot baru di memori di mana nilai double-byte di Y dapatdisimpan sesuai dengan instruksi.Sebagai konsekuensi dari pilihan penambahan / pengurangan, tidak hanya instruksi mencapaiTugas utamanya memanipulasi operan yang ditargetkan, juga memodifikasi isi yang dipilihregister indeks.