Rabu, 02 Maret 2011

SISTEM mikroprosesor (Sistem Mikroprosesor)


Terjemahan Inggris ke Bahasa Indonesia
SISTEM mikroprosesor
(Sistem Mikroprosesor)


Materi kuliah
Jurusan TEKNIK ELEKTRO


o
l
e
h

Ir. Arman Sani, MT




Jurusan TEKNIK ELEKTRO
SEKOLAH HARAPAN TEKNIK Tinggi
 MEDAN
2009


I. Pengantar Mikroprosesor
1. Bit, Byte
BIT adalah Digit BINARY.
bit bisa menjadi nol ('0 ') atau satu ('1').
Sejumlah biner yang terbuat dari delapan bit, seperti 11001010 dikenal sebagai sebuah BYTE.
Empat bit, seperti 1101 dikenal sebagai nibble (setengah byte dan lelucon).
Enam belas bit nomor adalah FIRMAN.
Tiga puluh dua bit yang adalah FIRMAN PANJANG.
Enam puluh empat bit nomor adalah WORD SANGAT PANJANG.
Nomor tersebut dapat disimpan dalam REGISTER di dalam chip (sirkuit terpadu).
1k dalam sistem biner adalah 1024.
Koleksi ini dapat mewakili bit bilangan biner.
Mereka juga dapat merupakan sistem bilangan desimal atau lainnya.
Sistem ASCII menggunakan mereka untuk mewakili huruf abjad dan tanda baca.
The TABEL ASCII memberikan setara biner alfabet.
Semua informasi ini disebut DATA.
Angka dalam sistem mikroprosesor sering dinyatakan dalam heksadesimal.
mikroprosesor juga disebut TENGAH PENGOLAHAN UNIT (CPU).
Ada sangat banyak cpu dan salah satu yang paling umum adalah 6502.
I1.ts , Bytes dll Tutorial

2. Diagram Sistem Mikroprosesor
 
CPU dapat mencantumkan nomor biner pada bus alamat, untuk memilih mendaftar individu dalam ROM atau ram atau O. I /
Panah pada bus ini menunjukkan bahwa alamat pergi satu-satunya cara.
Data di alamat yang dipilih dapat diletakkan pada bus data.
CPU juga dapat meletakkan data pada bus ini yang dapat ditulis ke dalam daftar ram atau i / o.
Hal ini tidak mungkin untuk menulis data ke ROM (membaca memori saja).
Hal ini ditunjukkan dengan panah tunggal pada ROM bus data dan panah ganda pada dua lainnya.
Bus kontrol memerintahkan chip untuk melakukan berbagai hal, seperti ketika membaca atau menulis dll
Jam memberitahu semua chip saat untuk mengubah apa yang mereka lakukan.
Seperti sersan yang berteriak "KIRI, KANAN, KIRI, KANAN".
Kristal Kontrol kecepatan operasi.
Dalam sistem yang sederhana frekuensi kristal 1.000.000 Hz.

3. Arithmetic / Logic Unit
 
Semua aritmatika dan instruksi logis yang dilakukan oleh ALU.
Suatu instruksi delapan bit yang menginformasikan ALU operasi itu adalah untuk melaksanakan.
Nomor satu untuk dimanipulasi berasal dari akumulator, yang lain dari memori atau register lain.
Hasilnya disimpan dalam akumulator.
Bendera dalam register status yang ditetapkan untuk menunjukkan hasilnya, seperti negatif dll

4. Arsitektur Mikroprosesor
 
Arsitektur Prosesor menunjukkan konstruksi internal. Prosesor 6502 memiliki tujuh register internal 8 bit dan sebuah ALU (unit logika aritmatika).
Register X dan Y disebut register INDEX dan digunakan dalam manipulasi data.
S adalah stack mendaftar. Ini berisi alamat yang menunjukkan di mana ada toko sementara untuk data yang disebut STACK tersebut.
PROGRAM COUNTER COUNTER TINGGI PROGRAM DAN RENDAH bersama-sama membentuk register 16 bit, yang berisi alamat dari instruksi berikutnya yang akan dieksekusi.
Adalah AKI tersebut. Semua data yang akan dimanipulasi ditempatkan dalam register ini dan bekerja atas.
P adalah PROCESSOR STATUS REGISTER. Ini berisi beberapa satu FLAGS sedikit.
Ini mengandung satu atau nol untuk menunjukkan sesuatu yang telah terjadi selama manipulasi data.
Sebagai contoh, salah satu bendera diatur jika hasil perhitungan adalah nol. Lain diatur jika hasilnya negatif.
Dengan melihat flag-flag ini CPU mampu membuat keputusan. Inilah mengapa sangat pintar.
ALU tidak register. Hal ini dibahas pada halaman lain.

5. Read Only Memory (ROM)  

Memory chip hanyalah kumpulan register, masing-masing dengan alamat sendiri.
Data, dalam bentuk 0 dan 1, adalah disimpan dalam register.
chip ROM dapat dibaca dari, tetapi tidak ditulis.
Mereka adalah non volatile, yang berarti bahwa mereka mempertahankan isinya setelah daya dihapus.
Kebanyakan ROM diprogram selama pembuatan chip.
Lainnya, Programmable ROM, prom, dapat memiliki isinya diprogram dalam setelah pembuatan.
ROM 2716 ditunjukkan di atas adalah sebuah EPROM.
Ini merupakan prom dihapus, dimana jika Anda membuat kesalahan, Anda dapat menghapus isi dengan bersinar sinar ultra violet melalui jendela di chip.
Beberapa chip elektrik bisa dihapus dan dikenal sebagai EEPROMs.

6. Input dan Output
 
