45433520 isi buku mikro teori

Upload: poor-firaun-kelinci

Post on 17-Jul-2015

1.971 views

Category:

Documents


8 download

TRANSCRIPT

MIKROPROSESOR 8085

SEMESTER 3

BAB 1

PENDAHULUAN

1.1 SEKILAS TENTANG MIKROPROSESOR 8085Pada dasarnya sistem berbasis mikroprosesor terdiri atas kumpulan lokasi penyimpanan digital yang sangat tersruktur dan sangat besar disertai sebuah komponen pengendali pusat. Lokasi penyimpanan digital disebut memori, sedangkan pusat pengendali adalah mikroprosesor itu sendiri. Pada siklus pelaksanaan computer, isi beberapa lokasi memori ini dipindahkan atau dimanipulasi. Untuk sistem yang dipelajari disini, lokasi memorinya berukuran 8 bit. Setiap memori dikenali melalui sebuah alamat. CPU atau mikroprosesor yang bertindak sebagai pusat pengendali, juga memiliki lokasi penyimpanan tersendiri, panjangnya 8-bit. Isi lokasi ini juga dapat dipindahkan atau dimanipulasi selama siklus mesin. Lokasi penyimpanan di dalam prosesor disebut register. Register merupakan lokasi penyimpanan data sementara. Register di dalam mikroprosesor sangat penting dalam operasinya.Karena register berada dalam mikroprosesor , maka ia dapat dimanipulasi dengan cepat tanpa memperhatikan chip lainnya. Meskipun detail arsitektur register internal mikroprosesor berbeda antara yang satu dengan lainnya,tetapi beberapa jenis register bersifat umum. Misalnya PC (Program Counter) yang berisi alamat perintah berikutnya yang harus diambil. Ukurannya menentukan banyaknya memori yang dapat menyimpan perintah atau program. Untuk berbagai mikraprosesor yang umum, sebagai contoh, 8080, 8085, Z80, 1802, 6502 atau 6800, memiliki PC berukuran 16-bit yang memberikan jumlah lokasi maksimum sebesar 65.536. Untuk lebih jelas tentang register akan dibahas pada uraian berikutnya.

Teknik Telekomunikasi Nir Kabel

1

MIKROPROSESOR 8085

SEMESTER 3

Intel 8085 dikembangkan dari mikroprosesor 8080 yang juga dikembangkan oleh Intel. Banyak kesamaan yang dimiliki oleh prosesor 8 bit dengan prosesor 8 bit lainnya , seperti Zilog Z80. Zilog Z80 dapat dioperasikan dengan baik menggunakan instruksi yang ada pada 8080. Blok diagram arsitektur dari 8085 diperlihatkan oleh gambar di bawah ini.

Gambar1. Blok Diagram bagian dalam 8085 ALU dalam 8085 menerima masukan dari dua register, yaitu dari akumulator (Register A) and register sementara (TMP). Akumulator selain bertindak sebagai sumber untuk ALU juga bertindak sebagai tujuan keluaran dari berbagai hasil operasi ALU. Register TMP diisi dengan data dari lokasi lainnya selama operasi berlangsung. Perintah khusus ini menentukan berapa besar byte sumber data tersebut. Oleh sebab itu pemrogram tidak dapat mengakses secara

Teknik Telekomunikasi Nir Kabel

2

MIKROPROSESOR 8085

SEMESTER 3

langsung register TMP ini, sehingga register ini disebut juga sebagai register tak tampak. ALU melaksanakan penjumlahan, pengurangan dan berbagai operasi logika khusus pada pasangan byte masukan dalam register A dan register TMP. ALU juga membangkitkan flag bit yang disimpan dalam register bendera. Perubahan bit bendera lainnya yang dihasilkan oleh ALU adalah bendera nol (zero), bendera tanda (sign), bendera sisa tambahan (auxiliary carry), dan bendera paritas (parity). Bendera nol akan di-set jika hasil operasi yang dilakukan oleh ALU adalah nol. Bendera ini bermanfaat bila kita melakukan pengujian apakah nilai kedua byte sama. Dengan cara mengurangkan kedua nilai tersebut, kemudian memeriksa apakah bendera nol di-set. Bendera sisa tambahan akan di set apabila hasil penjumlahan pada bit 3 memberikan sisa (carry). Bendera ini akan sangat berguna saat kita melakukan opersai aritmatika biner terkode decimal (BCD). Bendera paritas akan di-set apabila suatu hasil operasi logika satu yang jumlahnya genap dan me-reset bendera paritas apabila hasilnya berisi logika satu yang jumlahnya ganjil. ALU juga dapat melakukan operasi logika pada kedua byte masukannya. Operasi logika ini antara lain adalah operasi AND, OR, NOT dan XOR. Register flag juga dipengaruhi oleh operasi logika ini, dan setiap hasilnya akan disimpan di akumulator. Mikroprosesor INTEL 8085 merupakan prosesor 8-bit yang diproduksi oleh perusahaan INTEL yang berada di California USA. Prosesor 8085 ini merupakan prosesor sederhana (simple prosesor) yang memiliki kurang dari 80 instruksi. Intel 8085 berkembang dari mikroprosesor 8080 yang populer. Prosesor 8bit ini memiliki banyak kesamaan dengan mikroprosesor 8-bit lainnya, seperti Zilog Z80. Z80 dapat beroperasi dengan baik menggunakan perintah 8080. Lebih lanjut lagi, berbagai mikroprosesor lainnya berbagi kesamaan dengan seri 8080 dan 8085. Kesamaan itu tetap ada pada komponen yang lebih maju seperti 80186, 80286, bahkan 80386. Memori secara fungsional berisi 2 jenis informasi : program dan data.

Teknik Telekomunikasi Nir Kabel

3

MIKROPROSESOR 8085

SEMESTER 3

Program merupakan serangkaian informasi yang telah disandikan dalam bentuk biner, sehingga bias tinggal dalam memori elektronik. Program menetapkan urutan langkah yang harus dilakukan oleh computer. Di bawah pengawasan unit pengendali, masing masing instruksi berurutan pada sebuah program diambil dan disimpan dalam sebuah register khusus unit pengendali, dimana instruksi instruksi tersebut akan dikode dan dilaksanakan. Misal, instruksi khas dapat berupa penjumlahan isi dua buah register dan menyimpan hasilnya pada register ketiga. Data yang terdapat dalam memori diproses oleh ALU ( Arithmetic and Logical Unit ), unit aritmatik dan logika. Data bias mempunyai berbagai format. Biasanya, data berupa angka atau huruf yang dipresentasikan dalam sistem biner. Istilah memori biasanya menunjukkan berbagai macam jenis memori. Dan dua jenis yang hamper selalu dipakai : memori utama ( main memory ) dan memori masal ( mass memory ). Memori utama digunakan untuk menyimpan program yang sedang dilaksanakan dan data yang diperlukan atau dihasilkan sewaktu pelaksanaannya. Memori misal dipakai untuk menyimpan program dan data atau sebagian daripadanya yang tidak segera dibutuhkan oleh CPU ataupun yang tidak dapat ditampung oleh memori utama. Mengakses memori masal memperlambat kerja computer, terutama bila akses sedanmg diperlukan. Idealnya sebuah program disimpan dalam memori masal secara permanent dan dimuat dalam main memory untuk pelaksanaan. Peralatan memori masal yang khas dan pita magnetic. Dua tipe logika memori ( berdasarkan kemungkinan akses ) : Dihubungi secara acak ( Random Access Memory / RAM ) bisa dibaca atau ditulis. Memori hanya untuk dibaca ( Read Only Memory / ROM ) begitu data telah dimasukkan. RAM tidak mudah terhapus ( non volatail ), tidak bias dipakai untuk menyimpan sementara. Sekali tulis, isinya tetap. Isi RAM mudah terhapus (volatail) dan akan kehilangan isinya jika catu daya terputus. Akibatnya, piringan ( disk ), kaset

Teknik Telekomunikasi Nir Kabel

4

MIKROPROSESOR 8085

SEMESTER 3

diperlukan penyimpanan permanent pada sistem seperti ROM atau memori masal magnetis, atau keduanya.

REGISTER PADA MIKROPROSESOR 8085Pada prosesor INTEL 8085 terdapat 8 register 8-bit yang dapat diakses oleh pemrogram ,yaitu: Register A sebagai Accumulator Register 8 bit Register B Register C Register D Register E Register F sebagai Flag Register Register H Register L Perlu diingat, terdapat satu register 8-bit yang diperuntukkan bagi internal sistem(tidak diakses oleh user), yaitu register 1 (disebut sebagai Instruction Register). Pada saat prosesor mengambil kode instruksi dari unit memori , pertama-tama menempatkan kode instruksi tersebut pada register 1 tersebut sebelum melaksanakan tahap instruction decoding. Dari ke 8 register tersebut, ada 6 register yang dapat membentuk 3 pasangan register (register pair) yang memiliki kapasitas penyimpanan data 16 bit, ketiga pasangan register tersebut adalah: Pasangan register BC Pasangan register DE Pasangan register HL yang berfungsi sebagai accumulator 16-bit.

Teknik Telekomunikasi Nir Kabel

5

MIKROPROSESOR 8085

SEMESTER 3

Ketiga pasangan register ini sangat penting untuk menunjuk pada alamat tempat data dalam unit memori yang akan diakses oleh prosesor (berfungsi sebagai register pointer). Pasangan register BC Pasangan register DE Pasangan register HL

Reg B Reg D Reg H

Reg C Reg E Reg L

