Anda di halaman 1dari 20

OPERASI BLOK MEMORI II 1.

Tujuan Praktikum
Dalam penulisan program dengan bahasa rakitan (assembly) sering kali kita perlu memindahkan data data dari suatu blok memori ke blok memori yang lain . misalkan pada saat kita mengganti suatu blok data dengan data data baru yang berasal dari suatu blok memori lain. Pemindahan data dapat terjadi antara dua blok memori atau dapat pula terjadi dari suatu blok memori keperalatan lain seperti printer, video monitor, disk drive dan lain. Setelah melakukan percobaan pada bab ini, anda diharapkan mampu : Membuat program untuk memindahkan data-data dari dari suatu blok memori ke dalam blok memori lain ; Membuat program untuk menukarkan data-data antara dua blok memori; Membuat program untuk menukarkan data-data antara tiga blo memori

2. Landasan Teori
Operasi blok memori merupakan operasi yang sering dilakukan untuk memindahkan data atau untuk mengubah data dalam suatu blok memori. Dalam program pemindahan data umunya dipergunakan loop sehingga programnya tidak terlalu panjang . instuksi yang dipergunakan tidak terlalu panjang. Instruksi yang dipergunakan dalam dalam program tersebut umumnya merupakan instruksi dari kelompok transfer data dan instruksi percabangan (lompat).

Blok Memori I

Blok Memori II

Gambar 1. Pemindahan Data Dari Blok Memori I ke Blok Memori II

Pada gambar1. diperlihatkan dua buah blok memori. Data- data yang berada dalam blok memori dipindahkan ke blok memori II. Dalam hal ini istilah yang tepat sebenarnya bukan lah pemindahan data melainkan penggandaan data, karena datadata yang berada dalam blok memori 1 tidak berubah. Pada akhir proses pemindahan data, isi blok memori I akan sama dengan dengan isi blok memori II.

Blok memori I

Blok memori II

Gambar 2. Pertukaran Data Antara Blok Memori I dan Blok Memori II Gambr 2. menberikan ilustrasi proses pertukaran data antara blok memori I dan blok memori II. Dalam proses pertukaran data tersebut data-data yang berada dalam blok memori I akan dipindahkan ke blok memori II. Dan sebaliknya data-data yang berada dalam bok memori II akan dipindahkan ke blok memori I. proses pemindahan data dari blok memori I ke blok memori II dan sebaliknya tidak dapat dilakukan secara langsung. Tetapi harus melalui suatu tempat penyimpanan data sementara. Hal ini dimaksudkan agar data-data yang berada pada kedua blok tersebut tidak menjadi rusak atau hilang. Salah satu cara yang dapat dipergunakan untuk menukarkan data-data antara blok memori I dan blok memori II adalah pertama-tama memindahkan data pertama (paling atas) dari blok memori I ketempat penyimpanan data sementara (dalam hal ini dapat digunakan satu register); kemudian data pertama dari blok memori II dipindahkan keblok memori I. selanjutnya data yang tersimpan dalam tmpat penyimpanan sementara sipindahkan ke blok memori II. Berikutnya dilakukan proses yang sama untuk menukarkan data-data lainnya sampai seluruh data yang ada ke dua blok memori tersebut selesai ditukar.

Blok memori I

Blok memori II

Blok memori III

Gambar 3. pemindahan data antara tiga blok memori Proses pemindahan data antara tiga blok memori ditunjukkan pada gambar 7.3. pada akhir proses pemindahan data, data-data yang semula berada pada blok memori II, data-data yang berada pada blok memori II dipindahkan ke blok memori III dan akhirnya data-data data-data yang berada pada blok memori II dipindahkan keblok memori I. seperti halnya pada proses pertukaran data antara dua blok memori. Pada proses pemindahan data antara 3 memori juga diperlukan tempat penyimpanan sementara agar data-data yang berada dalam ketiga blok memori tersebut tidak rusak atau hilang

3. Peralatan Praktikum
Komputer
Software aplikasi simulator 8085

4. Langkah Kerja
Pada Bab Ini Terdapat Tiga Buah Percobaan, Sebagai Berikut : a. Membuat dan menguji program untuk memindahkan data dari suatu blok memori ke blok memori yang lain b. Membuat dan menguji program untuk menukarkan data-data antara dua blok memori.

c. Membuat dan menguji program untuk memindahkan data-data antara tiga blok memori.

A. Pemindahan Data Antara Dua Blok Memori a. Buatlah bagan alir dan program untuk memindahkan data-data yang berada dalam blok memori I ke blok memiri II. Alamat blok memori I adalah D000h sampai D00Fh dan alamat blok mememori II adalah Di00h sampai D10Fh. Tulis program saudara mulai alamat 7000h. b. Sebelum program dijalankan isilah kedua blok memori yang akan digunakan dengan data-data seperti pada table 2. c. Jalankan (eksekusi) program anda. Kemudian catat hasil dari blok memori I dan blok memori II pada table 3. d. Lanjutkan kelangkah berikutnya apabila program saudara buat benar. Jika program yang saudara bekum benar, perbaiki program saudara tersebut mulai dari bagan alirnya.

