Anda di halaman 1dari 19

Laporan Mikprosesor Program dengan Loop

Nama Partner Kelas

: Okky Oktavian (121331056) : Taufan Irawan (121331061) : 2B (D3-Telekomunikasi)

Tanggal Praktek : 03 Oktober 2013

PROGRAM STUDI D3 TEKNIK TELEKOMUNIKASI JURUSAN ELEKTRO POLITEKNIK NEGERI BANDUNG 2013

Program dengan Loop

1. Tujuan Untuk membiasakan pemakai dengan teknik-teknik merancang program


program loop.

Mengetahui dan memahami berbagai macam set instruksi loop

2. Teori Dasar
Mikroprosesor 8085 memiliki beberapa perintah dasar dan 78 Set Instrcutionsyang dapat digunakan untuk membuat suatu program. Dengan set instructions, kita juga dapat membuat program untuk transfer data,untuk membuat program transfer data, tetapi kita terlebih dahulu harus mengerti carakerja transfer data melalui diagram alir (flowchart). Diagram Alir merupakan sebuah diagram dengan simbol-simbol grafis yangmenyatakan aliran algoritma atau proses yang menampilkan langkah-langkah yang disimbolkan dalam bentuk kotak, beserta urutannya dengan menghubungkan masing-masing langkah tersebut menggunakan tanda panah. Diagram ini bisa memberi solusi selangkah demi selangkah untuk penyelesaian masalah yang ada di dalam proses atau algoritma tersebut. Dengan memahami diagram alir, kita dapat membuat program dengan mudah, kita coba memahami membuat Program dengan mengerjakan soal-soal latihan pada praktikum saat ini.

3. Alat yang digunakan


Midicom Mikroprosesor 8085 Monitor Set keyboard

4. Langkah Percobaan
a. Buat diagram alir dan program untuk menjumlahkan 16 data biner 8 bit tak bertanda yang tersimpan pada alamat A400 A40F. Simpan hasil penjumlahan pada register DE. Cara pertama : 1. Esc + A + 8100 + CR Alamat Mnemonics 8100 LXI D,00 8103 LXI HL,A400 8106 MOV A,E 8107 ADD M 8108 MOV E,A 8109 MOV A,D 810A ACI 00 810C MOV D,A 810D INR L

810E 810F 8111 8114 2. 3. 4. 5. 6.

MOV CPI JC RST

A,L 10 8106 1

Esc + F + A400 + CR + A40F + CR Esc + F + A400 + CR + A40F + CR + data (FF, 00, AA) + CR Esc + G + 8100 + CR Lihat hasil Ulangi langkah 3-5

Cara kedua : 1. Esc + A + 9100 + CR Alamat Mnemonics 9100 LXI D,00 9103 LXI H,A40F 9106 MOV A,E 9107 ADD M 9108 MOV E,A 9109 MOV A,D 910A ACI 00 910C MOV D,A 910D DCR L 910E JP 8106 9111 RST 1

2 3 4 5 6

Esc + F + A400 + A40F + CR Esc + F + A400 + A40F + CR + data (FF, 00, AA) + CR Esc + G + 9100 + CR Lihat hasil Ulangi langkah 3-5

b. Buat diagram alir dan program untuk mencari data terbesar dari 16 data biner 8 bit yang tersimpan di C700-C70F. Simpan data terbesar pada register H Cara pertama : 1. Esc + A + 8200 + CR Alamat Mnemonics 8200 LXI H,C70F 8203 MOV B,M 8204 DCR L 8205 MOV A,M 8206 CMP B

8207 820A 820B 820C 820F 8210 2. 3. 4. 5. 6.

JC MOV DCR JP MOV RST

820B B,M L 8205 H,B 1

Esc + M + C700 + CR Isi memori dengan data 4A;9C;F4;52;2A;37;92;FC;8C;99;74;6F;BB;CC;A1 Esc + G + 8200 + CR Esc + L + C700 + CR + C70F + CR Lihat hasil

Cara kedua : 1. Esc + A + 9200 + CR Alamat Mnemonics 9200 LXI H,C70F 9203 MOV B,M 9204 DCR L 9205 JM 9211 9208 MOV A,B 9209 CMP M 920A JNC 9204 920D MOV B,M 920E JMP 9204 9211 MOV H,B 9212 RST 1 2. 3. 4. 5. 6. Esc + M + C700 + CR Isi memori dengan data 4A;9C;F4;52;2A;37;92;FC;8C;99;74;6F;BB;CC;A1 Esc + G + 9200 + CR Esc + L + C700 + CR + C70F + CR Lihat hasil