Sistem mikroprosesor ada gunanya kecuali dapat berkomunikasi dengan dunia luar.
Hal ini melalui INTERFACE yang biasanya sebuah plug atau socket.
CPU berkomunikasi dengan interface ini melalui sebuah chip / INPUT OUTPUT PORT.
Chip ini disebut serbaguna INTERFACE Adaptor atau UNIVERSAL ASYNCHRONOUS RECEIVER / pemancar dll
Pelabuhan memiliki registernya sendiri dengan alamat, dan CPU dapat menulis data ke, atau membaca data dari, register ini.
Jika sistem pengendalian satu set lampu lalu lintas, maka CPU dapat menulis data ke register, untuk beralih lampu dalam urutan yang benar.
Hal ini juga dapat membaca data yang disediakan ke pelabuhan dengan sensor terkubur di jalan.
Ini berarti bahwa ia dapat membuat keputusan sesuai dengan jumlah lalu lintas dan beralih lampu sesuai.
Karena sistem ini adalah digital dan dunia luar kebanyakan analog, digital untuk konverter analog yang diperlukan ketika memberikan output, misalnya sebagai salah satu untuk mengontrol suhu oven.
Sebuah analog ke digital diperlukan jika sistem ini untuk membaca perangkat analog, seperti termometer.
Sistem mikroprosesor ada gunanya kecuali dapat berkomunikasi dengan dunia luar.
Hal ini melalui INTERFACE yang biasanya sebuah plug atau socket.
CPU berkomunikasi dengan interface ini melalui sebuah chip / INPUT OUTPUT PORT.
Chip ini disebut serbaguna INTERFACE Adaptor atau UNIVERSAL ASYNCHRONOUS RECEIVER / pemancar dll
Pelabuhan memiliki registernya sendiri dengan alamat, dan CPU dapat menulis data ke, atau membaca data dari, register ini.
Jika sistem pengendalian satu set lampu lalu lintas, maka CPU dapat menulis data ke register, untuk beralih lampu dalam urutan yang benar.
Hal ini juga dapat membaca data yang disediakan ke pelabuhan dengan sensor terkubur di jalan.
Ini berarti bahwa ia dapat membuat keputusan sesuai dengan jumlah lalu lintas dan beralih lampu sesuai.
Karena sistem ini adalah digital dan dunia luar kebanyakan analog, digital untuk konverter analog yang diperlukan ketika memberikan output, misalnya sebagai salah satu untuk mengontrol suhu oven.
Sebuah analog ke digital diperlukan jika sistem ini untuk membaca perangkat analog, seperti termometer.


7. Instruksi dan Program
Instruksi diwakili oleh bilangan biner yang disebut kode operasi, atau opcode.
Mereka sering ditulis dalam heksadesimal.
CPU yang berbeda memiliki instruksi yang berbeda.
Untuk membuat mereka lebih mudah untuk mengingat mereka diberi nama disebut mnemonik.
Contohnya adalah
ADD menambah isi akumulator.
STA menyimpan isi akumulator.
LDA load ke akumulator.
PAJAK transfer isi akumulator untuk mendaftar X.
Sebuah program adalah daftar instruksi, biasanya ditulis dengan menggunakan mnemonik.
Berikut adalah urutan peristiwa untuk program menulis.
Mendefinisikan masalah.
Menghasilkan algoritma (daftar instruksi, ditulis dalam bahasa sehari-hari).
Menghasilkan diagram alur.
Tulis program menggunakan mnemonik.
Pasang ke opkode hex. (Assembler adalah program yang melakukan hal ini).
Uji dengan menjalankan program.
DEBUG IT!
Berikut adalah program pendek
Alamat
0200
0202
0204 label
sini operator
LDA
ADC
JMP operan
FF
01 label


di sini opcode
A9 FF
69 01
     4C 00 02
Label dapat digunakan sebagai pengganti angka, sebagai tindakan sementara, dan digantikan dengan jumlah kemudian

8. FLOW CHART Simbol
 
Ketika perangkat lunak perencanaan, salah satu tahap adalah untuk menghasilkan sebuah diagram alur.
Bentuk kotak menunjukkan fungsinya.
Data lebih lanjut diberikan sebagai teks di dalam kotak.
Ketika perangkat lunak perencanaan, salah satu tahap adalah untuk menghasilkan sebuah diagram alur.
Bentuk kotak menunjukkan fungsinya.
Data lebih lanjut diberikan sebagai teks di dalam kotak.


9. Sistem Flags
 
6502 CPU berisi status mendaftar dan setiap bit individu adalah sebuah BENDERA.
bendera menunjukkan hasil dari operasi sebelumnya.
N hasilnya negatif
V Hasil terlalu besar, menyebabkan sebuah meluap
B ditetapkan oleh perangkat lunak perintah York
D dalam modus desimal
Aku interrupt telah terjadi
Z hasil nol
C membawa
Flag-flag diuji oleh CPU dan, tergantung pada keadaan mereka, menentukan bagian mana dari program CPU akan melompat ke.
Ini adalah bagaimana komputer mampu membuat keputusan.


10. Interupsi
 
Sistem mikroprosesor dapat mengukur suhu di gurun Sahara.
Sekali setahun itu menerima sinyal radio bercerita kepada berhenti mengukur suhu dan mengirim semua data tahun lalu ke pangkalan. Ini adalah interupsi.
CPU menyelesaikan itu instruksi saat ini.
Hal ini kemudian mendorong setiap data yang ingin menyimpan ke dalam stack.
Ia kemudian melompat ke rutin yang melayani interrupt.
Setelah rutin interrupt selesai, itu menarik data yang disimpan dari stack dan menjalankan suhu pengukuran.
Ada dua pin pada CPU yang bila diambil rendah, menyebabkan perangkat keras interrupt.
IRQ dapat dirasakan atau diabaikan tergantung nilai bendera mengganggu dalam register status.
NMI tidak bisa. diabaikan
11. Bis-bis
 