Selain pasangan register !6-bit diatas, prosesor INTEL 8085 juga memiliki register 16 bit yang lain, yaitu: Register Program Counter (Register PC ) Register Stack Pointer (Register SP ) REGISTER FLAG Register Flag (Register F) merupakan register status pada prosesor 8085. Register ini memiliki 8-bit tetapi INTEL hanya memanfaatkan 5-bit sebagai bitbit status prosesor. Posisi dari kelima bit tersebut adalah : B7 S Keterangan : Bit S (Sign-bit) yang berada pada bit ke-7 merupakan bit tanda, bit S ini akan berada pada posisi Set (S=1) jika hasil operasi aritmatika atau logika yang prosesnya dilakukan pada ALU menghasilkan nilai negative. Sebaliknya, bit S akan berada pada posisi Reset atau Clear (S= 0) jika hasil operasi B6 Z B5 B4 Ac B3 B2 P B1 B0 Cy

Teknik Telekomunikasi Nir Kabel

6

MIKROPROSESOR 8085

SEMESTER 3

aritmatika atau logika yang prosesnya dilakukan pada ALU menghasilkan nilai bukan negatif . Bit Z (Zero-bit) ini berada pada bit ke-6 pada Flag register, bit ini memperlihatkan apakah hasil suatu operasi aritmatika ataupun logika yang tersimpan dalam akumulator nilainya nol. Bit ini akan Set (Z=1) jika hasil operasi aritmatika maupun logika yang dilakukan dalam ALU adalah nol. Sebaliknya, Bit ini akan Reset (Z=0) jika operasi aritmatika atau logika yang dilakukan pada ALU nilainya tidak nol. Bit Ac (Auxiliary carry-bit) berada pada bit ke-6, merupakan bit yang menunjukkan ada atau tidaknya carry dari posisi B3 ke posisi B4 pada operasi penjumlahan yang dilakukan di ALU. Pada prosesor Z-80 auxiliary carry Flag ini disebut sebagai half carry (HC). Ac akan set (AC=1) jika pada suatu proses penjumlahan terdapat carry dari posisi bit B3 ke B4. Sebaliknya Ac akan reset (Ac=0) jika pada suatu proses penjumlahan tidak terjadi carry dari posisi bit B3 ke B4. Jadi , bit Ac ini akan sangat penting pada saat prosesor mengolah data BCD. Bit P (Parity-bit) berada pada bit ke-2, merupakan bit flag yang menunjukkan ganjil atau genapnya jumlah logik 1 pada hasil operasi logika atau aritmatika yang dilakukan pada ALU. P akan set (P=1) jika jumlah logik satu yang terdapat pada hasil operasi adalah genap (contoh : 1001 0011, 0000 0101, 1111 0110, dll). Dan sebaliknya P akan reset (P=0) jika jumlah logik 1 yang terdapat pada hasil operasi adalah ganjil (contoh : 1110 1100, 0010 0000, 1111 0001, dll). Bit Cy (Carry-bit ) yang berada pada posisi bit 0 merupakan bit flag yang menunjukkan ada atau tidaknya carry atau borrow pada posisi B7 (bit MSB) dalam suatu operasi aritmatika . Cy berfungsi sebagai bit carry pada opersi penjumlahan dan sebagai bit borrow pada operasi pengurangan. Cy akan set (Cy=1) jika pada posisi bit terbesar (MSB) dihasilkan carry ata u borrow. Sebaliknya Cy akan reset (Cy=0) jika pada posisi bit terbesar (MSB) tidak dihasilkan carry ataupun borrow.

Teknik Telekomunikasi Nir Kabel

7

MIKROPROSESOR 8085

SEMESTER 3

INSTRUCTION SETUntuk dapat menggunakan suatu mikroprosesor, maka kita harus mengetahui set instruksi dari mikroprosesor yang bersangkutan. Set instruksi dari suatu mikroprosesor berisikan daftar seluruh instruksi-instruksi yang dapat dilakukan oleh mikroprosesor tersebut.. Pada mikroprosesor 8085 terdapat lebih dari 70 instruksi yang terbagi menjadi beberapa kelompok instruksi, yaitu : 1.kelompok instruksi transfer data 2.kelompok instruksi aritmatika 3.kelompok instruksi logika 4.kelompok instruksi shift dan rotate 5.kelompok instruksi pencabangan (branch) 6.kelompok instruksi input / output dan kontrol

1.3.1 Instruksi Transfer Data Pada bab ini akan sedikit dibahas mengenai instruksi-instruksi kelompok transfer data, seperti MOVE, MOVE IMMEDIATE (MVI), LOAD, STORE, dan EXCHANGE. Di antara semua kelompok instruksi pada mikroprosesor 8085, kelompok instruksi transfer data menunjukkan bagaimana cara memindahkan data 8 bit dari suatu register ke register lain. Kelompok instruksi transfer data terdiri dari : MOV, MVI, STA, LDA, STAX, LDAX, SPHL, XCHG, XTHL, SHLD, dan LXI. Instruksi-instruksi tersebut tidak mengubah isi register flag.

Fungsi Instruksi MOV dan MVI Kelompok terbesar dari instruksi transfer data adalah kelompok instruksi MOVE. Kelompok instruksi MOVE terdiri dari semua instruksi pemindahan data 8 bit (1 byte) dari suatu register ke register lain atau dari suatu memori ke register. Register tujuan selalu dituliskan sebelum tanda koma dan register sumber dituliskan setelah tanda koma.

Teknik Telekomunikasi Nir Kabel

8

MIKROPROSESOR 8085

SEMESTER 3

Misalnya, instruksi MOV r1, r2 adalah instruksi untuk mentransfer data dari r2 (register sumber) ke r1 (register tujuan). Pengertian kata mentransfer di sini adalah menggandakan atau mengkopi, karena pada akhir pelaksanaan instruksi, isi register tujuan jadi sama dengan isi register sumber. Contoh : Pada instruksi MOV A, B, jika pada sebelum instruksi tersebut dilakukan isi register A ad;ah 3C dan isi register B adalah 7F. Register A Data Flowchart 3C B 7F

START

A

B

STOP

Program Kode Alamat Operasi 6000 6001 78 CF Mnemonik MOV A, B RST 1

Maka setelah instruksi MOV A, B dilaksanakan, isi register A = isi register B = 7F. Instruksi MOV r, M berfungsi untuk mentransfer data dari lokasi memori yang alamatnya berada pada pasangan register HL ke suatu register 8 bit. Untuk memindahkan data dari suatu lokasi memori ke suatu register 8 bit dapat digunakan instruksi MOV r, M. Alamat memori M ditunjukkan oleh isi pasangan register HL.

Teknik Telekomunikasi Nir Kabel

9

MIKROPROSESOR 8085

SEMESTER 3

Contoh : Untuk mentransfer data 8 bit dari lokasi memori pada alamat 8000 ke register B, pertama, isilah register HL dengan 8000 (misalnya dengan instruksi LXI H, 8000), kemudian susulkan instruksi MOV B, M. Register HL Memori Data Flowchart 8000 4C

START

HL 8000 B M

STOP

Program Alamat Kode Operasi 7000 7003 7004 21 00 80 46 CF Mnemonik LXI H, 8000 MOV B, M RST 1

Setelah instruksi MOV B, M tersebut dilaksanakan, maka isi register B akan sama dengan isi (data 8 bit) yang berada pada alamat memori 8000 = 4C. Instruksi MOV M, r merupakan kebalikan dari instruksi MOV r, M. Instruksi MOV M, r ini akan memindahkan data 8 bit yang berada pada suatu register ke suatu lokasi memori yang alamatnya ditunjukkan oleh pasangan register HL.

Teknik Telekomunikasi Nir Kabel

10

MIKROPROSESOR 8085

SEMESTER 3

Contoh : Untuk mentransfer data 8 bit dari register D ke lokasi memori dengan alamat A000, pertama isilah register HL dengan A000 (misalnya dengan instruksi LXI H, A000), kemudian berikan instruksi MOV M, D. Register D Data Memori Flowchart : START 7F A000

LXI H, A000 M D

STOP

Program : Alamat Kode Operasi 8000 8003 8004 21 00 A0 72 CF Mnemonik LXI H, A000 MOV M, D RST 1

Setelah instruksi MOV M, D ini dilaksanakan, maka isi memori alamat A000 akan sama dengan isi register D = 7F. Selain instruksi-instruksi MOVE seperti tersebut di atas, mikroprosesor 8085 juga mempunyai kelompok instruksi MOVE IMMEDIATE, yaitu instruksi MVI r, data 8 bit dan instruksi MVI M, data 8 bit. Contoh : Instruksi MVI B, 5C akan mengisi register B dengan data 8 bit 5C (B 5C). Instruksi MVI M, 8 bit, digunakan untuk mengisi data 8 bit pada suatu lokasi memori yang alamatnya ada pada register HL.

Teknik Telekomunikasi Nir Kabel

11

MIKROPROSESOR 8085

SEMESTER 3

START

B 5C

STOP Contoh : Instruksi MVI M, 4F akan mengisi lokasi memori yang alamatnya berada pada pasangan register HL dengan data 4F (M 4F). START

M

4F

STOP

Fungsi Instruksi STA dan LDA Instruksi STA alamat diperguanakan untuk menyimpan data yang berada pada akumulator (register A) ke dalam unit memori pada lokasi alamat (4digit heksadesimal dari belakang mnemonik STA).

Contoh : Instruksi STA D45F akan menyimpan isi akumulator ke dalam unit memori pada alamat D45F. Instruksi LDA alamat digunakan untuk memindahkan data 8 bit dari unit memori lokasi alamat tertentu ke akumulator (register A). START

[D45F]

A

STOP Teknik Telekomunikasi Nir Kabel

12

MIKROPROSESOR 8085

SEMESTER 3

Register A Data Memori Contoh : Instruksi LDA D888 akan memindahkan data yang berada pada alamat D888 ke akumulator (register A). START 4C D45F

A

[D888]

STOP

