• Tidak ada hasil yang ditemukan

Operasi Blok Memori 1 Bayu

N/A
N/A
Protected

Academic year: 2021

Membagikan "Operasi Blok Memori 1 Bayu"

Copied!
27
0
0

Teks penuh

(1)

1 OPERASI BLOK MEMORI I

1. TUJUAN PRAKTIKUM

Setelah melakukan percobaan pada bab ini, mahasiswadiharapkan mampu :  Membuat program untuk mengosongkan atau menghapus data – data yang

berbeda dalam suatu blok memory.

 Membuat program untuk mengisi suatu blok memory dengan urutan data – data tertentu.

 Membuat program untuk mengubah urutan data – data dalam suatu blok memori.

2. DASAR TEORI

Dalam metoda pengolahan data, mengisi suatu blok memori dengan data 00h seringkali disebut sebagai proses mengosongkan suatu blok memori.

Istilah mengosongkan memori sebenarnya kurang sesuai, mengingat setiap lokasi memori terdiri dari sejumlah elemen penyimpan informasi yang biasanya disebut sebagai flip – flop. Setiap flip – flop dapat menyimpan data satu bit (bit 0 atau bit 1).

Jadi dengan demikian sebenarnya isi suatu memori tidak pernah kosong akan tetapi berisi data 00h (output seluruh flip – flop yang ada dalam lokasi memori tersebut adalah nol).

Untuk mengisi suatu blok memori dengan data – data heksadesimal yang berurutan biasanya digunakan program dengan loop. Data – data yang diisikan pada masing – masing lokasi memori umumnya berasal dari suatu register yang digunakan sebagai penghitung (counter). Register penghitung tersebut mula – mula diisi dengan suatu data awal yang nilainya merupakan nilai data pada alamat terkecil dari blok memori yang dipergunakan. Tentunya isi register penghitung tersebut akan dipindahkan pada lokasi memori pertama dalam blok memori. Kemudian isi rregister penghitung dinaikkan (ditambah dengan 1) dan diisikan pada lokasi memori berikutnya. Demikian selanjutnya langkah – langkah tersebut diulang sampai seluruh lokasi memori pada blok memori tersebut terisi penuh.

(2)

2 Dalam hal mengisi suatu blok memori dengan data – data heksadesimal berurutan caranya sama saja degan mengisi blok memori dengan data – data heksadesimal yang berurutan (telah dijelaskan pada alinea sebelumnya); hanya perlu diingat bahwa isi register penghitung harus selalu diubah menjadi nilai data BCD setelah nilainya dinaikkan.

Untuk membalik susunan atau urutan data – data yang berada dalam suatu blok memori, maka data yang terletak pada lokasi memori teratas (data yang berada pada alamat terkecil dalam blok memori) ditukarkan dengan data yang berada pada lokasi memori terbawah dalam blok memori tersebut. Kemudian data pada lokasi kedua ditukarkan dengan data yang berada pada lokasi kedua dari bawah blok memori. Demikianlah selanjutnya untuk data – data berikutnya dilakukan cara yang sama sampai susunan data pada blok memori menjadi kebalikan dari susunan semula. Untuk lebih jelasnya perhatikan Gambar 6.1.

( a ) ( b )

Gambar 1.( a) Susunan data sebelum program dieksekusi, ( b) Susunan data setelah program dieksekusi

3. PERALATAN YANG DIGUNAKAN 1. Seperangkat Komputer

(3)

3 4. LANGKAH PERCOBAAN

Pada bab ini terdapat empat buah percobaan , sebagai berikut.

4.1 Membuat dan menguji program untuk mengosongkan data – data pada suatu blok memori.

4.2 Membuat dan menguji program untuk mengisi suatu blok memori dengan data heksa decimal yang berurutan.

4.3 Membuat dan menguji program untuk mengisi suatu blok memori dengan data decimal yang berurutan.

4.4 Membuat dan menguji program untuk mengubah atau membalik urutan data – data dalam suatu blok memmori tertentu.

(4)

4 T