Diagram adalah bus sedikit empat.
Nol dan yang dapat diletakkan di bus, 0 volt untuk nol dan +5 volt untuk mewakili satu.
Jumlah terkecil yang dapat dimasukkan pada bus sedikit empat adalah 0000.
Yang terbesar adalah 1111 yang 15 dalam desimal dan F dalam hex.
Oleh karena itu enam belas nomor yang berbeda dapat ditempatkan pada bus, 0000 menjadi 1.111 terendah dan tertinggi.
Daripada menarik empat kabel, kita menggunakan representasi yang ditunjukkan dalam diagram B.
Banyak sistem micoprocessor menggunakan delapan bit data bus.
Jumlah terkecil yang dapat ditempatkan pada itu adalah 00000000.
Jumlah terbesar adalah 11111111 yang setara dengan 255 dalam desimal.
256 Oleh karena itu nomor yang berbeda dapat ditempatkan pada bus ini.
255 dalam desimal adalah FF dalam hex.
Sebuah bus enam belas bit ditampilkan pada diagram C.
Jumlah terkecil yang kita dapat memakai bus ini adalah 0000000000000000.
Jumlah terbesar adalah 1111111111111111 yang 65535 dalam desimal.
Oleh karena itu 65536 nomor yang berbeda dapat diletakkan pada bus ini.
65535 dalam desimal adalah FFFF dalam hex.
Semua register di chip memori memiliki alamat individu mereka sendiri, seperti nomor rumah di jalan.
Dengan menempatkan alamatnya, dalam biner, pada sebuah bus alamat yang kami dapat memilih mendaftar individu.
Address bus biasanya 16 bit, sehingga kita dapat memilih salah satu dari 65536 register.
Diagram adalah bus sedikit empat.
Nol dan yang dapat diletakkan di bus, 0 volt untuk nol dan +5 volt untuk mewakili satu.
Jumlah terkecil yang dapat dimasukkan pada bus sedikit empat adalah 0000.
Yang terbesar adalah 1111 yang 15 dalam desimal dan F dalam hex.
Oleh karena itu enam belas nomor yang berbeda dapat ditempatkan pada bus, 0000 menjadi 1.111 terendah dan tertinggi.
Daripada menarik empat kabel, kita menggunakan representasi yang ditunjukkan dalam diagram B.
Banyak sistem micoprocessor menggunakan delapan bit data bus.
Jumlah terkecil yang dapat ditempatkan pada itu adalah 00000000.
Jumlah terbesar adalah 11111111 yang setara dengan 255 dalam desimal.
256 Oleh karena itu nomor yang berbeda dapat ditempatkan pada bus ini.
255 dalam desimal adalah FF dalam hex.
Sebuah bus enam belas bit ditampilkan pada diagram C.
Jumlah terkecil yang kita dapat memakai bus ini adalah 0000000000000000.
Jumlah terbesar adalah 1111111111111111 yang 65535 dalam desimal.
Oleh karena itu 65536 nomor yang berbeda dapat diletakkan pada bus ini.
65535 dalam desimal adalah FFFF dalam hex.
Semua register di chip memori memiliki alamat individu mereka sendiri, seperti nomor rumah di jalan.
Dengan menempatkan alamatnya, dalam biner, pada sebuah bus alamat yang kami dapat memilih mendaftar individu.
Address bus biasanya 16 bit, sehingga kita dapat memilih salah satu dari 65536 register.


12. Jam Sistem
 
Jam adalah sebuah generator gelombang persegi yang frekuensi dikendalikan oleh kristal.
Dalam sistem kontrol yang khas itu berosilasi pada 1MHz (1 juta kali per detik) dan mengontrol kecepatan sistem beroperasi.
6502 CPU memiliki dua sinyal clock, fase 1 dan fase 2.
Kontrol jam kali di mana operasi seperti menjemput dll, berlangsung.

13. 6502 CPU
 
CPU 6502 memiliki 16 bit bus alamat dan bus data 8 bit.
Hal ini didukung oleh pasokan volt 5.
Interrupt permintaan memberitahu CPU untuk menghentikan program pengolah sekarang dan melompat ke yang lain.
Pin reset diambil rendah untuk menginisialisasi CPU ketika pertama kali dinyalakan.
Pin baca / tulis diambil rendah saat menulis ke memori, dan tinggi ketika membaca dari itu.
The 6502 memiliki delapan mode pengalamatan memberitahu CPU dimana data berada.

14. Random Access Memory (RAM)  

RAM berarti random access memory.
Sebuah nama yang lebih baik akan baca / tulis memori.
Ram adalah ATSIRI, artinya ketika Anda menonaktifkan, data yang berisi hilang.
Ada dua jenis utama ram, statis dan dinamis.
ram statis menggunakan flip-flop untuk bit menyimpan, dan sebagainya mengkonsumsi saat ini apakah mereka menyimpan 1 atau 0.
ram Dinamis menggunakan kapasitor untuk menyimpan biaya dan menggunakan daya yang lebih kecil.
Namun, biaya yang disimpan kebocoran diri dan harus terus disegarkan yang membuat sirkuit lebih rumit.
The 4118 adalah ram statis 8 x1k bit memiliki 8 bit data bus, D0-D7.
Data dapat ditulis ke, atau membaca dari memori, tergantung keadaan pin KAMI.
Mungkin ada beberapa chip memori, sehingga hanya satu yang dipilih pada satu waktu dengan mengambil CS pin rendah.

15. Peta Memori
 
Peta memori menunjukkan bagaimana alamat telah dialokasikan untuk memori dan semua perangkat lain yang terhubung ke bus alamat.
Berikut ram telah diberi 48k terendah alamat dan ROM 16 K tertinggi.
Setiap daerah memori dapat digunakan untuk membagi ke dalam halaman dari 256 alamat.
Page nol menempati alamat 0000-255 dalam desimal atau 0000 untuk 00FF dalam hex.


16. Ambil / Jalankan