c. Buat diagram alir dan program untuk mencari data terbesar dari 16 data biner 8 bit yang tersimpan di C700-C70F. Simpan data terkecil pada register H Cara : 1. Esc + A + 8200 + CR Alamat Mnemonics 8200 LXI H,C70F 8203 MOV B,M 8204 DCR L 8205 MOV A,M 8206 CMP B 8207 JNC 820B

820A 820B 820C 820F 8210 2. 3. 4. 5. 6.

MOV DCR JP MOV RST

B,M L 8205 H,B 1

Esc + M + C700 + CR Isi memori dengan data 4A;9C;F4;52;2A;37;92;FC;8C;99;74;6F;BB;CC;A1 Esc + G + 8200 + CR Esc + L + C700 + CR + C70F + CR Lihat hasil

d. Buat diagram alir dan program untuk mengisi suatu blok memori dengan alamat awal 8300 dengan data yang bernilai 00-0F secara berurutan dari atas ke bawah Cara : 1. Esc + A + 8300 + CR Alamat 8300 8303 8304 8305 8308 Mnemonics LXI H,B20F MOV M,L DCR DCR L JP 8303 RST 1

2. Esc + G + 8300 + CR 3. Esc + L + 8200 + CR + 820F + CR 4. Lihat hasil e. Buat diagram alir dan program untuk mengisi blok memori dengan alamat awal 8400 dengan data 00-0F secara berurutan dari bawah ke atas Cara : 1. Esc + A + 8400 + CR Alamat Mnemonics 8400 LXI H,B30F 8403 MVI A,0F 8405 SUB L 8406 MOV M,A 8407 DCR L 8408 JP 8403 840B RST 1 2. Esc + G + 8400 + CR 3. Esc + L + 8300 + CR + 830F + CR 4. Lihat hasil

f. Buat diagram alir dan program untuk mengisi suatu blok memori untuk alamat D000 D00F dengan data yang bernilai 00 0F kemudian diubah kedalam bentuk desimal (00 15) secara berurutan dari atas ke bawah. Cara : 1. Esc + A + D00F + CR Alamat Mnemonics 7100 LXI H,D00F 7103 MOV A,L 7104 ADI 00 7106 DAA 7107 MOV M,A 7108 DCR L 7109 JP 7103 710C RST 1 2. Esc + G + 7100 + CR 3. Esc + G + L + D000 + CR + D00F + CR 4. Lihat hasil g. Buat diagram alir dan program untuk mengisi suatu blok memori untuk alamat D000 D00F dengan data yang bernilai 00 0F kemudian diubah kedalam bentuk desimal (15 00) secara berurutan Cara : 1. Esc + + A + D00F + CR Alamat Mnemonics 7200 LXI H,D00F 7201 MVI A,0F 7203 DCR L 7204 ADI 0 7206 DAA 7207 MOV M,A 7208 DCR L 7209 JP 7201 720C RST 1 2. Esc + G + 7200 + CR 3. Esc + G + L + D000 + CR + D00F + CR 4. Lihat hasil h. Membuat program untuk mengisi suatu blok memori dengan alamat A200 A211 dengan data 0,0,0,1,1,1,2,2,2,3,3,3,4,4,4,5,5,5 secara berurutan.

Cara : 1. Esc + A + 8600 + CR Alamat Mnemonics 8600 LXI H,A211 8603 MVI B,05 8605 MVI C,03 8607 MOV M,B 8608 DCR L 8609 DCR C 860A JNZ 8607 860D DCR B 860E JP 8605 8611 RST 1 2. Esc + G + 8600 + CR 3. L + A200 + CR + A211 + CR 4. Lihat hasil

i. Membuat program untuk mengisi suatu blok memori dengan alamat A300 A314 dengan data 01,02,02,03,03,03,04,04,04,04,05,05,05,05,05 secara

berurutan. Cara : 1. Esc + A + 9600 + CR Alamat Mnemonics 9600 LXI H,A314 9603 MVI B,06 9605 MVI C,A 9606 MOV M,B 9607 DCR L 9608 DCR C 9609 JNZ 9606 960C DCR B 960D JP 9605 9610 RST 1 2. Esc + G + 9600 + CR 3. Esc + G + L + A300 + CR + A314 + CR 4. Lihat hasil

j. Membuat program untuk mengisi suatu blok memori dengan alamat AB00 AB14 dengan data 74,73,73,72,72,72,71,71,71,71,70,70,70,70,70,6F,6F,6F ,6F,6F,6F secara berurutan.