Y 4.1 Mengosongkan Suatu Blok Memori

4.1.1 membuat bagan alir dan program untuk mengosongkan (mengisi setiap lokasi memori dengandata 00h) suatu blok memori yang mempunyai alamat mulai D000h sampai D00Fh. Tulis program mulai alamt 7000h.

4.1.2 Bagan alir untuk langkah 4.1 adalah sebagai berikut :

Gambar 2. Bagan Alir untuk program 4.1

4.1.3 Program untuk langkah 4.1adalah sebagai berikut : Tabel 1

Alamat Op Code Mnemonik Keterangan

0000h ORG 7000h 7000h 01 00 D0 LXI B, D000h BC ← [D000] 7003h 16 10 MVI D, 10h D ← 10h 7005h 1E 00 MVI A, 00h A ← 00h START Inisilisasi BC ← [D000] Counter D ← 10h C ← C + 1 [D000] ← A D ← D – 1 STOP Z = 00? A ← 00h

(5)

5 7007h 02 STAX B BC ← A ; [D000] ← A 7008h 0C INR C C ← C + 1 7009h 15 DCR D D ← D – 1 700Ah C2 05 70 JNZ 7005h [7005] ← 1 700Dh 76 HLT

4.1.4 Sebelum program dijalankan, Mengisi blok memori yang akan digunakan dengan data 2F pada Alamat blok Memori D000 – D00F.

Tabel 2

Alamat Blok Memori Data

D000h 2F D001h 2F D002h 2F D003h 2F D004h 2F D005h 2F D006h 2F D007h 2F D008h 2F D009h 2F D00Ah 2F D00Bh 2F D00Ch 2F D00Dh 2F D00Eh 2F D00Fh 2F

4.1.5 Menjalankan (eksekusi) program, kemudian mencatat isi dari blok memori pada Tabel .

Tabel 3

Alamat Blok Memori Data

D000h 00 D001h 00 D002h 00 D003h 00 D004h 00 D005h 00 D006h 00

(6)

6 D007h 00 D008h 00 D009h 00 D00Ah 00 D00Bh 00 D00Ch 00 D00Dh 00 D00Eh 00 D00Fh 00

4.1.6 Jika program sudah benar, maka di setiap lokasi memori pada blok memori tersebut harus di beri data 00h. melanjutkan ke langkah berikutnya apabila program yang dibuat benar. Jika program yang di buat belum benar, memperbaiki program tersebut mulai dari bagan alirnya (mengulangi langkah 4.1.1 sampai dengan langkah 4.1.5).

4.1.7 Perubahan apa yang harus di lakukan terhadap program apabila jumlah lokasi memori pada blok memori tersebut menjadi tiga kali dari jumlah semula.

4.1.8 Data Hasil Percobaan 4.1 adalah sebagai berikut :

Dari program diatas setelah program di buat maka di peroleh hasil seperti gambar – gambar berikut ini :

(7)

7

Gambar 4. Program 4.1 setelah di buat pada assembler

Gambar 5. Breakpoints Manajer

(8)

8 Gambar 7. Simulator setelah dijalankan

( a )

( b )

(9)

9 Gambar 9. Data akhir pada alamat D000h

4.1.9 Analisa untuk program 4.1 adalah sebagai berikut :

Dari percobaan pada program A.1, dapat di ambil analisa sebagai berikut :  Pada program diatas register D di jadikan counter untuk menghitung data

mulai dari alamat D000h sampai alamat D00Fh (alamat di tunjukan pada register pasangan BC), dimana data pada register D akan berkurang satu bila pada register L bertambah satu datanya.

 Untuk mengubah data yang ada pada alamat D000h-D00Fh menjadi data 00h semua maka kita gunakan register A yang diisikan data 00h yang akan kita kirimkan ke alamat yang ditunjukan Register pasangan BC dengan intruksi STAX B.

 Proses pengubahan dan pengiriman data akan terus berlangsung sampai data pada counter (register D) bernilai 00.

 Untuk melihat kondisi counter (register B) sudah habis atau belum maka digunakan intruksi looping yang mengunakan JNZ.