Fetch / mengeksekusi siklus adalah proses mengambil instruksi dari memori, decoding dan kemudian dijalankan.
Program counter dalam CPU berisi alamat dari instruksi berikutnya yang akan diambil.
Instruksi diwakili oleh bilangan biner, disebut opcode suatu.
Data (disebut operan), untuk instruksi untuk bekerja pada, adalah di alamat berikut yang di mana instruksi disimpan.
Jika opcode adalah ADD dan disimpan di alamat 10011000, maka data, misalnya. 10, akan disimpan di 10011001.
Tindakan berikut ini diambil selama mengambil / menjalankan siklus untuk mengambil opcode dan operan.
Opcode fetch (membaca memori).
Kenaikan program counter.
Fetch operan (memori baca).
Kenaikan program counter.
Melaksanakan instruksi.


17. Addressing Mode
Ketika menjalankan sebuah program, CPU pengalaman pertama beban sebuah instruksi.
Hal ini kemudian memproses data menggunakan instruksi ini.
Mengatasi mode memberitahu CPU mana untuk mencari data.
The 6502 memiliki beberapa mode pengalamatan.
Sampel adalah diberikan di bawah ini.
SEGERA pengalamatan.
Dalam program, data mengikuti instruksi.
ADD 99
Tambahkan 99 dengan isi akumulator.
ABSOLUT pengalamatan.
Dalam program ini, 16 bit alamat data mengikuti instruksi.
STA 1243
Menyimpan isi akumulator di alamat 1243.
ZERO PAGE pengalamatan.
Dalam program ini, instruksi tersebut diikuti dengan alamat bit 8.
Ini berarti bahwa hanya alamat 0-255 (di halaman nol) dapat digunakan.
CMP 230
Bandingkan isi akumulator dengan isi alamat 0230.
mode pengalamatan lainnya
TERSIRAT
RELATIF
AKI
Indexed
TIDAK LANGSUNG

18. Khas FLOW CHART
 
Sebuah register, COUNT, diatur ke nol.
Isi COUNT ditampilkan.
Ada penundaan dari satu detik.
Isi COUNT yang bertambah 1.
Isi COUNT diperiksa.
Jika isi kurang dari 60 maka mereka akan ditampilkan, maka ada penundaan COUNT 1 detik dan kemudian bertambah 1.
Ini berulang sampai isi adalah 60 COUNT
Ketika isi dari COUNT adalah 60 maka COUNT-reset ke nol dan program akan mulai dari awal lagi.

19. Tumpukan   

Tumpukan adalah toko sementara untuk data.
CPU dapat PUSH data penting ke dalam stack, ketika sedang memproses data lainnya.
Ketika selesai tugas itu, menarik data yang disimpan dari stack.
Its seperti tumpukan piring.
Pelat bawah adalah bit pertama data yang didorong ke stack.
Pelat atas adalah data terakhir yang didorong.
Atas piring ditarik pertama dan pelat bawah adalah data terakhir harus ditarik.
Ini adalah LAST IN, OUT PERTAMA stack.
Dalam diagram, X adalah yang pertama harus didorong, kemudian Y dan terakhir A.
CPU pergi untuk memproses data lain.
Setelah menyelesaikan tugas yang menarik kembali data yang disimpan.
Pertama adalah ditarik, maka Y dan terakhir X.
Instruksi untuk mendorong data PHA.
Data Hanya di akumulator dapat didorong ke stack.
Data lain dapat didorong jika akan dipindahkan ke akumulator pertama.
Instruksi untuk menarik data dari stack PLA.
Data di stack dipindahkan ke akumulator.
The stack 6502 terdiri dari 256 bytes dan menempati 1 halaman, alamat 256-511.

II. μProcessor 8085/8085A
1. 8085A CPU Pin Diagram  Arsitektur 8085A Pin Diagram Instruksi dapat dikategorikan sesuai dengan metode mereka mengatasi register perangkat keras dan / atau memori.

2. Tersirat Addressing

Mode pengalamatan instruksi tertentu tersirat oleh fungsi instruksi itu. Sebagai contoh, STC (set membawa bendera) instruksi hanya menangani bendera bawa, DAA (desimal menyesuaikan akumulator) instruksi berkaitan dengan akumulator.

3. Register Addressing

Cukup satu set besar instruksi pemanggilan untuk register pengalamatan. Dengan petunjuk ini, Anda harus menentukan salah satu register A sampai E, H atau L serta kode operasi. Dengan petunjuk ini, akumulator tersirat sebagai operan kedua. Sebagai contoh, instruksi CMP E dapat ditafsirkan sebagai 'membandingkan isi E register dengan isi akumulator.
Sebagian besar instruksi yang menggunakan pengalamatan register berurusan dengan
8-bit nilai-nilai. Namun, beberapa instruksi tersebut berhubungan dengan pasangan register 16-bit. Misalnya, bursa instruksi PCHL isi program counter dengan isi register H dan L. Cukup satu set besar instruksi pemanggilan untuk register pengalamatan. Dengan petunjuk ini, Anda harus menentukan salah satu register A sampai E, H atau L serta kode operasi. Dengan petunjuk ini, akumulator tersirat sebagai operan kedua. Sebagai contoh, instruksi CMP E dapat ditafsirkan sebagai 'membandingkan isi E register dengan isi akumulator.
Sebagian besar instruksi yang menggunakan pengalamatan register berurusan dengan
8-bit nilai-nilai. Namun, beberapa instruksi tersebut berhubungan dengan pasangan register 16-bit. Misalnya, bursa instruksi PCHL isi program counter dengan isi register H dan L.