Memori D888 Data 7F

Register A

Fungsi instruksi STAX dan LDAX Instruksi STAX rp digunakan untuk menyimpan isi akumulator ke lokasi memori yang alamatnya ditunjukkan oleh suatu pasangan register (rp). Contoh : Instruksi STAX B akan menyimpan isi akumulator ke lokasi memori yang alamatnya ditunjukkan oleh pasangan register BC. START

Teknik Telekomunikasi Nir Kabel [BC]

A

13

MIKROPROSESOR 8085

SEMESTER 3

Instruksi LDAX rp berfungsi mengisi akumulator dengan data 8 bit dari lokasi memori yang alamatnya ditunjukkan oleh suatu pasangan register. START

A

[rp]

STOP Contoh : Instruksi LDAX D akan mengisi akumulator dengan data 8 bit dari lokasi memori yang alamatnya ditunjukkan oleh pasangan register DE. START

A

[DE]

STOP 1.3.2 Instruksi Aritmatika Instruksi aritmatika contohnya adalah penjumlahan, penguranagan, penambahan dengan 1 (increment) dan pengurangan dengan 1 (decrement). Umumnya perintah penjumlahan dan pengurangan melibatkan register A (akumulator) dan register prosesor lainnya atau lokasi memori. Operasi penambahan dengan 1 atau pengurangan dengan satu umumnya dapat dilakukan dalam berbagai register dan lokasi memori melalui penggunaan mode pengalamatan yang berbeda. Setiap operasi ini dapat dilakukan dalam beberapa cara yang berbeda, sehingga pemrograman dapat menyesuaiakan perintah yang digunakan pada aplikasi tertentu. Mikroprosesor terdiri atas sejumlah bit status yang disebut bendera atau flag. Bendera di set atau di reset tergantung pada hasil perintah tertentu.Pemrogram dapat menggunakan bendera untuk membantu pengolahan data.

Teknik Telekomunikasi Nir Kabel

14

MIKROPROSESOR 8085

SEMESTER 3

Pada bagian ini terdapat berbagai intruksi aritmatika diantaranya : ADD, ADI, ADC, ACI, SUB, SUI, SBB, SBI, INR, DCR, INX, DCX, DAD dan DAA.

Intruksi ADD dan SUB Intruksi ADD dipergunakan untuk melakukan operasi penjumlahan 8 bit. Pada operasi tersebut , isi register A (akumulator) akan ditambahkan dengan isi register 8 bit atau isi lokasi memori yang alamatnya ditunjukan oleh pasangan register HL. Contoh : ADD B Perintah ini menyebabkan isi register B ditambahkan ke isi register A (akumulator). Hasil penjumlahan akan disimpan dalam register A (akumulator. Register B tidak berubah sehingga : A S Z AC CY P A+B menyala jika hasilnya negative (MSB dari A = 1) menyala jika hasilnya nol (A semuanya nol) menyala jika sisa dihasilkan dari bit 3 (untuk pemakaian BCD) menyala jika sisa dihasilkan dari bit 7 (sisa keluar MSB) menyala jika hasil merupakan paritas genap Setelah perintah ADD, bit flag akan berubah sebagai berikut :

Tabel dibawah menunjukan contoh lain penggunaan intruksi ADD pada register yang lain : Mnemonik ADD A ADD B ADD C ADD D ADD E ADD H ADD L ADD M Symbol operasi A A A A A A A A A+A A+B A+C A+D A+E A+H A+L A + M atau A A + HL

Teknik Telekomunikasi Nir Kabel

15

MIKROPROSESOR 8085

SEMESTER 3

Intruksi SUB dipergunakan untuk melakukan operasi pengurangan 8 bit.Pada operasi tersebut, isi register A (akumulator) akan dikurangi dengan isi register 8 bit, atau isi lokasi memori yang alamatnya ditunjukan oleh pasangan register HL. Contoh: SUB C Intruksi tersebut menyebabkan isi dari register A (akumulator) dikurangi oleh isi dari register C. Hasil pengurangan akan disimpan di register A (akumulator). A A-C Contoh-contoh yang lain dapat dilihat pada table berikut : Mnemonik SUB A SUB B SUB C SUB D SUB E SUB H SUB L SUB M Symbol operasi A A A A A A A A AA AB AC AD AE AH AL AM

Intruksi ADI dan SUI Instruksi ADI dipergunakan untuk menambahkan isi register A (akumulator) dengan data 8 bit secara langsung (immediate data). Contoh : ADI 2Fh Disini 2Fditambahkan ke isi register A (akumulator). Hasilnya disimpan di register A (akumulator) dan semua flag dapat berubah. A A + 2Fh Intruksi SUI dipergunakan dipergunakan untuk mengurangkan isi register A (akumulator) dengan data 8 bit secara langsung (immediate data). Contoh :

Teknik Telekomunikasi Nir Kabel

16

MIKROPROSESOR 8085

SEMESTER 3

SUI 5Ch Disini 5C mengurangi isi register A (akumulator). Hasilnya disimpan di register A (akumulator) dan semua flag dapat berubah. A A 5C Jika hasil penjumlahan atau hasil pengurangan lebih besar dari 7Fh (+12 desimal) atau lebih kecil dari 80h (-128 desimal), maka carry/borrow bit akan set (Cy = 1)

Intruksi ADC dan SBB Instruksi ADC dipergunakan untuk menambah isi register dengan data 8 bit dan mengikutsertakan carry BIT (Cy) dari operasi sebelumnya. Data 8 bit tersebut dapat diambil dari suatu register atau suatu lokasi memori yang alamatnya ditunjukan oleh register HL. Contoh : ADC M Isi lokasi memori yang ditunjukan oleh pasangan HL, dijumlahkan ke register A (akumulator), dan bit sisa ditambahkan k eke LSB hasil jumlahnya. Hasil penjumlahan disimpan di register A, dan semua bendera dipengaruhi. A A + (HL) +Cy Contoh penjumlahan bilangan 24 bit (tiga byte). Masing-masing bilangan akan memerlukan tiga lokasi memori dan total operasi penjumlahan akan memerlukan tiga penjumlahan 8 bit terpisah, seperti diperlihatkan dalam gambar berikut :

Teknik Telekomunikasi Nir Kabel

17

MIKROPROSESOR 8085

SEMESTER 3

Contoh lain penggunaan instruksi ADC pada berbagai register ditunjukan dalam table di bawah ini: Mnemonik ADC A ADC B ADC C ADC D ADC E ADC H ADC L ADC M Simbol operasi A A A A A A A A A + A +Cy A + B +Cy A + C +Cy A + D +Cy A + E +Cy A + H +Cy A + L +Cy A + (HL) +Cy

Instruksi SBB berfungsi untuk mengurangi isi register A dengandata 8 bit dan mengikutsertakan Borrow bit (Cy) dari operasi sebelumnya. Data 8 bit tersebut dapat diambil dari suatu register atau suatu lokasi memori yang alametnya ditunjukan oleh register HL. Contoh: SBB D Menyebabkan : A A D Cy

Contoh lainnya ditunjukan dalam tabel di bawah: Mnemonik SBB A SBB B SBB C SBB D SBB E SBB H SBB L SBB M Simbol operasi A A A A A A A A A A Cy A B Cy A C Cy A D Cy A E Cy A H Cy A L Cy A (HL) Cy

Teknik Telekomunikasi Nir Kabel

18

MIKROPROSESOR 8085

SEMESTER 3

Instruksi ACI dan SBI Instruksi ACI berfungsi untuk menambah isi register A dengan data 8 bit secara langsung (immediate data) dan mengikutsertakan carry bit (Cy) dari operasi sebelumnya. Contoh: ACI 4Ch Menyebabkan isi register A (akumulator) akan ditambah 4Ch dan carry. A A + 4Ch + Cy Instruksi SBI berfungsi untuk mengurangi isi register A dengan data 8 bit langsung (immediate data) dan mengikutsertakan Borrow bit (Cy) dari operasi sebelumnya. Contoh : SBI 3Dh Menyebabkan isi register A dikurangi dengan data 3D dan Borrow. A A 3D - Cy

Instruksi ADD, ADI, ADC, SUB, SBI, SUI dan SBB akan mempengaruhi regidter flag (S, Z, AC, P, dan Cy).

Instruksi INR dan INX Perintah penambahan 1 sebenarnya hanya menambahkan isi suatu lokasi (register atau memori) dengan 1. Untuk 8085 da 2 perintah yaitu INR dan INX. Semua flag kecuali Cy (sisa) dipengaruhi oleh perintah INR dan tidak ada bendera yang dipengaruhi oleh perintah INX. INR dipergunakan untuk menambah (menaikan) dengan 1 isi dari suatu register 8 bit atau lokasi memori yang alamatnya ditunjukan oleh regidter HL. Contoh : INR B Perintah ini menyebabkan isi register B ditambah dengan satu, atau : B B+1

Teknik Telekomunikasi Nir Kabel

19

MIKROPROSESOR 8085

SEMESTER 3

Contoh lain diperlihatkan pada tabel di bawah ini : Mnemonik INR A INR B INR C INR D INR E INR H INR L INR M Simbol operasi A B C D E H L (HL) A+1 B+1 C+1 D+1 E+1 H+1 L+1 (HL) + 1

INX dipergunakan untuk menambah dengan 1 isi suatu pasangan register (16 bit register). Contoh : INX D Menyebabkan isi pasangan register DE ditambah dengan 1. DE DE + 1

Contoh lain ditunjukan dalam tabel dibawah ini : Mnemonik INX B INX D INX H INX SP Simbol Operasi BC DE HL SP BC + 1 DE + 1 HL + 1 SP + 1

Instruksi DCR dan DCX DCR dipergunakan untuk mengurangi dengan 1 isi dari suatu register 8 bit atau suatu lokasi memori yang alamatnya ditunjukan oleh register HL. Contoh : DCR C Menyebabkan isi register C dikurangi dengan 1 atau : C C 1

Teknik Telekomunikasi Nir Kabel

20

MIKROPROSESOR 8085

SEMESTER 3

Contoh lain ditunjukan dalan tabel dibawah ini : Mnemonik DCR A DCR B DCR C DCR D DCR E DCR H DCR L DCR M Simbol operasi A B C D E H L (HL) A-1 B-1 C-1 D-1 E-1 H-1 L -1 (HL) - 1

DCX dipergunakan untuk mengurangi dengan 1 isi suatu pasangan register (16 bit register). Contoh : DCX H Menyebabkan isi pasangan register HL dikurangi dengan 1, atau : HL HL - 1 Contoh lain dapat dilihat pada tabel di bawah ini : Mnemonik DCX B DCX D DCX H DCX SP Simbol Operasi BC DE HL SP BC - 1 DE - 1 HL - 1 SP - 1

Instruksi INR dan DCR akan mempengaruhi atau mengubah bit bit dari register flag seperti S, Z dan AC tetapi tidak mempengaruhi bit Cy. Instruksi INX dan DCX tidak mempengaruhi bit bit dari register flag.

Instruksi DAD Instruksi DAD dipergunakan untuk menambahkan isi pasangan register HL dengan isi suatu pasangan register pada operasi penjumlahan16 bit. Contoh :

Teknik Telekomunikasi Nir Kabel

21

MIKROPROSESOR 8085

SEMESTER 3

DAD D Menyebabkan isi pasangan register HL ditambahkan dengan pasangan regi ter s DE. HL HL + DE Simbol Operasi HL HL HL HL HL + BC HL + DE HL + HL HL + SP Contoh lain dapat dilihat pada tabel di bwah : Mnemonik DAD B DAD D DAD H DAD SP

Instruksi DAD akan mempengaruhi bit Cy dari register flag.

1.3.3 Instruksi Geser Instruksi-instruksi geser digunakan untuk menggeser isi register A. Instruksi-instruksi geser hanya mempengaruhi Carry flag (CY). Instruksi-instruksi geser terbagi menjadi :

1). RAR ( Rotate A Right through carry ) RAR adalah instruksi yang digunakan untuk menggeser isi register A ke kanan melalui carry flag. LSB dari data yang berada pada register A akan mengisi carry flag, sedangkan isi carry flag sebelumnya pindah menjadi MSB.

