Anda di halaman 1dari 11

INSTRUKSI DAN CARA MENANGANI Dalam operasi dasarnya para penggantinya unit pusat pengolahan antara petunjuk dan

mengambil menjalankan instruksi. Instruksi menyebabkan prosesor untuk memanipulasi isi spesifik model pemrograman mendaftar-dan memori dan I / O lokasi. Beberapa jenis instruksi. yaitu load / store, logika aritmatika, dan input / output, harus mengidentifikasi register tertentu dan / atau lokasi untuk prosesor agar dapat menemukan operan atau toko properti hasil. Uji petunjuk cabang harus juga mengidentifikasi lokasi cabang target dalam program. Bab ini membahas berbagai kelas instruksi yang prosesor harus mampu mengeksekusi. 1 JENIS INSTRUKSI Komputer dapat melakukan tipe dasar tertentu operasi: load / store, logika aritmatika, uji / cabang, dan input / output. Meskipun petunjuk yang mengarahkan operasi ini di central processing Unit bervariasi dari prosesor ke prosesor, karakteristik umum tertentu ditemukan di semua instruksi prosesor set. 1.1 Beban / Toko Instruksi Muat / operasi toko adalah mereka yang memindahkan data antara register dalam prosesor dan lokasi memori (atau register lain). Mereka sering disebut sebagai pergerakan data petunjuk. Beban dua istilah dan toko sering bingung dan harus hati-hati dibedakan dari 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 mendapatkan berubah, hanya tujuan. Dengan demikian, dalam operasi beban prosesor salinan data ke register, dan dalam operasi toko prosesor salinan data dari register ke lokasi memori. Contoh beban / menyimpan instruksi dalam MC6809 adalah LDA, STA, LDB, STB, LDD, STD, dan sebagainya. Contoh beban / menyimpan instruksi dalam MC68000 adalah MOVE (untuk kedua arah data gerakan), MOVEM (untuk memindahkan isi register beberapa masuk atau keluar dari memori dengan instruksi tunggal), dan EXG (untuk bertukar isi register). Instruksi-instruksi dan lain-lain seperti mereka harus menyertakan informasi yang mengidentifikasi sumber dan tujuan. 5.1.2 Aritmatika / Logika Instruksi Aritmatika / 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-demibit dasar antara dua operan. Dengan operasi membutuhkan dua operan, mikroprosesor yang lebih kecil biasanya membutuhkan bahwa salah satu operan harus dalam register tujuan awalnya, sementara yang lain mungkin dalam register lain atau di memori. Instruksi mereka dapat mengidentifikasi paling banyak operan tunggal dalam memori, seperti yang ditunjukkan pada Gambar 5.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 dalam aki Sekitar 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 dan tujuan. Dengan beberapa pengecualian, ini mungkin berdua akan register atau lokasi memori atau salah satu dari masing-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 pada

ditentukan operan untuk memodifikasinya. Dengan demikian, lokasi operan adalah baik sumber dan tujuan untuk operasi. Contoh satu-operan petunjuk di MC6809 termasuk COMA (melengkapi A), ASLB (Aritmatika pergeseran kiri B), INC (kenaikan lokasi memori yang alamatnya diidentifikasi dalam instruksi), dan Nega (komplemen 2 atau meniadakan A). MC68000 meliputi CLR petunjuk (Hapus), NEG (mengubah tanda), TIDAK (pelengkap), dan EXT (memperpanjang sedikit tanda untuk menggandakan jumlah bit dalam sebuah operan). 1,3 Uji / Cabang Petunjuk Uji / cabang operasi menyediakan kemampuan mengambil keputusan begitu penting di komputer program. Tes sering harus dilakukan pada hasil dari beberapa operasi aritmatika / logic sebelumnya. Itu menentukan apakah hasilnya adalah nol atau nol, positif atau negatif, atau beberapa pilihan biner lainnya melibatkan bit dalam register kode kondisi. Selama pelaksanaan instruksi pengujian / cabang prosesor memeriksa kondisi bit kode yang sesuai untuk menentukan hasil tes. Tergantung pada 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 sama ke 0), BMI (cabang jika minus), dan BRA (cabang selalu). 2 MENANGANI CARA Sebagian besar petunjuk harus mengacu pada alamat atau isi dari lokasi memori tertentu. Instruksi ini memori yang disebut referensi entah bagaimana harus mengidentifikasi alamat lokasi sebagai bagian dari pengkodean instruksi. Cara yang ini alamat target atau alamat efektif adalah diidentifikasi 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 atau dalam register prosesor), modus pengalamatan dikenal sebagai langsung menangani. Alamat yang efektif itu sendiri termasuk dalam kata-kata selanjutnya dari instruksi (pasca-kata). Dua sub-klasifikasi dalam mode pengalamatan langsung sering diakui. Ketika lokasi di memori modus dapat disebut sebagai mutlak menangani. Ketika lokasi adalah prosesor 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 dalam Program. 2.2 Segera Addressing Dalam banyak kasus memerlukan sebuah instruksi dalam jumlah yang konstan, pola bit yang tidak akan pernah berubah tidak peduli kapan atau seberapa sering instruksi dijalankan. Mode ini termasuk pola bit sebagai bagian dari instruksi disebut mode pengalamatan langsung. Op-kata untuk instruksi termasuk kelompok bit yang mengidentifikasi modus ini menangani, dan pasca-kata termasuk pola bit itu sendiri. Karena instruksi terletak di memori program konstanta itu sendiri juga dalam memori program. Modus pengalamatan langsung instruksi tidak negara tandasnya lokasi operan, melainkan secara eksplisit menyatakan operan sendiri. Contoh pada Gambar 5.4 mengilustrasikan mode ini. Perhatikan bahwa operan menjadi bagian integral dari instruksi. GAMBAR 5.4 Segera menangani. Segera menangani digunakan ketika nilai konstan tertentu untuk diperbaiki dalam program itu sendiri. Nilai ini ditemukan dalam memori "segera" setelah kata kode instruksi dan tidak pernah