4. Segera Mengatasi
Instruksi yang menggunakan pengalamatan data harus segera dirakit sebagai bagian dari instruksi itu sendiri. Sebagai contoh, instruksi 'C' CPI dapat ditafsirkan sebagai 'membandingkan isi akumulator dengan huruf C. Ketika berkumpul, instruksi ini memiliki nilai FE43 heksadesimal. Heksadesimal 43 adalah representasi internal untuk huruf C. Ketika instruksi ini dijalankan, prosesor mengambil instruksi byte pertama dan menentukan bahwa ia harus mengambil satu byte. Prosesor mengambil byte berikutnya ke salah satu register internal dan kemudian melakukan operasi membandingkan.
Perhatikan bahwa nama-nama petunjuk langsung menunjukkan bahwa mereka menggunakan data segera. Jadi, nama sebuah instruksi tambahkan adalah ADD, nama tambahan instruksi segera ADI.
Semua kecuali dua dari instruksi langsung menggunakan akumulator sebagai operan tersirat, seperti pada instruksi CPI yang ditunjukkan sebelumnya. The MVI (bergerak langsung) instruksi dapat memindahkan data langsung ke salah satu register kerja termasuk akumulator atau ke memori. Dengan demikian, instruksi MVI D, OFFH memindahkan heksadesimal
nilai FF ke register D.
Instruksi LXI (load Pasangan register segera) bahkan lebih biasa di bahwa data langsung adalah nilai 16-bit. Instruksi ini biasanya digunakan untuk memuat alamat ke sepasang mendaftar. Seperti disebutkan sebelumnya, program anda harus menginisialisasi stack pointer, LXI adalah instruksi yang paling umum digunakan untuk tujuan ini. Sebagai contoh, instruksi LXI SP, 3OFFH beban stack pointer dengan nilai 30FF heksadesimal.

5. Pendaftaran Langsung Menangani

Langsung instruksi termasuk alamat 16-bit sebagai bagian dari instruksi. Sebagai contoh, instruksi JMP 1000H menyebabkan melompat ke alamat heksadesimal 1000 dengan mengganti isi saat program counter dengan nilai baru 1000H.
 Petunjuk yang mencakup alamat langsung membutuhkan tiga byte penyimpanan: satu untuk kode instruksi, dan dua untuk instruksi 16-bit addressJump termasuk alamat 16-bit sebagai bagian dari instruksi. Sebagai contoh, instruksi JMP 1000H menyebabkan melompat ke alamat heksadesimal 1000 dengan mengganti isi saat program counter dengan nilai baru 1000H.
Petunjuk yang mencakup alamat langsung membutuhkan tiga byte penyimpanan: satu untuk kode instruksi, dan dua untuk alamat 16-bit

6. Register tidak langsung Mengatasi

Daftar langsung instruksi referensi memori melalui Pasangan register. Dengan demikian, instruksi MOV M, C bergerak isi C mendaftarkan ke alamat memori yang tersimpan dalam pasangan H dan L mendaftar. Instruksi LDAX B load akumulator dengan byte data ditentukan oleh alamat dalam B dan C mendaftar pasangan.

7. Gabungan Addressing Mode

Beberapa petunjuk menggunakan kombinasi mode pengalamatan. Sebuah instruksi CALL, misalnya, menggabungkan langsung menangani dan mendaftarkan pengalamatan tidak langsung. Alamat langsung dalam sebuah instruksi CALL menentukan alamat subrutin yang diinginkan, register alamat tidak langsung adalah stack pointer. Instruksi CALL mendorong isi saat program counter ke dalam lokasi memori yang ditentukan oleh stack pointer.

8. Pengaruh Waktu Addressing Mode

Mengatasi mode mempengaruhi jumlah waktu yang diperlukan untuk mengeksekusi instruksi dan jumlah memori yang diperlukan untuk penyimpanannya. Sebagai contoh, instruksi yang menggunakan tersirat atau mendaftar menangani, jalankan dengan sangat cepat karena mereka berhubungan langsung dengan hardware prosesor atau dengan data yang sudah ada dalam register perangkat keras. Paling penting, namun adalah bahwa seluruh instruksi dapat diambil dengan akses memori tunggal. Jumlah akses memori yang diperlukan adalah faktor terbesar tunggal dalam menentukan waktu eksekusi. mengakses memori lebih sehingga membutuhkan waktu pelaksanaan yang lebih. Sebuah instruksi CALL misalnya, memerlukan lima mengakses memori: tiga untuk mengakses seluruh instruksi dan dua lagi untuk mendorong isi program counter ke dalam stack.
Prosesor dapat mengakses memori sekali selama setiap siklus prosesor. Setiap siklus terdiri dari sejumlah variabel negara. (Lihat di bawah ini dan lampiran "MENGGUNAKAN SDK-85 microprocessor PELATIH"). Panjang dari sebuah negara tergantung pada frekuensi clock yang ditentukan untuk sistem anda, dan bisa berkisar dari 480 nanodetik sampai 2 mikrodetik. Dengan demikian, waktu untuk sebuah instruksi empat negara bisa berkisar dari 1,920 mikrodetik sampai 8 mikrodetik. (The 8085 memiliki frekuensi clock maksimum 5 MHz dan karena itu negara panjang minimal 200 nanodetik.)


9. Instruksi Konvensi Penamaan
Instruksi Konvensi Penamaan:
The mnemonik ditugaskan petunjuk dirancang untuk menunjukkan fungsi instruksi. Instruksi jatuh ke dalam kategori fungsional sebagai berikut:
Transfer Data Group:
instruksi transfer data tersebut memindahkan data antar register atau antara memori dan register.
MOV Pindah
Segera Pindahkan MVI
LDA Load Accumulator langsung dari memori
STA Store aki langsung di memori
Load LHLD H & L Register Langsung dari Memori
SHLD Toko H & L Register Tepat di memori
 
Sebuah 'X' dalam nama instruksi transfer data menunjukkan bahwa itu berhubungan dengan sepasang register (16-bit);
Load LXI Daftar Pasangan dengan data Segera
LDAX Load Accumulator dari Address Register Pair
Simpan Stax aki di Alamat di Pair Pendaftaran
XCHG Exchange H & L dengan D & E
XTHL Bursa Puncak Stack dengan H & L
Arithmetic Group:
Instruksi aritmetika menambah, mengurangi, kenaikan, atau data penurunan dalam register atau memori.
ADD Tambahkan ke aki
ADI Tambahkan Data Segera ke aki
ADC Tambahkan ke aki Menggunakan Carry Flag
ACI Tambahkan Segera data ke aki Menggunakan Carry
SUB Kurangi dari aki
Segera Kurangi SUI Data dari aki
SBB Kurangi dari aki Menggunakan Pinjam (Carry) Flag
Segera Kurangi SBI dari aki Menggunakan Pinjam (Carry) Flag
Kenaikan INR Ditentukan Byte oleh Satu
DCR penurunan Ditentukan Byte oleh Satu
Penilaian Inx Daftar Pasangan oleh Satu
Penurunan DCX Daftar Pasangan oleh Satu
AYAH Double Pendaftaran Tambahkan; Tambah Daftar Isi  Pair untuk Pair Pendaftaran H & L
 Logical Group:
Kelompok ini melakukan logika (Boolean) operasi pada data dalam register dan memori dan kondisi bendera.
The DAN logis, OR, dan Eksklusif ATAU instruksi memungkinkan Anda untuk mengatur bit tertentu dalam akumulator ON atau OFF.
 ANA Logical DAN dengan aki
ANI Logical DAN dengan aki Menggunakan Segera Data
ORA Logical OR dengan aki
ATAU Logical ATAU dengan aki Menggunakan Segera Data
XRA Eksklusif Logical OR dengan aki
XRI Eksklusif ATAU Menggunakan Data Segera
 Bandingkan instruksi membandingkan isi nilai 8-bit dengan isi akumulator;
CMP Bandingkan
CPI Bandingkan Menggunakan Data Segera
 Memutar instruksi menggeser isi akumulator satu posisi sedikit ke kiri atau kanan:
RLC Rotate Accumulator Waktu
RRC Putar Kanan aki
RAL Putar Waktu Melalui Carry
RAR Putar Kanan Melalui Carry
Melengkapi dan membawa bendera instruksi:
CMA Pelengkap Akumulator
CMC Pelengkap Carry Flag
STC Set Carry Flag
 
Cabang Group:
Instruksi bercabang mengubah aliran program normal sekuensial, baik tanpa syarat atau kondisional. Instruksi percabangan tanpa syarat adalah sebagai berikut:
Langsung JMP
CALL Call
RET Kembali
instruksi percabangan Bersyarat memeriksa status salah satu dari empat bendera kondisi untuk menentukan apakah cabang tertentu yang akan dieksekusi. Kondisi yang dapat ditetapkan adalah sebagai berikut:
NZ Tidak Zero (Z = 0)
Z Zero (Z = 1)
NC No Carry (C = 0)
C Carry (C = 1)
PO Parity Odd (P = 0)
PE Paritas Bahkan (P = 1)
P Plus (S = 0)
M Minus (S = 1)
Dengan demikian, instruksi percabangan bersyarat ditetapkan sebagai berikut:
Panggilan melompat Returns
C CC RC (Carry)
CNC INC RNC (No Carry)
JZ CZ RZ (Zero)
JNZ CNZ RNZ (Tidak Zero)
JP CP RP (Plus)
JM CM RM (Minus)
JPE CPE RPE (paritas Bahkan)
JP0 CPO RPO (Parity Ganjil)
 Dua instruksi lain dapat mempengaruhi cabang dengan mengganti isi atau program counter:
PCHL Pindah H & L dengan Program Counter
RST Khusus Restart Instruksi Digunakan dengan interupsi

10. Stack I / O Control Instruksi Mesin dan
Stack I / O, dan Petunjuk Mesin Kontrol:
Petunjuk berikut mempengaruhi Stack dan / atau Stack Pointer:
 PUSH Push Dua byte data ke Stack
POP Pop Dua Bytes Data dari Stack
XTHL Bursa Puncak Stack dengan H & L
SPHL Pindahkan isi dari H & L untuk Stack Pointer
 
I / 0 instruksi adalah sebagai berikut:
 DI Memulai Operasi Input
OUT Memulai Operasi Output
 Machine Control instruksi adalah sebagai berikut:
EI Sistem Aktifkan Interrupt
Sistem DI Nonaktifkan Interrupt
Menghentikan HLT
PDN Operasi No