4.1.10 Kesimpulan untuk program 4.1 adalah sebagai berikut :

Dari percobaan dan analisa diatas dapat diambil kesimpulan sebagai berikut :

 Program 4.1 adalah program Untuk mengosongkan data pada alamat D000h-D00Fh.

 Pada program diatas register A diisikan data 00 di jadikan sebagai data mengubah data pada alamat D000h-D00Fh menjadi 00h.

(10)

10 T

Y

4.2 Mengisi Blok Memori Dengan Data Heksadesimal

4.2.1 Membuat bagan alir dan program untuk mengisi blok memori alamat D100h sampai D10Fh dengan data heksadesimal berurutan mulai 00h sampai dengan 0Fh. Menulis program saudara mulai alamat 8000h.

4.1.11 Bagan alir untuk langkah 4.2 adalah sebagai berikut :

Gambar 10. Bagan Alir untuk program 4.2 START Inisilisasi BC ← [D000] Counter D ← 10h C ← C + 1 [D000] ← A D ← D – 1 STOP Z = 00? A ← 00h A ← A + 1

(11)

11 4.2.2 Program untuk langkah 4.2 adalah sebagai berikut

Tabel 4

Alamat Op Code Mnemonik Keterangan

0000h ORG 7000h 7000h 01 00 D0 LXI B, D000h BC ← [D000] 7003h 16 10 MVI D, 10h D ← 10h 7005h 1E 00 MVI A, 00h A ← 00h 7007h 02 STAX B BC ← A ; [D000] ← A 7008h IC INR A A ← A + 1 7009h 0C INR C C ← C + 1 700Ah 15 DCR D D ← D – 1 700Bh C2 05 70 JNZ 7005h [7005] ← 1 700Eh 76 HLT

4.2.3 Sebelum program dijalankan (eksekusi), mengisi blok memori yang akan digunakan dengan data 00 pada Alamt D100 – D10F dan kemudian isi perubahan data yang di dapat.

Tabel 5

Alamat Data Lama Alamat Data Baru

D100h 00 D100h 00 D101h 00 D101h 01 D102h 00 D102h 02 D103h 00 D103h 03 D104h 00 D104h 04 D105h 00 D105h 05 D106h 00 D106h 06 D107h 00 D107h 07 D108h 00 D108h 08 D109h 00 D109h 09 D10Ah 00 D10Ah 0A D10Bh 00 D10Bh 0B D10Ch 00 D10Ch 0C D10Dh 00 D10Dh 0D D10Eh 00 D10Eh 0E D10Fh 00 D10Fh 0F

(12)

12 4.2.4 Menjalankan program,kemudian mencatat data-data yang berada dalam

blok memori tersebut pada kolom Data Baru yang berada pada Tabel 5. 4.2.5 Data Hasil Percobaan 4.2 adalah sebagai berikut :

Gambar 11. Simulator sebelum dijalankan

Gambar 12. Program 4.2 setelah di buat pada assembler

(13)

13 Gambar 14. Data awal pada alamat D100h

Gambar 15. Simulator setelah di jalankan

(14)

14 ( b )

Gambar 16. (a) Data hasil simulasi Awal (b) Data hasil simulasi akhir

Gambar 17. Data akhir pada alamat D100h

4.2.6 Analisa untuk program 4.2 adalah sebagai berikut :

Dari percobaan pada program 421, dapat di ambil analisa sebagai berikut :  Analisa untuk program 4.2 sama dengan program 4.1 hanya saja pada

program 4.2 program yang di ubah untuk bilangan berturut-turut dari 00h-0Fh sehinnga Untuk mengubah data yang ada pada alamat D100h-D100h-0Fh menjadi data 00h-0Fh maka kita gunakan register A yang diisikan data 00h lalu kita gunakan Intruksi INR A biar data pada register A bertambah pada setiap program 1 kali mengulang (saat register B berkurang satu maka register A akan bertambah satu) setelah kita kirimkan ke alamat yang ditunjukan Register pasangan BC dengan intruksi STAX B.

