Operasi Blok Memori 2
Operasi Blok Memori 2
LAPORAN PRAKTIKUM
SISTEM EMBEDDED 1
Disusun oleh
NAMA MAHASISWA
NIM MAHASISWA
Praktikum ini sudah selesai dilaksanakan dan telah memperoleh data-data yang diperlukan untuk
memahami pokok bahasan yang dipelajari
Menyetujui,
Dalam penulisan program dengan bahasa rakitan (assembly) sering kali kita perlu
memindahkan data-data dari sesuatu blok memori ke blok memori yang lain. Misalkan
pada saat kita akan mengganti suatu blok data dengan data-data baru yang berasal dari
suatu blok memori lain. Pemindahan data dapat terjasi antara dua blok memori atau dapat
ulang terjadi dari suatu blok memori keperalatan lain seperti printer, video monitor, disk
drive, dan lain-lain.
Sasaran belajar
Setelah melakukan percobaan pada bab ini, anda diharapkan mampu.
Membuat program untuk memindahkan data-data 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 blok memori ;
Teori penunjang
Operasi blok memori merupakan operasi yang sering dilakukan untuk
memindahkan data atau untuk mengubah data dalam suatu blok memori. Dalam program
pemindahan data umumnya dipergunakan loop sehingga programnya tidak terlalu panjang.
Intruksi yang di pergunakan dalam program tersebut umumnya merupakan intruksi-intruksi
dari kelompok transfer data dan intruksi percabagan (lompat).
Pada Gambar 7.1 diperlihatkan dua buah blok memori, data-data yang berada
dalam blok memori I di pindahkan kedalam blok memori II. Dalam hal ini istilah yang
tepat sebenarnya bukanlah pemindahan data melainkan penggandaan data, karena data-data
yang berada dalam blok memori I tidak berubah. Pada akhir proses pemindahan data, isi
blok memori I akan sama dengan isi blok memori II.
Gambar 7.2 pertukaran data antara blok memori I dan blok memori II.
Gambar 7.2 memberikan ilustrasi proses pertukaran data antara blok memori I dan
blok memori II. Dalam proses pertukaran data tersebut data-data yang berbeda dalam blok
memori I akan dipindahkan ke dalam blok memori II . Dan sebaliknya data-data yang
berbeda dalam blok 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 berbeda pada kedua blok memori tersebut 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 ke tempat penyimpanan data sementara (dalam hal ini dapat di
pergunakan suatu register); kemudin data pertama dari blok memori II dipindahkan ke
blok memori I. Selanjutnya data yang tersimpan dalam tempat penyimpanan sementara di
pindahkan ke blok memori II. Berikutnya dilakukan proses yang sama untuk menukarkan
data-data lainnya sampai seluruh data yang ada kedua blok memori tersebut selesai di
tukarkan.
Blok Memori I Blok Memori II Blok Memori III
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 I
dipindahkan ke blok memori II; data-data yang berada pada blok memori II dipindahkan ke
blok memori III dan akhirnya data-data yang berada pada blok memori III dipindahkan ke
blok 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.
70....
70....
70....
70....
70....
70....
70....
70....
70....
70....
70....
A.4 pertama-tama sebelum program di jalankan, isilah ke dua blok memori yang akan
di gunakan dengan data-data seperti dalam table di bawah ini.
Tabel 7.2
D001 11 D101 22
D002 11 D102 22
D003 11 D103 22
D004 11 D104 22
D005 11 D105 22
D006 11 D106 22
D007 11 D107 22
D008 11 D108 22
D009 11 D109 22
D00A 11 D10A 22
D00B 11 D10B 22
D00C 11 D10C 22
D00D 11 D10D 22
D00E 11 D10E 22
D00F 11 D10F 22
Petunjuk :
Untuk mengisi data I pada blok memori I dapat dilaksanakan menu memori editor
A.5 Jalankan (eksekusi) program saudara, kemudian catat isi dari blok memori I dan II
pada table di bawah ini.
Table 7.3
D000 D100
D001 D101
D002 D102
D003 D103
D004 D104
D005 D105
D006 D106
D007 D107
D008 D108
D009 D109
D00A D10A
D00B D10B
D00C D10C
D00D D10D
D00E D10E
D00F D10F
A.6 Jika program saudara benar, maka setiap lokasi memori pada blok memori I akan
berisi data 11 dan setiap lokasi memori pada blok memori II akan berisi data 11.
Jika program yang saudara buat belum benar, perbaiki program saudara tersebut
mulai dari bagian alir nya (ulangi langkah A.1 sampai dengan A.5).
A.7 Bagaimana jika program pemindahan data diatas dibuat tanpa mengunakan loop?
Jelaskan.
Penjelasan
A.8 Perubahan apa yang harus saudara lakukan terhadap program saudara apabila
jumlah lokasi memori pa blok memori I dan II masing-masing menjadi tiga kali
jumlah semula.
B. Pertukaran data antara dua blok memori
B.1 Buat bagan alir dan program untuk menukarkan data-data yang berada pada blok
memori I dan II. Alamat blok memori I adalah D200h sampai dengan D20fh dan
alamat blok memori II adalah D300h sampai dengan D30fh. Tulis program saudara
mulai alamat 8000h.
B.2 bagan alir untuk langkah B1 adalah :
Bagan Alir
B.3 Program untuk langkah B.1 adalah sebagai berikut.
Table 7.4
D200 00 D300 FF
D201 00 D301 FF
D202 00 D302 FF
D203 00 D303 FF
D204 00 D304 FF
D205 00 D305 FF
D206 00 D306 FF
D207 00 D307 FF
D208 00 D308 FF
D209 00 D309 FF
D20A 00 D30A FF
D20B 00 D30B FF
D20C 00 D30C FF
D20D 00 D30D FF
D20E 00 D30E FF
D20F 00 D30F FF
B.5 Jalankan program saudara kemudian catat data-data yang berada dalam blok memori I
dan II pada tabel 7.6.
Blok Memori I Blok Memori II
Alamat Data Alamat Data
D000 D300
D001 D301
D002 D302
D003 D303
D004 D304
D005 D305
D006 D306
D007 D307
D008 D308
D009 D309
D00A D30A
D00B D30B
D00C D30C
D00D D30D
D00E D30E
D00F D30F
B.6 Bandingkan data-data yang berada pada Table 7.5 dan table 7.6, kemudian jelaskan
perubahan yang terjadi.
B.7 Eksekusi program saudara sekali lagi; kemudian jelaskan perubahan yang terjadi
data-data yang berada pada blok memori I dan blok memori II.
Penjelasan
90....
90....
90....
90....
90....
90....
90....
90....
90....
90....
C.4 Sebelum program di eksekusi, periksa data yang berada pada blok memori I, blok
memori II dan blok memori III. Kemudian catat hasilnya pada tabel berikut ini.
C.5 Eksekusi program saudara kemudian catat isi blok memori I ; blok memori II dan
blok memori III pada tabel 7.8.
Tabel 7.8
C.6 Eksekusi program saudara sekali lagi. Kemudian periksa isi blok memori i, blok
memori II dan blok memori III dan jelaskan apa yang terjadi.
Penjelasan
D. Analisa
E. Kesimpulan dan saran
Berdasarkan seluruh hasil percobaan pada bab 7 ini , tuliskan kesimpulan dan saran-saran
saudara.