11. Mnemonik, opcode Instruction Set Tabel 8085 dengan Uraian
-------------------------------------------------- --------------
| Mnemonic | Op | SZAPC | ~ s | Deskripsi | Catatan |
|---------+--+-----+--+--------------------------+ -------------|
| ACI n | CE |*****| 7 | Tambah dengan Carry Segera | A = A + n + CY |
| ADC r | 8F |*****| 4 | Tambah dengan Carry | A = A + r + CY (21X) |
| ADC M | 8e |*****| 7 | Tambah dengan Carry ke Memori | A = A + [HL] + CY |
| ADD r | 87 |*****| 4 | Tambahkan | A = A r + (20X) |
M ADD | | 86 |*****| 7 | Tambahkan ke Memory | A = A + [HL] |
| ADI n | C6 |*****| 7 | Tambahkan Segera | A = A n + |
| ANA r | A7 |**** 0 | 4 | DAN aki | A = A & r (24X) |
| ANA M | A6 |**** 0 | 7 | DAN aki dan Memory | A A = & [HL] |
| ANI n | E6 | ** 0 * 0 | 7 | DAN Segera | A = A n & |
| CALL sebuah | CD |-----| 18 | Call bersyarat | - [SP] = PC, PC = a |
| CC a | DC |-----| 9 | Call pada Carry | Jika CY = 1 (18 ~ s) |
| CM sebuah | FC |-----| 9 | Call di Minus | Jika S = 1 (18 ~ s) |
| CMA | 2F |-----| 4 | Pelengkap aki | A = ~ A |
| CMC | 3F |----*| 4 | Pelengkap Carry | CY = ~ CY |
| CMP r | BF |*****| 4 | Bandingkan | Ar (27X) |
| CMP M | BF |*****| 7 | Bandingkan dengan Memory | [HL] A-|
| CNC sebuah | D4 |-----| 9 | Call di No Carry | Jika CY = 0 (18 ~ s) |
| CNZ sebuah | C4 |-----| 9 | Call di No Zero | Jika Z = 0 (18 ~ s) |
| Sebuah CP | Call pada Plus | | F4 |-----| 9 Jika S = 0 (18 ~ s) |
| CPE sebuah | EC |-----| 9 | Call pada Paritas Bahkan | Jika P = 1 (s 18 ~) |
| IHK n | FE |*****| 7 | Bandingkan Segera | An |
| CPO suatu | E4 |-----| 9 | Call pada Paritas Ganjil | Jika P = 0 (18 ~ s) |
| CZ sebuah | CC |-----| 9 | Call di Zero | Jika Z = 1 (18 ~ s) |
| DAA | 27 |*****| 4 | Desimal Adjust Accumulator | A = Format BCD |
| AYAH B | 09 |----*| 10 | Double Tambahkan ke HL SM | HL = HL + SM |
| AYAH D | 19 |----*| 10 | Double Tambahkan ke HL DE | HL = HL + DE |
| AYAH H | 29 |----*| 10 | Double Tambahkan ke HL HL | HL = HL + HL |
| AYAH SP | 39 |----*| 10 | Double Tambahkan ke HL SP | HL = HL + SP |
| DCR r | 3D |****-| 4 | Pengurangan | r = r-1 (0X5) |
| DCR M | 35 |****-| 10 | Pengurangan Memory | [HL] = [HL] -1 |
| DCX B | 0B |-----| 6 | Pengurangan SM | SM =-SM 1 |
| DCX D | 1B |-----| 6 | Pengurangan DE | DE = DE-1 |
| DCX H | 2B |-----| 6 | Pengurangan HL | HL = HL-1 |
| DCX SP | 3B |-----| 6 | Pengurangan Stack Pointer | SP = SP-1 |
| DI | F3 |-----| 4 | Nonaktifkan interupsi | |
| EI | FB |-----| 4 | Aktifkan interupsi | |
| HLT | 76 |-----| 5 | Menghentikan | |
| DALAM p | DB |-----| 10 | Input | A = [p] |
| INR r | 3C |****-| 4 | Penilaian | r = r +1 (0X4) |
| INR M | Memory Penilaian | | 3C |****-| 10 [HL] = [HL] +1 |
| Inx B | 03 |-----| 6 | Penilaian SM | SM = 1 SM |
| Inx D | DE Penilaian | | 13 |-----| 6 DE = DE +1 |
| Inx H | 23 |-----| 6 | Penilaian HL | HL = HL +1 |
| Inx SP | 33 |-----| 6 | Penilaian Stack Pointer | SP = SP +1 |
| JMP sebuah | C3 |-----| 7 | Langsung tanpa syarat | PC = a |
| JC sebuah | DA |-----| 7 | Langsung pada Carry | Jika CY = 1 (10 ~ s) |
| JM sebuah | FA |-----| 7 | Langsung pada Minus | Jika S = 1 (10 ~ s) |
| JNC sebuah | D2 |-----| 7 | Langsung pada No Carry | Jika CY = 0 (s 10 ~) |
| JNZ sebuah | C2 |-----| 7 | Langsung pada No Zero | Jika Z = 0 (10 ~ s) |
| JP seorang | Langsung pada Plus | | F2 |-----| 7 Jika S = 0 (s 10 ~) |
| JPE sebuah | EA |-----| 7 | Langsung pada Paritas Bahkan | Jika P = 1 (10 ~ s) |
| JPO sebuah | E2 |-----| 7 | Langsung pada Paritas Ganjil | Jika P = 0 (10 ~ s) |
| JZ sebuah | CA |-----| 7 | Langsung pada Zero | Jika Z = 1 (10 ~ s) |
| LDA sebuah | 3A |-----| 13 | Muat aki langsung | A = [a] |
| LDAX B | 0A |-----| 7 | Muat langsung aki | A = [SM] |
| LDAX D | 1A |-----| 7 | Muat aki tidak langsung | A = [DE] |
| LHLD sebuah | 2A |-----| 16 | Muat HL langsung | HL = [a] |
| LXI B, nn | 01 |-----| 10 | Muat Segera SM | SM = nn |
| LXI D, nn | 11 |-----| 10 | Muat Segera DE | DE = nn |
| LXI H, nn | HL Segera Load | | 21 |-----| 10 HL = nn |
| LXI SP, nn | PTR Segera Stack Load | | 31 |-----| 10 SP = nn |
| MOV r1, r2 | 7F |-----| 4 | Pindah mendaftar untuk mendaftar | r1 = r2 (1xx) |
| MOV M, r | 77 |-----| 7 | Pindah mendaftar untuk Memory | [HL] = r (16X) |
| R MOV, M | 7E |-----| 7 | Pindah memori untuk mendaftar | r = [HL] (1X6) |
| MVI r, n | 3E |-----| 7 | Pindah Segera | r = n (0X6) |
| MVI M, n | 36 |-----| 10 | Segera Pindah ke Memori | [HL] = n |
| PDN | 00 |-----| 4 | Operasi No | |
| ORA r | B7 | ** 0 * 0 | 4 | Inklusif ATAU aki | A = Avr (26X) |
| ORA M | B6 | ** 0 * 0 | 7 | Inklusif ATAU aki | A Av = [HL] |
| ORI n | F6 | ** 0 * 0 | 7 | Inklusif ATAU Segera | A AVN = |
| OUT p | D3 |-----| 10 | Output | [p] = A |
| PCHL | E9 |-----| 6 | Langsung HL tidak langsung | PC = [HL] |
| POP B | C1 |-----| 10 | Pop SM | SM = [SP] + |
| POP D | D1 |-----| 10 | Pop DE | DE = [SP] + |
| POP H | HL Pop | | E1 |-----| 10 HL = [SP] + |
| POP PSW | Prosesor Status Pop Firman | | F1 |-----| 10 {PSW, A} = [SP] + |
-------------------------------------------------- --------------