Contoh : Sebelum instruksi RAR Isi register A = 10001111(2) = 8F(16) Carry flag = 0 Setelah instruksi RAR

Teknik Telekomunikasi Nir Kabel

22

MIKROPROSESOR 8085

SEMESTER 3

Isi register A = 01000111 (2) = 47(16) Carry flag = 1

2). RAL ( Rotate A Left through carry ) RAL adalah instruksi yang digunakan untuk menggeser isi register A ke kiri melalui carry flag. MSB dari data yng berada pada register A akan mengisi carry flag, sedangkan isi carry flag sebelumnya pindah menjadi LSB.

Contoh : Sebelum instruksi RAL Isi register A = 10001111 (2) = 8F(16) Carry flag = 0 Setelah instruksi RAL Isi register A = 00011110 (2) = 1E(16) Carry flag = 1

3). RRC ( Rotate A Right ) RRC adalah instruksi yang digunakan untuk menggeser isi register A ke kanan. LSB akan mengisi MSB dan juga akan mengisi carry flag, sedangkan data sebelumnya yang ada di carry flag akan hilang.

Teknik Telekomunikasi Nir Kabel

23

MIKROPROSESOR 8085

SEMESTER 3

Contoh : Sebelum instruksi RRC Isi register A = 10001111 (2) = 8F(16) Carry flag = 0 Setelah instruksi RRC Isi register A = 11000111 (2) = C7(16) Carry flag = 1

4). RLC ( Rotate A Left ) RLC adalah instruksi yang digunakan untuk menggeser isi register A ke kiri MSB akan mengisi LSB dan juga akan mengisi carry flag, sedangkan data sebelumnya yang ada di carry flag akan hilang.

Contoh : Sebelum instruksi RLC Isi register A = 10001111 (2) = 8F(16) Carry flag = 0 Setelah instruksi RLC Isi register A = 00011111 (2) = 1F(16) Carry flag = 1

Teknik Telekomunikasi Nir Kabel

24

MIKROPROSESOR 8085

SEMESTER 3

1.3.4 Instruksi Logika

1). Instruksi Logika AND Instruksi logika and terbagi menjadi 3 : 1. ANA M ( And Memory with A ) ANA M adalah instruksi yang digunakan untuk melakukan operasi logika and antara isi register A dengan memori. Kemudian hasil operasi disimpan secara otomatis di register A. Contoh : Sebelum instruksi ANA M Isi register A = 10101110 (2) = AE(16) Isi memori alamat 7000 = 01101100 (2) = 6C(16) Setelah instruksi ANA M Isi register A = 00101100 (2) = 2C(16)

2. ANA R ( And Register with A ) ANA R adalah instruksi yang digunakan untuk melakukan operasi logika and antara isi register A dengan isi suatu register lain. Kemudian hasil operasi disimpan secara otomatis di register A. Contoh : Sebelum instruksi ANA R Isi register A = 01011000 (2) = 58(16) Isi register B = 10010011 (2) = 93(16) Setelah instruksi ANA R Isi register A = 00010000 (2) = 10(16)

3. ANI ( And Immediate with A ) ANI adalah instruksi yang digunakan untuk melakukan operasi logika and antara isi register A dengan konstanta. Kemudian hasil operasi disimpan secara otomatis di register A.

Teknik Telekomunikasi Nir Kabel

25

MIKROPROSESOR 8085

SEMESTER 3

Contoh : Sebelum instruksi ANI Isi register A = 01110010 (2) = 72(16) Konstanta = 10011001 (2) = 99(16) Setelah instruksi ANI Isi register A = 00010000 (2) = 10(16) Instruksi logika AND mempengaruhi isi register flag, yaitu Zero flag (Z), Sign flag (S), Parity flag (P), Carry flag selalu dalam kondisi reset (CY = 0) dan Auxiliary Carry selalu dalam kondisi set (AC = 1).

2). Instruksi Logika OR Instruksi logika or terbagi menjadi 3 : 1. ORA M ( Or Memory with A ) ORA M adalah instruksi yang digunakan untuk melakukan operasi logika or antara isi register A dengan memori. Kemudian hasil operasi disimpan secara otomatis di register A. Contoh : Sebelum instruksi ORA M Isi register A = 10101110 (2) = AE(16) Isi memori alamat 8000 = 01101100 (2) = 6C(16) Setelah instruksi ORA M Isi register A = 11101110 (2) = EE(16)

2. ORA R ( Or Register with A ) ORA R adalah instruksi yang digunakan untuk melakukan operasi logika or antara isi register A dengan isi suatu register lain. disimpan secara otomatis di register A. Contoh : Kemudian hasil operasi

Teknik Telekomunikasi Nir Kabel

26

MIKROPROSESOR 8085

SEMESTER 3

Sebelum instruksi ORA R Isi register A = 01011000 (2) = 58(16) Isi register D = 10010011 (2) = 93(16) Setelah instruksi ORA R Isi register A = 11011011 (2) = DB(16)

3. ORI ( Or Immediate with A ) ORI adalah instruksi yang digunakan untuk melakukan operasi logika or antara isi register A dengan konstanta. Kemudian hasil operasi disimpan secara otomatis di register A. Contoh : Sebelum instruksi ORI Isi register A = 01110010 (2) = 72(16) Konstanta = 10011001 (2) = 99(16) Setelah instruksi ORI Isi register A = 11111011 (2) = FB(16) Instruksi logika OR mempengaruhi isi register flag, yaitu Zero flag (Z), Sign flag (S), Parity flag (P), Carry flag selalu dalam kondisi reset (CY = 0) dan Auxiliary Carry selalu dalam kondisi reset (AC = 0).

3). Instruksi Logika Exclusive OR Instruksi logika exclusive or terbagi menjadi 3 : 1. XRA M ( Exclusive Or Memory with A ) XRA M adalah instruksi yang digunakan untuk melakukan operasi logika exclusive or antara isi register A dengan memori. Kemudian hasil operasi disimpan secara otomatis di register A.

Teknik Telekomunikasi Nir Kabel

27

MIKROPROSESOR 8085

SEMESTER 3

Contoh : Sebelum instruksi XRA M Isi register A = 10101110(2) = AE(16) Isi memori alamat 9000 = 01101100 (2) = 6C(16) Setelah instruksi XRA M Isi register A = 11000010 (2) = C2(16)

2. XRA R ( Exclusive Or Register with A ) XRA R adalah instruksi yang digunakan untuk melakukan operasi logika exclusive or antara isi register A dengan isi suatu register lain. Kemudian hasil operasi disimpan secara otomatis di register A. Contoh : Sebelum instruksi XRA R Isi register A = 01011000 (2) = 58(16) Isi register C = 10010011 (2) = 93(16) Setelah instruksi XRA R Isi register A = 11001011 (2) = CB(16)

3. XRI ( Exclusive Or Immediate with A ) XRI adalah instruksi yang digunakan untuk melakukan operasi logika exclusive or antara isi register A dengan konstanta. Kemudian hasil operasi disimpan secara otomatis di register A. Contoh : Sebelum instruksi XRI Isi register A = 01110010 (2) = 72(16) Konstanta = 10011001 (2) = 99(16) Setelah instruksi XRI Isi register A = 11101011 (2) = EB(16)

Teknik Telekomunikasi Nir Kabel

28

MIKROPROSESOR 8085