(15)

15 4.1.12 Kesimpulan untuk program 4.1 adalah sebagai berikut :

Dari percobaan dan analisa diatas dapat diambil kesimpulan sebagai berikut :

 Program 4.1 adalah program Untuk mengurutkan data pada alamat D100h-D10Fh.

 Pada program diatas register A diisikan data 00 lalu data di tambahkan dengan satu di jadikan sebagai data mengubah data pada alamat D100h-D10Fh menjadi 00h-0Fh

(16)

16 T

Y

4.3 Mengisi Blok Memori Dengan Data Desimal

4.3.1 Membuat bagan alir dan program untuk mengisi blok memori alamat D200h sampai D20Fh dengan data-data desimal berurutan mulai 00 sampai dengan 15. Menulis program saudara mulai alamat 9000h.

4.1.13 Bagan alir untuk langkah 4.3 adalah sebagai berikut :

Gambar 18. Bagan Alir untuk program 4.2 START Inisilisasi BC ← [D200] Counter D ← 10h C ← C + 1 [D000] ← A D ← D – 1 STOP Z = 00? A ← 00h A ← A + 1 A ← A + 1

(17)

17 4.3.2 Program untuk langkah 4.3 adalah sebagai berikut.

Tabel 6

Alamat Op Code Mnemonik Keterangan

0000h ORG 9000h 9000h 01 00 D2 LXI B, D200h BC ← [D200] 9003h 16 10 MVI D, 10h D ← 10h 9005h 3E 00 MVI A, 00h A ← 00h 9007h 02 STAX B [D200] ← A 9008h 3C INR A A ← A + 1 9009h 27 DAA A ← [BCD] 900Ah 0C INR C C ← C + 1 900Bh 15 DCR D D ← D – 1 900Ch C2 07 90 JNZ 9007h [9007] ← 1 900Fh 76 HLT

4.3.3 Sebelum program dijalankan (eksekusi), mengisi blok memori yang akan digunakan dengan data-data seperti yang tercantum dalam kolom Data Lama tabel 7.

Tabel 7

Alamat Data Lama Alamat Data Baru

D200h 0 D200h 00 D201h 21 D201h 01 D202h 12 D202h 02 D203h 81 D203h 03 D204h 83 D204h 04 D205h 14 D205h 05 D206h 17 D206h 06 D207h 16 D207h 07 D208h 50 D208h 08 D209h 57 D209h 09 D20Ah 62 D20Ah 0A D20Bh 75 D20Bh 0B D20Ch 88 D20Ch 0C D20Dh 91 D20Dh 0D

(18)

18

D20Eh 97 D20Eh 0E

D20Fh 99 D20Fh 0F

4.3.4 Menjalankan (mengeksekusi) program, kemudian mencatat isi blok memori tersebut pada kolom Data Baru yang berada pada Tabel 7.

4.3.5 Data Hasil Percobaan 4.1 adalah sebagai berikut :

Dari program diatas setelah program di buat maka di peroleh hasil seperti gambar – gambar berikut ini :

Gambar 19. Program untuk 4.4 setelsh dituliskan pada simulator javA

(19)

19 Gambar 21. Data awal pada alamat D200h-D20Fh

Gambar 22.isi register setelah simulator dijalakan

Gambar 23. Data akhir pada alamat D200h-D20Fh 4.3.6 Analisa untuk program 4.2 adalah sebagai berikut :

Dari percobaan pada program 421, dapat di ambil analisa sebagai berikut :  Analisa untuk program 4.3 sama dengan program4.2 dan 4.1 hanya saja

pada program 4. program yang di ubah untuk bilangan berturut-turut dari 00h-15h sehinnga Untuk mengubah data yang ada pada alamat D200h-D20Fh menjadi data 00h-15h maka kita gunakan register A yang diisikan data 00h lalu kita gunakan Intruksi INR A biar data pada register A

(20)