-------------------------------------------------- --------------
| Mnemonic | Op | SZAPC | ~ s | Deskripsi | Catatan |
|---------+--+-----+--+--------------------------+ -------------|
| PUSH B | C5 |-----| 12 | Push SM | - [SP] = SM |
| PUSH D | D5 |-----| 12 | Push DE | - [SP] = DE |
| PUSH H | E5 |-----| 12 | Push HL | - [SP] = HL |
| PUSH PSW | F5 |-----| 12 | Push Word Processor Status | - [SP] = {PSW, A} |
| RAL | 17 |----*| 4 | Putar aki Waktu | A {CY, A} = <- |
| RAR | 1F |----*| 4 | Putar Baik-baik saja aki | A =-> {CY, A} |
| RET | C9 |-----| 10 | Kembali | PC = [SP] + |
| RC | D8 |-----| 6 | Kembali di Carry | Jika CY = 1 (12 ~ s) |
| RIM | 20 |-----| 4 | Baca Interrupt Mask | A = topeng |
| RM | F8 |-----| 6 | Kembali di Minus | Jika S = 1 (12 ~ s) |
| RNC | D0 |-----| 6 | Kembali pada No Carry | Jika CY = 0 (s 12 ~) |
| RNZ | C0 |-----| 6 | Kembali pada No Zero | Jika Z = 0 (12 ~ s) |
| RP | F0 |-----| 6 | Kembali di Plus | Jika S = 0 (12 ~ s) |
| RPE | E8 |-----| 6 | Kembali di Paritas Bahkan | Jika P = 1 (12 ~ s) |
| RPO | E0 |-----| 6 | Kembali di Paritas Ganjil | Jika P = 0 (12 ~ s) |
| RZ | C8 |-----| 6 | Kembali di Zero | Jika Z = 1 (12 ~ s) |
| RLC | 07 |----*| 4 | Putar Waktu Edaran | A = A <- |
| RRC | 0F |----*| 4 | Putar Kanan Edaran | A =-> A |
| RST z | C7 |-----| 12 | Restart (3X7) | - [SP] = PC, PC = z |
| SBB r | 9f |*****| 4 | Kurangi dengan Pinjam | A = Ar-CY |
| SBB M | 9E |*****| 7 | Kurangi dengan Pinjam | A = A-[HL]-CY |
| SBI n | DE |*****| 7 | Kurangi dengan Pinjam Immed | A = An-CY |
| SHLD sebuah | 22 |-----| 16 | Kedai HL langsung | [a] = HL |
| SIM | 30 |-----| 4 | Set Interrupt Mask | mask = A |
| SPHL | F9 |-----| 6 | Pindah HL ke SP | SP = HL |
| STA a | aki Kedai | | 32 |-----| 13 [a] = A |
| Stax B | 02 |-----| 7 | Kedai aki tidak langsung | [SM] = A |
| Stax D | 12 |-----| 7 | Kedai aki tidak langsung | [DE] = A |
| STC | 37 |---- 1 | 4 | Set Carry | CY = 1 |
| SUB r | 97 |*****| 4 | Kurangi | A = Ar (22X) |
| SUB M | 96 |*****| 7 | Kurangi Memory | A = A-[HL] |
| SUI n | D6 |*****| 7 | Kurangi Segera | A = An |
| XCHG | EB |-----| 4 | Exchange HL dengan DE | HL <-> DE |
| XRA r | AF | ** 0 * 0 | 4 | Eksklusif ATAU aki | A = Axr (25 kali) |
| XRA M | AE | ** 0 * 0 | 7 | Eksklusif ATAU aki | A Ax = [HL] |
| XRI n | EE | ** 0 * 0 | 7 | Eksklusif ATAU Segera | A AXN = |
| XTHL | E3 |-----| 16 | Bursa stack Top dengan HL | [SP] <-> HL |
|------------+-----+--+--------------------------- -------------|
| PSW | -* 01 | | Bendera terpengaruh / dipengaruhi / reset / set |
| S | S | | Daftar (Bit 7) |
| Z | Z | | Nol (Bit 6) |
| AC | A | | bantu Carry (Bit 4) |
| P | P | | Paritas (Bit 2) |
| CY | C | | Carry (Bit 0) |
|---------------------+--------------------------- -------------|
| Ap | langsung pengalamatan |
| M z | Daftar langsung pengalamatan |
| N nn | Segera pengalamatan |
| R | Daftar pengalamatan |
|---------------------+--------------------------- -------------|
| DB n (, n) | Define Byte (s) |
'String' DB | | Define Byte string karakter ASCII |
| DS nn | Tentukan Blok Penyimpanan |
| DW nn (, nn) | Define Word (s) |
|---------------------+--------------------------- -------------|
| ABCDEHL | Register (8-bit) |
| SM DE HL | Daftar pasang (16-bit) |
| PC | Program Counter mendaftar (16-bit) |
| PSW | Processor Status Word (8-bit) |
| SP | Stack Pointer Register (16-bit) |
|---------------------+--------------------------- -------------|
| A nn | alamat 16-bit / data (0-65535) |
| Np | 8-bit data / port (0 sampai 255) |
| R | Register (X = B, C, D, E, H, L, M, A) |
| Z | Vector (X = 0h, 8H, 10H, 18h, 20h, 28H, 30h, 38H) |
|---------------------+--------------------------- -------------|
| + - | Arithmetic penambahan / pengurangan |
| & ~ | Logical DAN / TIDAK |
| Inklusif Logical / eksklusif ATAU | vx |
| <- -> | Putar ke kiri / kanan |
| <-> | Exchange |
| [] | Langsung pengalamatan |
| [] + - [] | Langsung alamat auto-inc/decrement |
| {} | Kombinasi operan |
| (X) | kode op Oktal dimana X adalah sebuah kode 3-bit | | Jika (~ s) | Jumlah siklus jika kondisi benar |
-------------------------------------------------- -------------

Tidak ada komentar:

Posting Komentar