SEMESTER 3

Instruksi logika Exclusive Or mempengaruhi isi register flag, yaitu Zero flag (Z), Sign flag (S), Parity flag (P), Carry flag selalu dalam kondisi reset (CY = 0) dan Auxiliary Carry selalu dalam kondisi reset (AC = 0).

1.3.5 Instruksi Percabangan Pada mikroprosesor 8085 terdapat instruksi pencabangan, yang digunakan apabila kita ingin melakukan perintah yang sama berulang kali. Proses tersebut dinamakan proses loop, caranya adalah dengan menguji salah satu bit yang terdapat pada register flag. Apabila ingin menguji atau memeriksa salah satu bit pada register flag, maka sebelumnya terlebih dahulu harus diberikan instruksi yang akan mempengaruhi isi dari register flag. Instruksi pencabangan dibagi menjadi dua, yaitu : Pencabangan bersyarat (conditional) JM, JPE, JPO. Pencabangan tidak bersyarat 1). JC (Jump if Carry Set) Perintah ini digunakan apabila kita ingin menguji carry bit. Jika carry bit berlogika 1, maka program akan melompat ke alamat yang ditulis pada perintah JC addr. Perintah : JMP (jump) dan CALL. Perintah : JC, JNC, JZ, JNZ, JP,

2).

JNC (Jump if Carry Not Set) Perintah ini digunakan apabila kita ingin menguji carry bit. Jika carry bit

berlogika 0, maka program akan melompat ke alamat yang ditulis pada perintah JNC addr.

3).

JM (Jump if Minus) Perintah ini digunakan apabila kita ingin menguji sign bit. Program akan

melompat pada alamat tertentu apabila sign bit berlogika 1. Contohnya : JM 8005h (apabila sign bit berlogika 1 maka program akan melompat ke alamat

Teknik Telekomunikasi Nir Kabel

29

MIKROPROSESOR 8085

SEMESTER 3

8005h, sedangkan apabila sign bit berlogika 0 maka program akan berlanjut ke alamat di bawah perintah JM.

4).

JP (Jump if plus) Perintah ini digunakan apabila kita ingin menguji sign bit. Jika sign bit

berlogika 0, maka program akan melompat ke alamat yang ditulis setelah perintah JP.

5).

JZ (Jump if Zero) Perintah ini digunakan apabila kita ingin menguji zero bit. Jika zero bit

berlogika 1 maka program akan melompat ke alamat yang ditulis setelah perintah JZ.

6).

JNZ (Jump if not zero) Perintah ini digunakan apabila kita ingin menguji zero bit. Jika zero bit

berlogika 0 maka program akan melompat ke alamat yang ditulis setelah perintah JNZ.

7).

JPE (Jump if Even Parity) Perintah ini digunakan apabila kita ingin menguji parity bit. Jika parity bit

berlogika 1, artinya jumlah logika satu dari suatu data hasil operasi yang mempengaruhi register flag berjumlah genap, maka program akan melompat ke alamat yang ditulis setelah perintah JPE.

8).

JPO (Jump if Parity Odd) Perintah ini digunakan apabila kita ingin menguji parity bit. Jika parity bit

berlogika 0, artinya jumlah logika satu dari suatu data hasil operasi yang mempengaruhi register flag berjumlah ganjil, maka program akan melompat ke alamat yang ditulis setelah perintah JPO.

Teknik Telekomunikasi Nir Kabel

30

MIKROPROSESOR 8085

SEMESTER 3

9).

JMP (Jump) Perintah ini digunakan apabila kita ingin melompat ke alamat tertentu, akan

tetapi tanpa melibatkan proses pengujian terhadap bit-bit yang terdapat pada register flag. Oleh karena itu, perintah jump dimasukkan ke dalam perintah pencabangan tak bersyarat.

10). CALL Perintah ini digunakan apabila kita ingin menggunakan suatu subrutin. Contohnya CALL 8000h, apabila perintah ini dilakukan maka program akan melompat ke suatu subrutin yang alamatnya 8000h, dan setelah subrutin selesai digunakan maka program akan kembali ke alamat di bawah alamat yang berisi CALL 8000h. Apabila perintah CALL 8000h ditulis pada alamat 9000h maka setelah subrutin digunakan, program akan kembali ke alamat 9001h. PROGRAM UTAMALXI H,B204 . . CALL 9000 MOV A,BLXI B,B204 . . MOV B,C RET

SUBRUTIN

Teknik Telekomunikasi Nir Kabel

31

MIKROPROSESOR 8085

SEMESTER 3

Contoh Program : 1) Buat diagram alir dan program untuk mencari bilangan ganjil terkecil yang ada pada blok memori alamat B204h s/d B23Ch. Simpan hasil pencarian pada register B. Tempatkan program mulai alamat 8000h. FlowchartSTART

Program

Alamat Op-code Label MnemonikHL B B204 FF

8000 8003 8005

21 04 B2 06 FF 7E 4F E6 01 CA 12 80 79 B8 D2 12 80 47 2C 7D FE 3D CA 05 80 CF L2 L1

LXI H,B204 MVI B,FF MOV A,M MOV C,A ANI 01 JZ L2 MOV A,C CMP B JNC L2 MOV B,A INR L MOV A,L CPI 3D JZ L1 RST 01

A C A

M A A 01

8006 8007 8009

Z=1

800C 800D

A A

C

B

899E 8011 8012

Cy=0

8013 8014 8016

B

A

L L+1 A L A 3D

8017

Z=1

STOP

Teknik Telekomunikasi Nir Kabel

32

MIKROPROSESOR 8085

SEMESTER 3

2)

Buat bagan alir dan program untuk mendeteksi kesalahan pariti dari data input yang disimpan pada blok memori I. Asumsikan data tersebut sebagai data hasil pengiriman dari pihak lain dan telah dilengkapi dengan bit parity untuk sistem pariti genap.Simpan hasilnya pada blok memori II dengan mengisi data 00h untuk data yang benar dan mengisi data FFh untuk data yang salah. Alamat blok memori I =A000h s/d A00Fh, dan alamat blok memori II = B000h s/d B00Fh, serta alamat program mulai dari alamat 8000h.

FlowchartSTART

Program

Alamat Op-code Label MnemonikHL A00F

8000 8003

21 0F A0 7E C6 00 3E 00 EA 0D 80 3E FF 26 B0 77 26 A0 2D F2 03 80 CF L2 L1

LXI H,A00F MOV A,M ADI 00 MVI A,00 JPE L2 MVI A,FF MVI H,B0 MOV M,A MVI H,A0 DCR L JP L1 RST 1

A A A

M A + 00 00

8004 8006 8008

P=1

800B 800D

A

FF

800F 8010

H M H L

B0 A A0 L-1

8012 8013 8016

S=0

STOP

Teknik Telekomunikasi Nir Kabel

33

MIKROPROSESOR 8085

SEMESTER 3

1.3.5 Instruksi IN dan OUT Instruksi IN dan OUT berfungsi untuk mengatur lalu lintas dengan peralatan I/O. Dalam instruksi OUT, sumber selalu accumulator. Dalam instruksi IN, tujuan adalah accumulator. Di belakang kode operasi IN dan OUT kita hanya perlu mencantumkan nomor pintu (gate number) saja, yaitu alamatnya peralatan I/O (kemana data harus dibawa atau dari mana data harus diambil). Di dalam mikroprosesor 8085, alamat I/O port adalah 51H dan 50H. Untuk alamat saklar 8 bit adalah 51H (alamat port dihubungkan ke saklar). Sedangkan alamat LED 8 bit adalah 50H (alamat port 50 dihubungkan dengan LED). Contoh : 1.Buatlah diagram alir dan program untuk mengaktifkan 8 bit LED secara bergantian mulai dari posisi MSB sampai ke LSB dengan selang waktu 1 detik. ~ Flowchart

Teknik Telekomunikasi Nir Kabel

34

MIKROPROSESOR 8085

SEMESTER 3

~ Program Alamat 8000 8002 8004 8007 800A 800B 800E 8010 8012 Op-Code 3E 80 D3 50 11 E8 03 CD FA 0F 0F D2 02 80 3E 00 D3 50 CF L1 Label Mnemonik MVI A,80 OUT 50 LXI D,03E8 CALL FFA RRC JNC L1 MVI A,00 OUT 50 RST 1

1.4 Sistem BilanganDalam mempelajari sistem bilangan dalam digital, kita tidak mengenal adanya bilangan negatif. Oleh karena itu, kita harus merubah bilangan negatif ke sebuah sistem bilangan. Sistem bilangan ini berlogik 1. Sistem-sistem bilangan itu adalah 1. SBN 2. Komplemen 1 3. Komplemen 2 4. Komplemen 9 5. Komplemen 10 6. Komplemen 15 7. Komplemen 16 menggunakan sign bit yang berfungsi menunjukkan bilangan itu positif atau negatif. Jika positif sign bit

1). SBNSBN termasuk bilangan biner murni. Bedanya dengan komplemen 1 dan komplemen 2 adalah pemberian bit tambahan pada MSB yang disebut sign bit pada SBN.. Fungsinya adalah membedakan bilangan itu positif atau negatif. Jika suatu biner bernilai negatif, maka sign bit bernilai logik 1.

Teknik Telekomunikasi Nir Kabel

35

MIKROPROSESOR 8085

SEMESTER 3

2).

Komplemen 1 K1 dan K2 merupakan bilangan biner murni yang hanya terdiri dari 2