20 bertambah pada setiap program 1 kali mengulang (saat register B berkurang satu maka register A akan bertambah satu) setelah itu data yangakan dikirimkan ke alamat yang ditunjukan Register pasangan BC (dengan intruksi STAX B) kita ubah dalam bentuk biner code decimal agar data berubah pada saat data 0Ah menjadi 10h.

4.3.7 Kesimpulan untuk program 4.1 adalah sebagai berikut :

Dari percobaan dan analisa diatas dapat diambil kesimpulan sebagai berikut :

 Program 4.1 adalah program Untuk mengurutkan data pada alamat D100h-D10Fh dari 00-15.

 Pada program diatas register A diisikan data 00 lalu data di tambahkan dengan satu di jadikan sebagai data mengubah data pada alamat D100h-D10Fh menjadi 00h-0Fh setelah itu di ubah ke dalam bentuk bilangan BCD agar data pada alamat tersebut berubah menjadi 00-15.

(21)

21 T

Y

4.4 Mengubah Urutan Data Dalam Suatu Blok Memori

4.4.1 Membuat bagan alir dan program untuk menbalik data-data yang berada D300h sampai D30Fh. Menulis program saudara mulai alamat 9500h. 4.1.14 Bagan alir untuk langkah 4.4 adalah sebagai berikut :

Gambar 24. Bagan Alir untuk program 4.4 START Inisilisasi HL ← [D300] BC ← [D30F] Counter D ← 10h [D300] ← A C ← M HL ← H + 1 STOP Z = 00? A ← [D300] M ← C A ← C E ← E – 1 B ← B – 1N

(22)

22 4.4.2 Program untuk langkah 4.3 adalah sebagai berikut.

Tabel 7

Alamat Op Code Mnemonik Keterangan

9500h 21 00D3 LXI H,D300h HL ← [D300] 9503h 11 OF D3 LXI D,D30Fh DE ← [D30F]

9506h 06 08 MVI B,08h B ← 08h

9508h 1A LDAX D A ← [D30F]

9509h 4E MOV C,M C ← M

950Ah 77 MOV M,A M ← A

9500Bh 79 MOV A,C A ← C 950Ch 12 STAX D [D30F] ← A 950Dh 23 INX H HL ← HL + 1 950Eh 1D DCR E E ← E – 1 950Fh 05 DCR B B ← B – 1 9510h C2 08 95 JNZ 9508h [9508] ← 1 9513h 76 HLT

4.4.4 Sebelum program dijalankan (eksekusi), mengisi blok memori yang akan digunakan dengan data-data seperti yang berada pada tabel 7 (kolom Data Lama).

Tabel 8

Alamat Data Lama Alamat Data Baru

D300h 00 D300h FF D301h 11 D301h EE D302h 22 D302h DD D303h 33 D303h CC D304h 44 D304h BB D305h 55 D305h AA D306h 66 D306h 99 D307h 77 D307h 88 D308h 88 D308h 77 D309h 99 D309h 66 D30Ah AA D30Ah 55 D30Bh BB D30Bh 44 D30Ch CC D30Ch 33 D30Dh DD D30Dh 22 D30Eh EE D30Eh 11 D30Fh FF D30Fh 00

(23)

23 4.4.5 Menjalankan (mengeksekusi) program, kemudian mencatat isi blok

memori tersebut pada kolom Data Baru yang berada pada Tabel 9.

4.4.6 Apakah program yang di tulis pada langkah 4.4 masih dapat dipergunakan untuk membalik urutan data dalam blok memori yang jumlah lokasi memorinya ganjil.? Jelaskan.

4.4.7 Data Hasil Percobaan 4.1 adalah sebagai berikut :

Dari program diatas setelah program di buat maka di peroleh hasil seperti gambar – gambar berikut ini :

Gambar 25.Simulator Sebelum Dijalankan

(24)

24 Gambar27 . Break Points Manajer

Gambar 28. Data awal pada alamat D300h-D30Fh

(25)

25 (a)

(b)

Gambar30 . (a)Data awal simulasi.(b) Data Akhir simulasi