B. Pertukaran Data Antara Dua Blok Memori a. Buatlah bagan alir dan program untuk menukarkan data-data yang berada pada blok memori I dan II. Alamat blok memori I adalah D300h sampai dengan D20Fh dan alamat blok memori II adalah D300h sampai dengan D30Fh. Tulis program saudara mulai alamat 8000h. b. Sebelum program dijalankan isilah kedua blok memori yang akan digunakan dengan data-data seperti pada table 5. e. Jalankan (eksekusi) program anda. Kemudian catat hasil dari blok memori I dan blok memori II pada table 6. f. Eksekusi program saudara sekali lagi, kemudian jelaskan perubahan yang terjadi dengan data-data yang berada pasa blok memori I dan blok memori II.

5. Hasil Praktikum
A. Pemindahan Data Antara Dua Blok Memori 1. Program pemindahan data antara dua blok memori ORG 7000H MVI D,16 LXI H,0D000H LXI B,0D100H ULANG : MOV A,M STAX B INX H INXB DCR D JNZ HLT END ULANG

2. Flowchart Program Pemindahan Data Antara Dua Blok Memori

START
HL = 0D00H BC = D100H D = 16

A = (HL) (BC) = A

HL = HL+1 BC = BC+1 D = D-1

D=0?

Tdk Y STOP Gambar 4. Flowchart pemindahan data antara dua blok memori

3. Table Hasil Running Program pemindahan data antara dua blok memori

Tabel 1. Hasil running Program pemindahan data antara dua blok memori Alamat Kode operasi Label Mnemonik ORG 7000H 7000 7002 7005 7008 7009 700A 700B 700C 700D 7010 7011 16 10 21 00 D0 01 00 DI 7E 02 23 03 15 C2 08 70 76 ULANG MVI D,16 LXI H,0D000H LXI B, 0D100H MOV A,M STAX B INX H INX B DCR D JNZ ULANG HLT END

Table 2. Data Pada Blok Memori Sebelum Program Dijalankan Blok Memori I Alamat D000 D001 D002 D003 D004 D005 D006 D007 Data 11 11 11 11 11 11 11 11 Blok Memori II Alamat D100 D101 D102 D103 D104 D105 D106 D107 Data 22 22 22 22 22 22 22 22

D008 D009 D00A D00B D00C D00D D00E D00F

11 11 11 11 11 11 11 11

D108 D109 D10A D10B D10C D10D D10E D10F

22 22 22 22 22 22 22 22

Table 3. Data Pada Blok Memori Sesudah Dijalankan Blok Memori I Alamat D000 D001 D002 D003 D004 D005 D006 D007 D008 D009 D00A D00B D00C D00D D00E D00F Data 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 Alamat D100 D101 D102 D103 D104 D105 D106 D107 D108 D109 D10A D10B D10C D10D D10E D10F Blok Memori II Data 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11

B. Pertukaran Data Antara Dua Blok Memori


1. Program Pertukaran Data Antara Dua Blok Memori
ORG 8000H MVI C,16H LXI H,0D200H LXI D,0D300H ULANG : MOV B,M LDAX D MOV M,A MOV A,B STAX D INX H DCR C JNZ ULANG HLT END

2. Flowchart pertukaran data antara dua blok memori

START

HL = D200H DE = D300H C = 16

A = (D200)(HL) B = (D300)(DC) (HL)(D200)=B (DE) (D300)= A C = C-1

HL = HL+1 DE = DE+1 C = C-1

C =0? Y END

Tdk

Gambar 5. . Flowchart pertukaran data antara dua blok memori

Tabel 4. Hasil running pertukaran data antara dua blok memori Alamat 0000 8000 8002 8005 8008 8009 800A 800B 800C 800D 800E 800F 8012 8013 0E 16 21 00 02 11 00 D3 46 1A 77 28 12 23 0D C2 08 80 76 ULANG Kode operasi Label Mnemonik ORG 8000H MVI C,16H LXI H,0D200H LXI D,0D200H MOV B,M LDAX D MOV M,A MOV A,B STAX D INX H DCR C JNZ ULANG HLT END

Table 4. Data Pada Blok Memori Sebelum Program Dijalankan Blok Memori I Alamat D200 D201 D202 D203 D204 D205 D206 D207 D208 Data 00 00 00 00 00 00 00 00 00 Blok Memori II Alamat D300 D301 D302 D303 D304 D305 D306 D307 D308 Data FF FF FF FF FF FF FF FF FF

D209 D20A D20B D20C D20D D20E D20F

00 00 00 00 00 00 00

D309 D30A D30B D30C D30D D30E D30F

FF FF FF FF FF FF FF