kondisi 0 (mati) dan 1 (hidup). Jika suatu bilangan biner bernilai negati, maka nilai-nilai logik pada bilangan tersebut menjadi bernilai logik kebalikannya. Logik 0 menjadi 1 dan logik 1 menjadi 0. Contoh : Biner = - 01001011 SBN = 1 01001011 K1 = 1 10110100 3). Komplemen 2 K2 hampir mirip seperti K1, hanya saja ditambahkan 1 pada LSB-nya. Persamaan K2 : K2 = K1 + 1. K1 = K2 - 1 Contoh : Biner = - 001010111 SBN = 1 001010111 K1 = 1 110101001 4). Komplemen 9 K9 dan K10 merupakan bilangan basis 10 atau yang kita kenal sebagai bilangan desimal. Jika sign bit suatu bilangan desimal 1 (bernilai negatif), maka nilai K9-nya adalah hasil pengurangan dengan angka 9 pada setiap bit (angka) bilangan desimal itu. Persamaan K9 : Desimal Murni 0 1 2 3 4 5 6 Komplemen 9 9 8 7 6 5 4 3

Teknik Telekomunikasi Nir Kabel

36

MIKROPROSESOR 8085

SEMESTER 3

7 8 9 Contoh : Desimal murni K9 5). = 842952 = 157047 Komplemen 10

2 1 0

Cara mencari nilai K10 hampir sama seperti mencari K9. K10 didapatkan dari hasil penjumlahan K9 dengan 1 pada LSB-nya. Persamaan K10 : K10 = K9 + 1 K9 = K10 - 1 Contoh : Desimal murni K9 K10 6). = 78529 = 21470 = 21471 Komplemen 15 K15 dan K16 merupakan bilangan yang berbasis 16. Komplemen dari suatu bilangan heksadesimal adalah pasangan dari bilangan heksa yang jika dijumlahkan bernilai f (15 desimal). Persamaan K9 : Heksadesimal 0 1 2 3 4 5 6 7 K9 F E D C B A 9 8 Heksadesimal 8 9 A B C D E F K9 7 6 5 4 3 2 1 0

Teknik Telekomunikasi Nir Kabel

37

MIKROPROSESOR 8085

SEMESTER 3

Contoh : Heksadesimal K9 7). = A742B = 58BD4 Komplemen 16 K9 dapat dicari dengan menambah 1 pada LSB bilangan tersebut. Persamaan K16 K16 = K15 + 1 K15 = K16 1 Contoh : Heksadesimal K15 = 2B930 = D46CF

Teknik Telekomunikasi Nir Kabel

38

MIKROPROSESOR 8085

SEMESTER 3

BAB 2

PROGRAM DAN APLIKASI MIKROPROSESOR

2.1 OPERASI ARITMATIKA2.1.1 Penjumlahan

Contoh pemrogramannya : 1. Buatlah program Penjumlahan 2 bilangan BCD 2 Decade (00-99) Bilangan 1 ada di Reg B. Bilangan 2 ada di Reg C Simpan hasil penjumlahan pada reg HL? Jawab:START

OP - CODE H L A A A L A A A H 00 B 2600 68 7D L A+C BCD A H A + 00 + Cy BCD A 81 27 6F 7C CE00 27STOP

MNEMONIC MVI H,00 MOV L,B MOV A,L ADD C DAA MOV L,A MOV A,H ACI 00 DAA MOV H,A RST 1

SIMBOL OPERASI H L A 00 B L

A A+C A L A A BCD A H

A + 00 + Cy A H BCD A

67 CF

STOP

Teknik Telekomunikasi Nir Kabel

39

MIKROPROSESOR 8085

SEMESTER 3

Cat : Karena pada mikroprosesor melakukan operasi baik penjumlahan maupun pengurangan dalam system komplemen dua. Sehingga mikroprosesor 8085 menyediakan instruksi DAA yang memberikan factor koreksi pada saat kita bekerja dengan menggunakan data decimal (BCD), sedangkan pada heksadesimal tidak perlu

menggunakan factor koreksi. 2. Sama dengan soal no 1 tapi penjumlahannya bilangan Hexadecimal (00-FF). Jawab : Sama hanya tinggal buang faktor koreksi bilangan BCD (DAA). START OP - CODE H L A A L A A H 00 B 2600 68 7D L A+C A H A + 00 + Cy A 81 6F 7C CE00 67 CF STOP MNEMONIC MVI H,00 MOV L,B MOV A,L ADD C MOV L,A MOV A,H ACI 00 MOV H,A RST 1 A SIMBOL OPERASI H L A 00 B L

A A+C L A A H

A + 00 + Cy H A

STOP

5. Buatlah diagram alir dan program untuk menambahkan 2 data 16 bit yang berada pada register BC dan DE. Simpan hasil penjumlahan pada reg HL.

Teknik Telekomunikasi Nir Kabel

40

MIKROPROSESOR 8085

SEMESTER 3

MNEMONICS MOV A,C ADD E DAA MOV L,A MOV A,B ADC D DAA MOV H,A RST 1

2.1.2 Pengurangan 1). Buatlah diagram alir dan program untuk mengurangkan data yang ada pada reg B dan reg C (BCD dan heksadesimal) simpan hasilnya pada reg D.

Heksadesimal

BCD

Cat : Karena dalam INTEL 8085 tidak ada program pengurangan secara langsung, maka datnya harus diubah. Pada BCD, nilainya dijadikan dalam K9, kemudian baru dikurangkan dengan Reg yang diinginkan

A A A L A A A H

A

Teknik Telekomunikasi Nir Kabel

41

MIKROPROSESOR 8085

SEMESTER 3

setelah itu jadikan K10 dengan cara menambahkan dengan 01.dan tifak lupa menggunakan factor koreksi. Sedangkan pada data heksadesimal nilainya dijadikan dalam K15. 2). Buatlah diagram alir dan program untuk mendapatkan perhitungan berdasarkan persamaan aritmatika sbb :A=B+CDE+H

Diagram alir

MNEMONICS MVI A, 99 SUB D ADI 01 DAA ADD B DAA MOV L, A MVI A, 99 SUB E ADI 01 DAA ADD C DAA ADD H DAA ADD L DAA RST 1

Teknik Telekomunikasi Nir Kabel

42

MIKROPROSESOR 8085

SEMESTER 3

2.1.3 Perkalian 1). Buatlah diagram alir dan program untuk perkalian 2 data BCD 2 digit yang ada pada reg B dan reg C. Hasil kali disimpan pada reg HL dengan metoda penjumlahan berulang.

LABEL

L1

L2

MNEMONICS LXI HL, 0000 MOV A, B CPI 00 JZ L2 MOV A, C CPI 00 JZ L2 MOV D, C MOV A, L ADD B DAA MOV L, A MOV A, H ADC 00 DAA MOV H, A MVI A, 99 ADD D DAA MOV D, A JNZ L1 RST 1

Teknik Telekomunikasi Nir Kabel

43

MIKROPROSESOR 8085

SEMESTER 3

Metoda pergeseran dan penjumlahan Contoh : 2). Buatlah flowchart dan program untuk mengalikan data berikut : Data 1 Register B01 34 FF C3 FF

Data 2 Register CD4 56 10 00 FF

Hasil kali Register HL00D4 1178 0FF0 0000 FE01

Flowchart: LXI SP,FFFF LXI H,0 PUSH B MVI D,0 MOV E,B MVI B,08 LUP1 : MOV A,C RRC MOV C,A JNC LUP2 DAD D LUP2 : XCHG DAD H XCHG DCR B JNZ LUP1 POP B RST 1

Teknik Telekomunikasi Nir Kabel

44

MIKROPROSESOR 8085

SEMESTER 3

Pada metoda ini Register C digeser ke kanan, diperiksa per bit mulai bit yang paling kanan sampai bit yang paling kiri.

Perkalian dengan Metode Pergeseran dan Penjumlahan Contoh : 1110 0100 x 0000 0000 1110 0000 0111000 Metode Penjumlahan 14 * 10 = 140 (10) reg B 1110 reg C 1010 x 0000 1110 0000 1110 10001100 + = 140 (10) + = 56 (10) 14 * 4 = 56 (10)

Pada metode pergeseran, register pengali yang menjadi acuan. Ada 2 kondisi yang harus dilakukan, yaitu : jika bit 0, geser register B ke kiri sebanyak satu posisi, jika bit 1, register B tambahkan ke register A yang digunakan sebagai penyimpan hasil operasi. Contoh : reg B = reg C = reg B1 = reg B2 = 111000 reg B3 = 1110000 1110 1010 11100

Teknik Telekomunikasi Nir Kabel

45

MIKROPROSESOR 8085

SEMESTER 3

reg A = 0000

11100 + 11100 1110000 + 10001100

Penjelasan penyelesaian : Nilai LSB yang pertama adalah yang paling kanan bernilai bit 0, maka geser register B ke kiri sebanyak satu posisi, sehingga didapatkan : Register B1 = 11100 Nilai LSB yang berikutnya bernilai bit 1, maka tambahkan register B ke register A yang digunakan untuk menyimpan hasil operasi, maka didapatkan : Register B2 = 11100 kali : Register B3 = 111000 Nilai bit yang terakhir adalah bit 1, geser register B kemudian tambahkan isi register B yang telah digeser tadi dengan nilai yang telah ada pada register A tadi sebagai hasil operasi terdahulu, maka didapatkan : Register B4 = 1110000 Maka didapatkan hasil dari seluruh operasi = 10001100 = 140 (10) Catatan : Isi register A awalnya adalah 0 Nilai bit selanjutnya adalah bit 0, maka isi register B harus di geser ke kiri satu

Contoh soal perkalian biner : Buat diagram alir dan program untuk mengalikan 2 data biner 4 bit y ang berada pada register B dan register C. Simpanlah hasil kali pada register A. (range data pada register B dan register C = 00H s/d 0FH)

Teknik Telekomunikasi Nir Kabel

46

MIKROPROSESOR 8085

SEMESTER 3

Flowchart : START