(26)

26 4.4.8 Analisa untuk program 4.4 adalah sebagai berikut :

Dari percobaan pada program 4.4, dapat di ambil analisa sebagai berikut :  Pada program diatas register B di jadikan counter 08 data untuk

menghitung data mulai dari alamat D300h-D30Fh (alamat di tunjukan pada register pasangan HL) dan untuk membalikan data dari alamat D30Fh-D300h(alamat di tunjukan pada register pasangan DE), dimana data pada register E akan berkurang satu bila pada register L bertambah satu datanya.

 Untuk membalikan data pada alamat D300h ke D30Fh digunakan intruksi MOV, data pada memori D30Fh diisikan pada Register A (intruksi LDAX D), lalu register M (data pada alamat D30Fh) di pindahkan pada register C, register M dipindahkan pada ke register A (Data pada alamat D30Fh di pindah ke alamat D300h), setelah itu register C dipindahkan ke register A dan dikirimkan ke Alamat DE (Data pada alamat D300h di pindah ke alamat D30Fh). Proses ini akan terus berlangsung hingga data pada counter sudah 00.

 Counter yang digunakan hanya adalah 08 karena pada program diatas hanya terjadi delapan kali pengulangan karena pada setiap satu kali program data langsung di alamat D300h di pindahkan ke alamat D30Fh dan sebaliknya.

 Proses pengubahan dan pengiriman data akan terus berlangsung sampai data pada counter (register D) bernilai 00.

 Untuk melihat kondisi counter (register B) sudah habis atau belum maka digunakan intruksi looping yang mengunakan JNZ.

4.1.15 Kesimpulan untuk program 4.4 adalah sebagai berikut :

Dari percobaan dan analisa diatas dapat diambil kesimpulan sebagai berikut :

 Program 4.4 adalah program Untuk membalikan data pada alamat D300h-D30Fh ke alamat D30Fh-D300h.

(27)

27 5. DAFTAR PUSTAKA

 Data Hasil Praktikum

Gambar

Gambar 1.( a) Susunan data sebelum program dieksekusi,                ( b) Susunan data setelah program dieksekusi
Gambar 2. Bagan Alir untuk program 4.1
Gambar 3. Simulator sebelum simulasi di jalankan
Gambar 4. Program 4.1 setelah di buat pada assembler
+7

Referensi

Dokumen terkait

Periksa pengaturan Perangkat lunak printer untuk memastikan Anda telah memilih jenis kertas yang sesuai dan kualitas cetak dari daftar gulung Media.. Periksa perkiraan level

Dari hasil evaluasi tersebut dapat disimpulkan bahwa hypnoparenting efektif untuk mengurangi frekuensi enuresis pada anak ditandai dengan penurunan frekuensi

Tujuan penelitian ini adalah untuk mengetahui Pengaruh Celebrity Endoser (Agnes Monica) Terhadap Keputusan Pembelian Helm GM (Studi Kasus Pada Mahasiswa Fakultas

Pada metode Dalcroze, improvisasi memiliki peran penting untuk meningkatkan musikalitas siswa (Dopo, 2018). Improvisasi pada metode Dalcroze untuk menemukan solusi siswa

Suaka Alam Perairan Selat Pantar dan laut sekitarnya (SAP Selat Pantar) merupakan salah satu kawasan konservasi laut yang ditetapkan melalui Surat Keputusan Menteri Kelautan

Beberapa gejala yang dapat timbul berkaitan dengan hormon melatonin, antara lain, sukar tidur (insomnia), gangguan pada irama sirkadian, jet lag, serta berbagai gejala lain.

UKM sebagai badan usaha yang telah melakukan kegiatan atau usaha dan dimilik atau dijalankan oleh seseorang untuk mencapai tujuannya, juga dituntut untuk mencapai kinerja tinggi

Fakultas Ekonomi USU (FE-USU), yang berjudul : Persepsi Akademisi Akuntansi.. USU terhadap Adanya Akuntansi Forensik (Studi Mahasiswa/I