Table 5. Data Pada Blok Memori Sesudah Program Dijalankan Blok Memori I Alamat D200 D201 D202 D203 D204 D205 D206 D207 D208 D209 D20A D20B D20C D20D D20E D20F Data FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF Blok Memori II Alamat D300 D301 D302 D303 D304 D305 D306 D307 D308 D309 D30A D30B D30C D30D D30E D30F Data 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

6. Pembahasan
Pada program pertama dapat dilihat bahwa program ini digunakan untuk memindahkan data dari blok memori I keblok memori II. Program ini memulai eksekusinya pada alamat 7000h dan memindahkan data pada alamat D000h D000Fh ke alamat D100h D100Fh. Prinsip kerja program ini adalah pertama-tama program ini menenentukan alamat awal sebuah blok memori, kemudian mengambil data pada lokasi memori blok I dan dipindahkan kelokasi memori blok II, selanjutnya penambahan (inkremen) alamat lokasi memori dan pengurangan (decrement) pada konter, selanjutnya terjadi pemeriksaan konter apabila konter mendapatkan nilai nol (0) maka program akan menyelesaikan program ini, bila belum nol program akan menulang ke lebel pengulangan yang dibuat. Apabila telah memenuhi persyaratan program akan berhenti dan selesai (END). Pada program ke dua, program ini digunakan untuk menukarkan data antara dua blok memori. Program ini memulai eksekusinya pada alamat 8000h dan akan

menukarkan isi memori pada blok I ke blok memori II disini dapat dilihat bahwa isi blok memori sebelum dijalankan pada alamat D200h D20Fh dengan nilai (00) dan isi pada blok memori II pada alamat D300h-D30Fh adalah (FF), setelah program ini dijalankan maka nilai pada blok memori I merupakan nilai pada blok memori II dan nilai pada blok memori II meerupakan nilai dari blok memori I yang sudah dipertukarkan. Prinsip kerja pada program ke dua ini adalah program ini akan menukarkan antara dua isi blok memori I dan blok memori II, pertama-tama program ini menentukan alamat awal blok memori, kemudian mengambil data pada blok memori I dan blok memori II selanjutnya kedua data tersebut dipertukarkan selanjutnya penambahan alamat lokasi memori dan pengurangan pada konter, selanjutnya terjadi pemeriksaan konter apabila konter mendapatkan nilai nol (0) maka program akan menyelesaikan program ini, bila belum nol program akan menulang ke lebel pengulangan yang dibuat. Apabila telah memenuhi persyaratan program akan berhenti.

7. Kesimpulan
Dari hasil praktikum dapat disimpulkan bahwa pada program pertama adalah program untuk memindahkan data pada blok memori I ke blok memori II. Dan program ini memulai eksekusi pada alamat 7000h, dan memindahkan data pada alamat D000h D00Fh ke alamat D100h D10Fh. Pada program kedua program ini digunakan untuk menukarkan nilai antara blok memori I dan blok memori II dan memulai eksekusi pada alamat 8000h dan akan menukarkan D30Fh data pada alamat D200h-D20Fh dengan data pada alamat D300h-

8. Daftar Pustaka
1. Belajar Mikroprosesor - Mikrokontroler Melalui Komputer PC, oleh : Arianto Widyatmo, Haryono Eduard,Fendy, 1994, Elex Media Komputindo

2. Lucas-Nulle, Midicom Microprocomputer Training system CCM19,SYBATRONIK 3. Panduan Praktis : Teknik Antarmuka & PemrogramanMikrokontroler AT89C51, oleh : Paulus Andi Nalwan, 2003, Elex Media Komputindo

LAPORAN PRAKTIKUM LABORATORIUM MIKROPROSESOR


OPERASI BLOK MEMORI II

Praktikan Nama Nim : Zulkarnaini : 090413046

Kelas

: L3

PROGRAM STUDI INSTRUMENTASI DAN OTOMASI INDUSTRY

JURUSAN TEKNIK ELEKTRO POLITEKNIK NEGERI LHOKSEUMAWE 2011 LEMBAR PERNILAIAN PRAKTIKUM

Judul Praktikum Nama Praktikan Nim Anggota Kelompok

: Operasi Blok Memori II : Zulkarnaini : 090413046 : 1. Albanna 2. Rahmat Ismardi 3. Zulkarnaini

Tanggal Praktikum Tanggal Penyerahan

: 12 November 2011 : 19 November 2011

Nilai

Buketrata, 19 November 2011 Dosen Pembimbing

Aidi Finawan, SST, M. Eng Nip. 197406192000121003

DAFTAR ISI
Lembar Penilaian Praktikum 1. Tujuan Praktikum 2. Landasan Teori. 3. Peralatan Praktikum. 4. Langkah kerja. 5. Hasil Praktikum.. 6. Pembahasan 7. Kesimpulan Daftar Pustaka 1 1 3 3 5 13 14

Anda mungkin juga menyukai