Cara : 1. Esc + A + 8700 + CR Alamat 8700 8703 8705 8707 8708 8709 870A 870B 870E 870F 8710 8713 Mnemonics LXI H,AB14 MVI B,6F MVI C,06 MOV D,C MOV M,B DCR C DCR D JNZ 8708 INR B DCR C JNZ 8707 RST 1

2. Esc + G + 8700 + CR 3. Esc + G + L + AB00 + CR + AB14 + CR 4. Lihat hasil

5. Hasil Percobaan
(a) cara pertama Program Alamat 8100 8103 8106 8107 8108 8109 810A 810C 810D 810E 810F 8111 8114

Mnemonics LXI D,00 LXI HL,A400 MOV A,E ADD M MOV E,A MOV A,D ACI 00 MOV D,A INR L MOV A,L CPI 10 JC 8106 RST 1

Flow chart

Hasil Data FF 00 AA 0AA0 Register DE 0FF0 0000

Cara kedua Flow chart

Program Alamat 9100 9103 9106 9107 9108 9109 910A 910C 910D 910E 9111 Mnemonics LXI D,00 LXI H,A40F MOV A,E ADD M MOV E,A MOV A,D ACI 00 MOV D,A DCR L JP 8106 RST 1

Hasil Data FF 00 AA Register DE 0FF0 0000 0AA0

(b) cara pertama Flow chart

Program Alamat 8200 8203 8204 8205 8206 8207 820A 820B 820C 820F 8210

Mnemonics LXI H,C70F MOV B,M DCR L MOV A,M CMP B JC 820B MOV B,M DCR L JP 8205 MOV H,B RST 1

Hasil

Cara kedua Flow chart

Program Alamat 9200 9203 9204 9205 9208 9209 920A 920D 920E 9211 9212

Mnemonics LXI H,C70F MOV B,M DCR L JM 9211 MOV A,B CMP M JNC 9204 MOV B,M JMP 9204 MOV H,B RST 1

Hasil

(c) Program Alamat 8200 8203 8204 8205 8206 8207 820A 820B 820C 820F 8210 Hasil

Mnemonics LXI H,C70F MOV B,M DCR L MOV A,M CMP B JNC 820B MOV B,M DCR L JP 8205 MOV H,B RST 1

(d) Flow chart

Program Alamat 8300 8303 8304 8305 8308 Mnemonics LXI H,B20F MOV M,L DCR DCR L JP 8303 RST 1

Hasil

(e) Flow chart

Program Alamat 8400 8403 8405 8406 8407 8408 840B

Mnemonics LXI H,B30F MVI A,0F SUB L MOV M,A DCR L JP 8403 RST 1

Hasil

(f) Flow chart

Program Alamat 7100 7103 7104 7106 7107 7108 7109 710C Hasil

Mnemonics LXI H,D00F MOV A,L ADI 00 DAA MOV M,A DCR L JP 7103 RST 1

(g) Program Alamat 7200 7201 7203 7204 7206 7207 7208 7209 720C Flow chart

Mnemonics LXI H,D00F MVI A,0F DCR L ADI 0 DAA MOV M,A DCR L JP 7201 RST 1

Hasil

(h) Program Alamat 8600 8603 8605 Mnemonics LXI H,A211 MVI B,05 MVI C,03

8607 8608 8609 860A 860D 860E 8611

MOV DCR DCR JNZ DCR JP RST

M,B L C 8607 B 8605 1

Flow chart

Hasil

(i) Program Alamat 9600 Mnemonics LXI H,A314

9603 9605 9606 9607 9608 9609 960C 960D 9610

MVI MVI MOV DCR DCR JNZ DCR JP RST

B,06 C,A M,B L C 9606 B 9605 1

Flow chart

Hasil

(j) Program Alamat 8700 8703 8705 8707 Mnemonics LXI H,AB14 MVI B,6F MVI C,06 MOV D,C

8708 8709 870A 870B 870E 870F 8710 8713

MOV DCR DCR JNZ INR DCR JNZ RST

M,B C D 8708 B C 8707 1

Flow chart

Hasil

6. Kesimpulan
Bahwa apabila kita mempergunakan program loop, kita dapat mengulangi langkah-langkah yang diperlukan dalam menyelesaikan suatu tugas sebanyak mungkin sampai tugas yang bersangkutan selesai dilaksanakan.

Anda mungkin juga menyukai