mungkin berubah setiap saat. 2.3 langsung Addressing Dalam mode pengalamatan tidak langsung instruksi memberitahu prosesor tidak alamat dari operan maupun operan sendiri. Sebaliknya, ia memberitahu prosesor mana harus pergi untuk menemukan alamat operan. 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 adalah alamat yang efektif, alamat lokasi di memori prosesor mana harus pergi untuk menemukan operan. Hasilnya adalah bahwa prosesor harus mengambil satu langkah ekstra dalam rangka untuk mencari operand. Op-kata untuk instruksi termasuk kelompok bit yang mengidentifikasi modus ini menangani, dan alamat (tidak langsung) ditentukan dalam satu atau beberapa kata pascatambahan. Jika nama instruksi prosesor mendaftar sebagai sumber dari alamat yang efektif, maka register nomor identifikasi dapat masuk ke dalam kata-op itu sendiri. Langsung menangani digunakan ketika sebuah program harus beroperasi pada nilai-nilai data yang berbeda di bawah berbeda situasi. Gambar 5.6 membandingkan dan kontras tiga mode pertama pengalamatan. Perhatikan bahwa dalam langsung Modus 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 Mode Setiap mode pengalamatan berikut mensyaratkan bahwa prosesor merakit dua atau lebih komponen bersama-sama selama pelaksanaan program dalam rangka menciptakan efektif address. Dalam setiap kasus alamat yang efektif itu sendiri adalah bahwa dari lokasi memori. Namun, setidaknya satu komponen yang ditemukan dalam register prosesor. Instruksi yang menggunakan pengalamatan diindeks menentukan dua register, sering dengan coding dalam opKata itu sendiri dan dikenal sebagai "pengalamatan terindeks". Selama pelaksanaan program prosesor sementaramenambahkan isi register untuk menghasilkan alamat yang efektif. Salah satu register adalah alamat 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 dan tetap konstan (offset atau perpindahan). Penunjukan mendaftar sering pas dengan kata-op dan offset biasanya memerlukan pasca-kata. Dalam mode ini isi dari register adalah dasar dan konstan adalah perpindahan. Selama eksekusi prosesor menambahkan konstan dan nilai dalam mendaftar untuk menghasilkan alamat yang efektif. Ini mode pengalamatan ini juga dikenal sebagai "berbasis relatif diindeks "Modus

GAMBAR 5.7 "Indexed / berbasis / offset" menangani.

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

GAMBAR 5.8 (PC) Relatif menangani.

2,5 Tersirat atau Inherent Addressing Instruksi tertentu memungkinkan ada pilihan register atau lokasi tetapi selalu menyebabkan prosesor untuk merujuk sama register. Salah satu contoh adalah instruksi multiply di MC6809 yang selalu mengasumsikan bahwa 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. itu terminologi yang digunakan dalam literatur pabrikan. MC6809 ini meliputi lima mode pengalamatan: diperpanjang, langsung, langsung, relatif, dan diindeks. Selain itu, modus diindeks memiliki berbagai macam pilihan. Karena jumlah besar instruksi 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 di memori pada setiap pass melalui loop. Mungkin perlu untuk kenaikan atau penurunan nilai dalam pointer, tergantung pada arah di mana array sedang dipindai. Dua contoh auto penambahan / pengurangan opsi baru disajikan pada Gambar 5.18. Bagian adalah instruksi 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 dan bagian 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 dapat disimpan sesuai dengan instruksi. Sebagai konsekuensi dari pilihan penambahan / pengurangan, tidak hanya instruksi mencapai Tugas utamanya memanipulasi operan yang ditargetkan, juga memodifikasi isi yang dipilih register indeks.

Anda mungkin juga menyukai