Alamat Op Code Mnemonik A000 A002 A004 XX XX XX XX XX XX XX XX XX XX A009 XXXX XX XX XX XX XX XX XX XX XX XX XX XX A017 XXXX XX XX CF JNZ A004 MOV A, E RST 1 A01A A01C JNC A011 MOV A, E ADD B MOV E, A MOV A, B ADD A MOV B, A DCR D MVI A, 00 MVI D, 04 MOV A, C RRC MOV C, A

A D

00 04

A C RRC C A

A006 A007

Cy = 0

A00C A00E

A

E A+B E A

A

A00F A011 A013

B A A+A B A

A

A014 A016

D D-1

Z=0

A

E

STOP Penjelasan : Pada soal diminta program dan flowchart untuk mengalikan 2 data biner 4 bit yang berada pada register B dan register C. Hasilnya akan disimpan pada

Teknik Telekomunikasi Nir Kabel

47

MIKROPROSESOR 8085

SEMESTER 3

register A, oleh karena itu isi register A harus dikosongkan terlebih dahulu dengan instruksi A 00 (MVI A, 00). Kita membutuhkan satu register tambahan misalkan register D untuk menampung data biner 4 bit dengan menambahkan instruksi D 04 (MVI D, 04). Ambil satu data yang berada pada register C yang merupakan faktor pengalinya, sebagaimana pada teori terdahulu bahwqa faktor pengali digeser ke kanan untuk mengetahui LSB tersebut memiliki bit 0 atau bit 1. Simpan pada akumulator dengan instruksi A C (MOV A, C). Kemudian geser data pada akumulator tersebut untuk mengetahui LSB-nya bit 0 atau bit 1, dengan memeriksa carry-nya, dimana data tersebut digeser ke kanan satu posisi melalui instruksi RRC. Simpan hasil pergeseran tersebut pada register akumulator kembali dengan instruksi C A (MOV C, A). Periksa isi carry tersebut, apabila isi carry tersebut memiliki bit 1 berarti operasi dilanjutkan ke instruksi yang ada di bawahnya., dan apabila carry = 0, maka instruksi yang akan dilakukan adalah jump ke alamat A011. Sebagaimana operasi sebelumnya apabila carry = 1 maka operasi dilanjutkan ke instruksi yang ada di bawahnya, yaitu A E (MOV A, E). Di sini kita membutuhkan register E untuk menyimpan data sementara. Tanbahkan data yang ada pada register A dengan data pada register B dengan instruksi A register E kembali E A + B (ADD B), sebagaimana teori terdahulu bahwa kalau A (MOV E, A) B (MOV A, B), A + A (ADD A), carry = 1, register B tambahkan pada akumulator. Kemudian pindahkan ke Pindahkan data pada register B ke akumulator A kemudian tambahkan kembali dengan isi pada akumulator A kemudian pindahkan kembali ke register B, B A (MOV B, A). Turunkan isi register D, karena sudah dipakai sebanyak satu kali D D 1 (DCR D). Periksa zero flag yang menandakan operasi telah selesai, jika bit zero flag = 0 maka pindahkan isi register E ke akumulator sebagai hasil

Teknik Telekomunikasi Nir Kabel

48

MIKROPROSESOR 8085

SEMESTER 3

pengoperasian sesuai dengan soal yang diminta, jika zero flag = 1, jump ke alamat A004 untuk mengulang operasi sampai didapatkan hasil yang benar.

2.1.4 Pembagian Ada 2 metoda dalam pembagian biner , yaitu : 1. Metoda Pengurangan Berulang 2. Metoda Pergeseran dan Pengulangan 1. Buatlah diagram alir dan program untuk membagi bilangan biner 8 bit yang ada pada register B dengan bilangan biner 8 bit lain yang ada di registerC.Simpan hasil bagi pada register H dan sisa bagi pada register L.START

LABEL

H L

00 B

A C A : 00 Y C=0 C>0 Z=1 T

L1

L1

A L A: C Y L memilih port A A1=0; A0=1; ==> memilih port B A1=1; A0=0; ==> memilih port C A1=1; A0=1; ==> memilih Control Word ( CW ) CS harus dibuat rendah pada saat pembacaan atau penulisan pada PPI ini. Sinyal reset bila aktif akan membersihkan seluruh register internal PPI dan membuat PPI berfungsi dalam mode masukan ( mode input ). Pemilihan konfigurasi port masukan atau keluaran pada IC 8255 ini dilakukan dengan cara mengirim control word melalui D7 s/d D0 pada saat A1 dan A0 masing-masing berlogic 1. Tabel operasi 8255 adalah sebagai berikut :

Teknik Telekomunikasi Nir Kabel

146

MIKROPROSESOR 8085

SEMESTER 3

A1 A0 0 0 1 0 0 1 1 X 1 X 0 1 0 0 1 0 1 X 1 X

RD 0 0 0 1 1 1 1 X 0 1

WE 1 1 1 0 0 0 0 X 1 1

CS 0 0 0 0 0 0 0 X 0 0

Keterangan Port A ke bus data Port B ke bus data Port C ke bus data Bus data ke port A Bus data ke port B Bus data ke port C Bus data ke bus kontrol Bus data three state Ilegal Bus data three state

3.2 PERANTARAAN PPI 8255Misalnya kita akan menyimpan alamat I/O PPI pada alamat 300H s/d 303H. Maka pengaturan port-portnya adalah sebagai berikut : Port A = 300H; Port B = 301H; Port C = 302H dan Control Word = 303H Untuk mengirim data ke port A yang telah diprogram sebagai port keluaran dapat digunakan instruksi : MOV DX, 300H MOV AL, data_out OUT DX,AL

Teknik Telekomunikasi Nir Kabel

147

MIKROPROSESOR 8085

SEMESTER 3

Sedangkan bila telah diprogram sebagai masukan, untuk membaca data dari port A dapat dilakukan dengan instruksi berikut ini: MOV DX,300H IN AL,DX Hal yang sama juga dapat digunakan untuk port B dengan alamat 301H dan port C dengan alamat 302H. Mengenai register dari mikroprosesor yang digunakan untuk tempat menyimpan alamat dan data terserah pemogram, asalkan register tersebut sesuai dengan operasi yang akan dilakukan. Ada tiga mode utama yang dapat diprogramkan ke PPI, yaitu : 1. Mode 0 Mode 0 adalah mode operasi masukan dan keluaran yang paling sederhana (basic input/ output operation). Pada mode ini tiap port pada PPI hanya dapat digunakan sebagai masukan atau keluaran. Dalam mode 0, 24 jalur I/O dibagi menjadi 2 group (lihat gambar 2.6), yaitu group A dan group B. Group A terdiri dari 8 jalur port A dan 4 jalur port C upper. Group B terdiri dari 8 jalur port B dan 4 jalur port C lower2. 2. Mode 1 Mode 1 adalah mode operasi masukan dan keluaran yang terkontrol (strobed input/output operation). Pada mode ini port A dan port B dapat digunakan sebagai masukan atau keluaran, tergantung kontrol dari port C. Dalam mode 1, PPI hanya menggunakan dua buah port yaitu port A dan port B. Untuk operasi masukan atau keluaran, masing-masing port mentransfer data bersamaan dengan adanya Strobe atau sinyal Handshaking. Port A dan Port B menggunakan semua bit dari port C.

Teknik Telekomunikasi Nir Kabel

148

MIKROPROSESOR 8085

SEMESTER 3

3. Mode 2 Mode 2 adalah mode operasi masukan dan keluaran secara dua arah (bidirectional input/output operation). Pada mode ini, port A sebagai bus data dua arah yang dikontrol oleh port C. Dalam mode ini hanya port A yang dapat digunakan, namun operasi yang dilakukan dapat dua arah ( biderectional ) dengan data yang berbeda untuk setiap operasi tulis atau operasi baca. Mode 1 dan 2 adalah mode operasi yang memerlukan sinyal kontrol input/output atau handshaking signal (sinyal jabat tangan) yaitu sinyal yang menyatakan kesiapan alat untuk dikenai proses baca atau tulis. Gambaran mode operasi pada PPI 8255 dapat dilihat dalam Gambar 3.Blok B Port B Blok A Port A

PPI 8255Port C

PB7-PB0

PC3-PC0

PC7-PC4

PA7-PA0

a). PPI 8255Port B Port C Port A

PB7-PB0

ontrol atau I/O

PPI 8255Port B Port C Port A

PB7-PB0

Gambar 3. Mode Operasi PPI 8255, a). mode 0, b), mode 1, c). mode 2.

Teknik Telekomunikasi Nir Kabel

I/O

ontrol

ontrol atau I/O

PA7-PA0

b).

PA7-PA0

c).

149

MIKROPROSESOR 8085

SEMESTER 3

Diantara ketiga mode operasi di atas, mode 0 adalah mode yang paling sering digunakan karena kemudahannya. Dengan mode 0, perangkat lunak tidak perlu membaca data port kontrol secara terus menerus untuk menentukan proses baca/tulis terhadap alat. Kapanpun kita ingin membaca atau menulis data pada port dapat langsung dilakukan saat itu juga Gambar dibawah ini memperlihatkan dua buah group kontrol port, yaitu group A dan group B.

Kontrol group A mengontrol mode transfer data (dari atau ke) 8 bit port A dan 4 bit dari port C upper. Sedangkan kontrol group B mengontrol mode transfer data (dari atau ke) 8 bit port B dan 4 bit dari port C lower. Kontrol data yang

Teknik Telekomunikasi Nir Kabel

150

MIKROPROSESOR 8085

SEMESTER 3

dituliskan dari kontrol register akan menentukan karakteristik pengoperasian PPI. Pada gambar tersebut terlihat D5-D7 digunakan untuk mengontrol grup B. D7 menentukan port C lower (PC0-PC3), logic1 diprogram untuk masukan sedangkan logic 0 diprogram sebagai keluaran. D6 menentukan port B (PB0PB7), logic1 diprogram untuk masukan sedangkan logic 0 diprogram sebagai keluaran. D5 digunakan untuk memilih mode port B yang diinginkan, yakni mode 0 atau mode 1. D1 sampai D4 digunakan untuk mengontrol grup A. D4 menentukan port C upper (PC4-PC7), logic 1 diprogram sebagai masukan dan logic 0 dipogram sebagai keluaran. D3 menentukan port A (PA0-PA7), logic1 diprogram untuk masukan sedangkan logic 0 diprogram sebagai keluaran. Sedangkan D1 dan D2 akan menentukan mode untuk group A; bila 00 berarti modus 0, bila 01 berarti modus 1, dan bila 1X berarti modus 2. Modus 0 dinamakan simple input/output. Bila diprogram sebagai keluaran, data yang ada di port keluaran akan ditahan, sedangkan bila diprogram sebagai port masukan, masukan ini tidak ditahan. Sedangkan D0 adalah modus set flag. D0 ini harus selalu berlogic 1 agar PPI dapat beroperasi. Contoh soal : Rancang suatu memory decoder dengan IC decoder untuk menghubungkan suatu prosesor yang memiliki 24 saluran alamat dengan unit memory yang ada : EPROM I 16 Kbyte EPROM II 16 Kbyte RAM I 16 Kbyte RAM II 16 Kbyte Input chip select dari semua IC memory adalah aktif Low .

Teknik Telekomunikasi Nir Kabel

151

MIKROPROSESOR 8085

SEMESTER 3

Jawab; Mencari input yang digunakan : FPB dari 64 dan 16 =>16 maka ada 4 kelompok sehingga jumlah bit yang digunakan 2 byte Maka input yang digunakan : A14 , A15 EPROM 16 Kb EPROM 16 Kb RAM 16 Kb RAM 16 Kb Kosong Dont care Input A15 0 0 1 1 A14 0 1 0 1 Cs0 0 1 1 1 Alamat : 10000 - FFFFF Tabel Kebenaran : Output Cs1 1 0 1 1 Alamat : 0C000 - 0FFFF Alamat : 08000 - 0BFFF Alamat : 04000 - 07FFF Memory Map Alamat : 00000 - 03FFF

Cs2 1 1 0 1

Cs3 1 1 1 0

Rangkaian Decoder :

EPROM I

EPROM II

RAM I

RAM II

A14MIKROPROSESOR

A15

Teknik Telekomunikasi Nir Kabel

152

MIKROPROSESOR 8085

SEMESTER 3

BAB 4

TRAINER MIDICOMUntuk melakukan percobaan percobaan mikroprosesor diperlukan suatu trainer mikroprosesor yang mudah dioperasikan dan fungsinya dapat dikembangkan sesuai dengan kemampuan pemrogram. Trainer yang digunakan yaitu trainer MIDICOM yang berbasis mikroprosesr INTEL 8085. Trainer MIDICOM dipilih karena alasan-alasan berikut :

# #

Struktur organisasinya mudah dipelajari Diagram blok untuk sistem mikroprosesor ini sesuai dengan tata letak komponen pada board

# #

Dirancang khusus untuk keperluan di pendidikan Trainer tersebut telah dilengkapi dengan fasilitas input /output, seperti monitor dan ASCII keyboard sehingga memudahkan proses belajar

#

Telah mempunyai fasilitas untuk interfacing dan assembler Penggunaan mikroprosesor INTEL 8085 pada trainer MIDICOM ini sangat

menguntungkan karena dengan memahami mikroprosesor tersebut akan mempermudah pemakai untuk mempelajari prosesor-prosesor generasi yang lebih baru seperti INTEL 8088, INTEL 80286 dan lain- lain Sebelum kita dapat menggunakan suatu sistem mikroprosesor, maka terlebih dahulu kita harus mengenal peta memori yang dipakai dalam sistem tersebut. Karena dengan mengetahui peta memori, kita dapat menempatkan program dan atau data pada alamat-alamat yang tersedia khusus untuk pemakai. Pada trainer MIDICOM peta memorinya disusun seperti gambar dibawah ini :

Teknik Telekomunikasi Nir Kabel

153

MIKROPROSESOR 8085

SEMESTER 3

Dari peta memori tersebut kita dapat mengetahui bahwa program monitor menempati daerah EPROM yang hanya bisa dibaca tetapi tidak bisa ditulis. Daerah RAM yang menempati alamat 6000h sampai dengan 67FFh dipergunakan sebagai memori kerja monitor dan selanjutnya mulai alamat 6800h sampai dengan

Teknik Telekomunikasi Nir Kabel

154

MIKROPROSESOR 8085

SEMESTER 3

6FFFh digunakan untuk daerah kerja BASIC. Untuk program dan data, pemrogram dapat memanfaatkan daerah RAM mulai dari alamat 7000h FFFFh. Dalam daerah tersebut dapat saja dimasukkan lebih dari satu program asal saja penempatannya tidak tumpang tindih. Dengan demikian, program yang akan dimasukkan data ditempatkan pada alamat-alamat antara 7000h dan FFFFh.

A.

Cara menghidupkan trainer MIDICOM Untuk menghidupkan trainer MIDICOM pertama - tama periksa apakah

kabel penghubung daya telah terpasang dengan benar. Kemudian ubah posisi saklar yang terletak di sudut kiri atas modul ke posisi ON. Pada saat saklar daya diubah ke posisi ON unit peraga akan menampilkan : Ln. 85 Keterangan : Ln = menunjukkan pabrik pembuatnya (Lucas Nulle) 85 = menunjukkan jenis prosesor yang dipergunakan (INTEL 8085) 3.2 = menunjukkan versi dari monitor program Namun, setiap kali tombol RESET ditekan maka unit peraga akan menampilkan pola yang sama. Pola tersebut akan selalu ditampilkan setiap kali prosesor memasuki program monitor yang artinya trainer siap menerima instruksi. 3.2

B.

Melihat dan mengganti isi register Untuk melihat data yang ada pada suatu register, maka pertama-tama

tekanlah tombol REG, kemudian tekanlah tombol-tombol huruf yang sesuai dengan nama register yang akan kita lihat. Untuk melihat isi register yang lainnya, tekanlah tombol + satu kali, maka unit peraga akan menampilkan data yang berada pada register berikutnya. Dan sebaliknya untuk fungsi tombol - . Sedangkan untuk mengganti isi suatu register, pertama-tama tekanlan tombol REG , kemudian register yang kita ingin ubah misalnya A, setelah itu tekanlah tombol - tombol angka yang sesuai dengan yang diinginkan misalnya 2A.

Teknik Telekomunikasi Nir Kabel

155

MIKROPROSESOR 8085

SEMESTER 3

C.

Melihat dan mengubah isi suatu lokasi memori (RAM) Untuk melihat data yang berada pada suatu lokasi memori baik itu pada

RAM maupun ROM, yaitu dengan menekan tombol MEM . Setelah itu, unit peraga akan menampilkan 4 digit, yang harus kita isi dengan alamat yanga akan kita tuju. Setelah diisi alamatnya, tekanlah tombol + untuk menampilkan data yang berada pada alamat tersebut. Sedangkan untuk mengubah data yang berada pada alamat memori sama seperti pada mengganti data pada register.

D.

Menyisipkan data ke dalam suatu blok memori Untuk menyisipkan data pada suatu blok memori tanpa harus mengubah

semua data yang akan disisipkan pada alamat-alamat tertentu. Dapat dilaksanakan dengan menekan tombol INS (insert), dilanjutkan dengan memasukkan alamat awal dari kode/data yang akan disisipkan (4 digit). Kemudian tekan tombol + dilanjutkan dengan memasukkan alamat terakhir dari blok memori yang akan disisipkan data baru. Setelah selesai tekanlah tombol EX. Contoh Masukkan data secara berurutan mulai dari 00h sampai dengan 05h ( datadata yang harus dimasukkan adalah 00h, 01h, 02h, 03h, 04h dan 05h ) pada blok memori mulai dari alamat 8000h sampai dengan alamat 8005h, catat hasilnya pada tabel berikut ini :

Register Data

A 9C

B 5F

C BE

D 9C

PC 800A

Teknik Telekomunikasi Nir Kabel

156

MIKROPROSESOR 8085

SEMESTER 3

Sisipkan tiga byte data baru ke dalam blok memori di atas (data yang harus disisipkan adalah 2Ah, 7Ch dan F2h) pada lokasi mulai alamat 8002h (yaitu alamat 8002h, 8003h dan 8004h). Tekan tombol berikut :

Keterangan : # # # 8002 adalah alamat awal tempat data baru akan disisipkan 8005 adalah alamat akhir dari blok memori sebelum data beru disisipkan 2Ah, 7Ch dan F2h adalah data-data baru yang akan disisipkan pada blok memori alamat 8000h sampai 8005h

E.

Menjalankan program Untuk menjalankan program tekanlah tombol GO, kemudian

masukan alamat awal dari program yang akan dieksekusi. Dan selanjutnya tekan tombol EX sebagai perintah dimulainya pelaksanaan proses eksekusi tersebut. Contoh Untuk melaksanakan program yan dimulai dengan alamat awal 7000h tombol, tombol yang harus ditekan adalah :

F.

Menggandakan (meng-copy) suatu blok memori Untuk menggandakan suatu blok memori yang berisikan data atau program

dapat dilakukan dengan menggunakan instruksi copy (CPY). Setelah kita mengetahui cara kerja dan fungsi yang terdapat pada trainer MIDICOM, kita dapat membuat program yang kita inginkan.

Teknik Telekomunikasi Nir Kabel

157