Anda di halaman 1dari 16

LAPORAN HASIL PRAKTIKUM MIKROPROSESOR

“Judul Percobaan : Pemindahan Data”

Disusun Oleh :

Nama : Ira Palupi


NIM : 022000021
Tgl. Praktikum : 19 Mei 2022
Dosen Pengampu : Halim Hamadi, M. Sc
Kelompok :4
Teman kerja : 1. Ibnu Fathan Rastri NIM. 022000019
2. Ibnu Idqan NIM. 022000020
3. Izatul Fadhila NIM. 022000022

PROGRAM STUDI ELEKTRONIKA INSTRUMENTASI


POLITEKNIK TEKNOLOGI NUKLIR INDONESIA
BADAN RISET DAN INOVASI NASIONAL
2022
LAPORAN HASIL PRAKTIKUM MIKROPROSESOR

BAB I
PENDAHULUAN

I.1. Judul Percobaan


Praktikum ini terdapat 4 (empat) jenis percobaan, di antaranya:
a. Percobaan 1 : Pemindahan Data dalam Instruksi LD 8 Bit.
b. Percobaan 2 : Pemindahan Data dalam Instruksi LD 16 Bit.
c. Percobaan 3 : Program Untuk Menghapus Isi Alamat Memori 1850H sampai
186FH
d. Percobaan 4 : Program untuk Mengeset Alamat Tertentu dari Memori 1840H
sampai 184FH

I.2. Tujuan
Adapun tujuan dari praktikum ini, yaitu :
a. Mahasiswa terbiasa dengan fungsi instruksi pemindahan data.
b. Melatih mahasiswa dalam mengeset nilai inisialisasi data.
c. Melatih mahasiswa dalam menuliskan program.
BAB II
DASAR TEORI

Umumnya, operasi pemindahan data diperoleh dengan menggunakan instruksi LD


(load). Dimana data dapat dipindahkan dalam unit-unit 8 bit atau 16 bit. Instruksi- instruksi
seperti EX, EXX, PUSH, dan POP juga dapat digunakan untuk memindahkan data 16 bit.
Sedangkan instruksi LDI dan LDIR dapat digunakan untuk memindahkan blok-blok data.
Suatu instruksi LD mencakup 2 operand. Operand pertama menunjukkan lokasi
dimana data akan disimpan (di bagian memori atau register). Operand ini disebut ‘tujuan’.
Operand kedua menunjukkan lokasi asal data yang dipindahkan dan disebut ‘sumber’.
Misalnya LD A, B menunjukkan bahwa data pada register B akan dipindahkan (copy) ke
register A. Register A disebut tujuan dan register B disebut sumber.
Kemungkinan arah perpindahan data :
a. Register ke register, misal LD A, B ; LD HL, BC
b. Memori ke register, misal LD A, (HL) ; POP AF
c. Data ke register, misal LD A, 25H ; LD HL, 125AH
d. Register ke memori, misal LD (HL), A ; PUSH BC
e. Memori ke memori, misal LDD ; LDIR
f. Data ke memori, misal LD (HL), 5BH
BAB III
METODOLOGI PERCOBAAN

III.1. Alat dan Bahan


Alat atau perangkat yang digunakan pada praktikum mikroprosesor, dengan
judul “Pemindahan Data” diantaranya:
a. PC/Laptop
b. Software Simulasi Z80 (simulator)
c. Kit uPF-1 (Mikroprosesor)
d. Petunjuk praktikum

III.2. Langkah Kerja


III.2.1. Percobaan 1 : Pemindahan Data dalam Instruksi LD 8 Bit
a. Program ditulis dalam bahasa rakitan untuk mengeset isi register-register
sebagai berikut :
A=0 D=3 L=6
B=1 E=4
C=2 H=5
Instruksi LD 8 bit digunakan untuk memindahkan satu byte data setiap kali.
b. Pada step 1, program dalam Bahasa rakitan ditulis menggunakan kolom-kolom
(alamat memori, Bahasa mesin, Bahasa rakitan, dan keterangan). Instruksi
terakhir RST 38H akan mengembalikan kontrol uPF-1 pada program monitor
setelah menjalankan seluruh program.
c. Dengan menggunakan tabel instruksi LD 8 bit, program diterjemahkan dalam
Bahasa mesih dengan 1800H sebagai alamat awal. Selanjutnya, alamat ditulis
berdasarkan tiap-tiap instruksi.
d. Kit uPF-1 disiapkan, dan program dimasukkan dengan menekan tombol-
tombol pada papan kunci. Setelah itu, program yang tersimpan di dalam
memori diperiksa. Dimana program counter (PC) diatur pada alamat awal
1800H, kemudian program dijalankan.
e. Terakhir, tombol REG ditekan dan isi tiap-tiap register diperiksa. Jika ada
kesalahan, maka kembali pada step 1 dan diperiksa ulang.
III.2.2. Percobaan 2 : Pemindahan Data dalam Instruksi LD 16 Bit
a. Program ditulis dalam bahasa rakitan untuk mengeset isi register-register
sebagai berikut :
B = 12 E = 78
C = 34 H = 09
D = 56 L = 0A
Instruksi LD 16 bit digunakan untuk memindahkan satu byte data setiap kali.
b. Pada step 1, program ditulis dalam Bahasa rakitan menggunakan kolom-kolom
seperti percobaan 1.
c. Dengan menggunakan tabel instruksi LD 16 bit, program diterjemahkan dalam
Bahasa mesin dengan alamat awal 1820H. kemudian, alamat ditulis
berdasarkan tiap-tiap instruksi.
d. Program dimasukkan dengan menekan tombol-tombol pada papan kunci.
Lalu,program yang tersimpan di dalam memori diperiksa. Dimana program
counter (PC) diset pada awal alamat 1820H, kemudian program dijalankan.
e. Terakhir, tombol REG ditekan dan isi tiap-tiap register diperiksa. Jika ada
kesalahan, maka kembali ke step 1 dan diperiksa ulang.
Catatan :
Sebagai catatan, suatu data 16 bit terdiri dari 2 byte data. Byte berorde tinggi
berada pada alamat memori yang lebih tinggi, sedangkan byte berorde rendah
berada pada alamat memori yang lebih rendah. Misalkan, data 16 bit 1234H
disimpan pada alamat 1820 – 1821H dengan cara sebagai berikut :
III.2.3. Percobaan 3 : Program untuk Menghapus Isi Alamat Memori 1850H
sampai 186FH

Gambar 1. Program untuk Menghapus Isi Memori Alamat 1850H sampai 186FH
a. Program di atas diterjemahkan ke dalam bahasa mesin, dengan mengisi ke
RAM uPF-1.
b. Selanjutnya, program dijalankan dan isi alamat memori 1850H sampai 186F
diperiksa, apakah telah terhapus ( = 0). Jika masih ada kesalahan, maka
dilakukan pemeriksaan ulang, dan dijalankan kembali.
Catatan :
Jika digunakan instruksi LD 8 bit untuk memindahkan setiap data ke tujuan
masing-masing akan diperlukan 32 (20H) kali pelaksanaan pemindahan data. Ini
akan lebih mudah jika digunakan metode loop pada program. Sebaiknya
menggunakan register B sebagai penghitung loop. Atur register B sama dengan
20H sebelum pelaksanaan program loop. Gunakan HL sebagai penunjuk alamat
memori dan atur alamat awal 1850H pada HL. Dimana HL ditambahkan dengan 1
(increment) untuk setiap loop. Jika B = 0, artinya semua loop telah dilaksanakan,
jika B ≠ 0 maka loop diulangi.

III.2.4. Percobaan 4 : Program untuk Mengeset Alamat Tertentu dari


Memori 1840H sampai 184FH
a. Program ditulis dalam bahasa rakitan untuk mengeset alamat memori 1840H
sampai 184F, sebagai berikut : 0. 1. 2. 3. , . . . . . , F.
b. Selanjutnya pengitung loop dan nilai alamat awal diubah. Dimana register A
ditambahkan dengan 1 pada loop berikutnya
BAB IV
ANALISIS DATA DAN PEMBAHASAN

IV.1. Analisis Data


IV.1.1. Data Percobaan 1 : Pemindahan Data dalam Instruksi LD 8 Bit

Alamat Memori Bahasa Mesin Bahasa Rakitan Keterangan


1800H 3E 00 LD A, 00 Isi Reg A dengan data 00H
1802H 06 01 LD B, 01 Isi Reg B dengan data 01H
1804H 0E 02 LD C, 02 Isi Reg C dengan data 02H
1806H 16 03 LD D, 03 Isi Reg D dengan data 03H
1808H 1E 04 LD E, 04 Isi Reg E dengan data 04H
180AH 26 05 LD H, 05 Isi Reg H dengan data 05H
180CH 2E 06 LD L, 06 Isi Reg L dengan data 06H
180EH FF RST 38H Kembali ke program monitor

Reg A B C D E H L
Data 00 01 02 03 04 05 06
Tabel 1. Data Percobaan Pemindahan Data dalam Instruksi LD 8 Bit

IV.1.2. Data Percobaan 2 : Pemindahan Data dalam Instruksi LD 16 Bit

Alamat Memori Bahasa Mesin Bahasa Rakitan Keterangan


1820H 01 34 12 LD BC, 1234H Isi Reg BC dengan data 1234H
1823H 11 78 56 LD DE, 5678H Isi Reg B dengan data 5678H
1826H 21 0A 09 LD HL, 090AH Isi Reg C dengan data 090AH
1829H FF RST 38H Kembali ke program monitor

Reg B C D E H L
Data 12 34 56 78 09 0A
Tabel 2. Data Percobaan Pemindahan Data dalam Instruksi LD 16 Bit
IV.1.3. Data Percobaan 3 : Program untuk Menghapus Isi Alamat Memori
1850H sampai 186FH
Alamat Bahasa Label Bahasa Rakitan Keterangan
Memori Mesin
1800H 06 20 LD B, 20H Data 20H sebagai penghitung loop
1802H 21 50 18 LD HL, 1850H Set HL sbg alamat awal memori yang diisi 0
1805H AF XOR A Set re A = 0
1806H 77 Loop LD (HL), A Isikan 0 pada alamat memori yang ditunjuk HL
1807H 23 INC HL Tambah HL dengan 1
1808H 05 DEC B Kurangi B dengan 1
1809H 20 FB JR NZ, Loop Jika isi reg B belum = 0 kembali ke loop
180BH FF RST 38H Kembali ke program monitor

Tabel 3. Data Percobaan Program untuk Menghapus Isi Alamat Memori 1850H
sampai 186FH

IV.1.4. Data Percobaan 4 : Program untuk Mengeset Alamat Tertentu dari


Memori 1840H sampai 184FH
Alamat Bahasa Label Bahasa Rakitan Keterangan
Memori Mesin
1840H 06 10 LD B, 10H Data 10H sebagai penghitung loop
1842H 21 40 18 LD HL, 1840H Set HL sbg alamat awal memori yang diisi 0
1845H AF XOR A Set re A = 0
1846H 77 Loop LD (HL), A Isikan 0 pada alamat memori yang ditunjuk HL
1847H 23 INC HL Tambah HL dengan 1
1848H 3C INC A Tambah A dengan 1
1849H 05 DEC B Kurangi B dengan 1
184AH 20 FA JR NZ, Loop Jika isi reg B belum = 0 kembali ke loop
184CH FF RST 38H Kembali ke program monitor
Tabel 4. Data Percobaan Program untuk Mengeset Alamat Tertentu dari Memori
1840H sampai 184FH
IV.2. Pembahasan
Secara instruksional, tujuan dari praktikum mikroprosesor dengan judul “Pemindahan
Data” yaitu agar mahasiswa sebagai praktikan mampu membiasakan dengan fungsi instruksi
pemindahan data, melatih dalam mengeset nilai inisialisasi data, dan melatih dalam
menuliskan program. Oleh karena itu, untuk mencapai tujuan instruksional tersebut,
praktikum dilakukan sebanyak 4 (empat) macam percobaan.
Percobaan pertama, yaitu pemindahan data dalam instruksi LD 8 Bit. Prosedur kerja
diawali dengan mengisi data ke register, dimana bahasa rakitan yang telah disediakan pada
petunjuk praktikun dikonversi menjadi bahasa mesin menggunakan software Z80 Simulator.
Selanjutnya, untuk mengisikan program bahasa mesin, maka ADDR pada kit uPf-1 ditekan
dan ditentukan pada alamat awal 1800H. Pada alamat 1800H ini, dapat diatur dengan
menekan tombol DATA 3E + 00. Dimana, berdasarkan petunjuk praktikum, bahwa 3E
berfungsi untuk memanggil register A, dan 00 merupakan data yang diisikan pada register
A. Sehingga, dapat dikatakan bahwa instruksi LD A, 00 menyatakan bahwa data 00H masuk
ke register A.
Prinsip ini berlaku untuk register lain dalam hal pemindahan data, misal pada register
B dengan instruksi bahasa rakitan LD B, 01 dimana register B diisi dengan data 01H; register
C dengan instruksi bahasa rakitan LD C, 02 dimana register C diisi dengan data 02H; begitu
seterusnya. Kemudian, ketika semua program telah dimasukkan secara lengkap pada alamat
awal 1800H, maka tombol PC lalu GO ditekan untuk menjalankan program pada kit uPf-1.
Terakhir, data di register A, register B, register C, register D, register E, register H, dan
register L dicek, dimana hasil yang diperoleh yakni register A = 00, register B = 01, register
C = 02, register D = 03, register E = 04, register H= 05,dan register L = 06. Dengan demikian,
hasil dari percobaan pemindahan data dalam instruksi LD 8 Bit yang dilakukan telah
berhasil, dikarenakan hasil output sesuai dengan input pada bahasa rakitan.
Percobaan kedua, yakni pemindahan data dalam instruksi LD 16 Bit. Konsepnya, pada
percobaan ini dilakukan pengaturan isi register B, register C, register D, register E, register
H, dan register L dengan menggunakan instruksi LD 16 Bit atau memindahkan dua byte
data. Perlu diketahui, bahwa pada data 16 Bit terdiri dari 2 (dua) byte data, yang mana setiap
byte berorde tinggi pada alamat memori yang lebih tinggi. Prosedur kerja diawali dengan
menulis program bahasa rakitan dan menerjemahkannya ke dalam bahasa mesin
menggunakan software Z80 Simulator dengan alamat awal 1820H, lalu mengisikan program
tersebut ke kit uPf-1 dan mengakhirinya dengan data FF. Untuk bahasa rakitan LD BC,
1234H dituliskan dalam bahasa mesin 01 34 12 dengan mengisikan data pada alamat 1820H
adalah 01, data pada alamat 1821H adalah 34 sebagai isi register C, dan data pada alamat
1823H adalah 12 sebagai isi register B. Untuk bahasa rakitan LD DE, 5678H dituliskan
dalam bahasa mesin 11 78 56 dengan mengisikan data pada alamat 1823H adalah 11, data
pada alamat 1824H adalah 78 sebagai isi register E, dan data pada alamat 1825H adalah 56
sebagai isi register D. Berikutnya, untuk bahasa rakitan LD HL, 090AH dituliskan ke dalam
bahasa mesin 21 0A 09 dengan mengisikan data pada alamat 1826H adalah 21, data pada
alamat 1827H adalah 0A sebagai isi register L, dan data pada alamat 1828H adalah 09
sebagai isi register H. Dengan demikian, berdasarkan program yang telah diuraikan, dapat
dianalisis bahwa pengisian dua register sekaligus dengan bahasa rakitan misal LD BC,
menyatakan jika data pada alamat pertama berisi kode untuk bahasa rakitan, maka data pada
alamat kedua akan mengisi register, data pada alamat ketiga akan mengisi register B, dan
seterusnya.
Percobaan ketiga, ialah menghapus isi alamat memori dari 1850H sampai dengan
186FH melalui proses looping atau perulangan. Dengan menuliskan 06 20 pada alamat
1800H, artinya nilai 20H telah dimasukkan pada register B. Nilai 20H ini dipilih karena nilai
ini setara dengan 32 bilangan desimal. Banyaknya isi memori yang akan dihapus dari alamat
1850H s.d. 186FH sebanyak 32. Sementara itu, bahasa mesin 21 50 18 menyatakan isi
register HL dengan alamat memori 1850H sebagai alamat awal yang diisi angka 0. Bahasa
mesin AF dimasukan pada alamat 1805H untuk mengeset register A agar menjadi 0.
Kemudian bahasa mesin 77 diisikan pada alamat 1806H agar isi dari register A dipindahkan
ke alamat yang ditunjuk HL yaitu 1850H. Bahasa mesin 23 dimasukan, agar nilai HL
naik/bertambah dari 1850H ke 1806H. Bahasa mesin 05 dimasukan untuk mengurangkan
nilai dari register B. Lalu bahasa mesin 20 untuk melakukan proses looping apabila nilai
register yang telah dikurangkan tadi belum bernilai 0. Proses perulangan ini dilakukan
sampai 32 kali. Sesuai dengan nilai awal yang dimasukan pada register B. Dengan demikian
saat dilakukan pengecekan alamat 1850H sampai dengan 186FH maka hasilnya adalah 0.
Terakhir, atau percobaan keempat yakni percobaan mengeset alamat tertentu dari
memori 1840H sampai dengan 184FH. Pengesetan dilakukan dengan mengeset alamat
memori 1840H s.d. 184FH sebagai 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F melalui proses
looping, bahasa mesin 06 10 dituliskan pada alamat 1800H, berarti bahwa nilai 10 H telah
dimasukkan ke register B. Nilai 10H dipilih karena nilaiini setara dengan 16 bilangan
desimal, banyakanya isi memori yang akan dihapus dari alamat 1840H s.d. 184FH sebanyak
16. Kemudian, bahasa mesin 21 40 18 diisikan pada register HL dengan alamat memori
1840H sebagai alamat awal memori yang diisi angka 0. Bahasa mesin AF dimasukkan pada
alamat 1805H untuk mengeset register A dipindahkan ke alamat yang ditunjuk HL yaitu
1840H. Bahasa mesin 23 dimasukkan, agar nilai HL naik/bertambah dari 1840H ke 1806H.
Bahasa mesin 3C dimasukkan untuk menambahkan satu nilai heksadesimal pada register A.
Bahasa mesin 05 dimasukan untuk mengurangkan nilai dari register B. Lalu bahasa mesin
20 untuk melakukan proses looping apabila nilai register B belum bernilai 0. Proses
perulangan ini dilakukan sampai 16 kali. Sesuai dengan nilai yang dimasukan pada register
B diawal. Dengan demikian saat pengecekan alamat 1840H-184FH maka hasilnya adalah 0,
1, 2, 3, 4, 5, 6, 7, 8,9, A, B, C, D, E, F.
BAB V
KESIMPULAN DAN SARAN

V.1. Kesimpulan
Berdasarkan percobaan-percobaan yang dilakukan, maka dapat disimpulkan:
a. Pemindahan data dalam instruksi LD 8 Bit umumnya menggunakan fungsi
instruksi pemanggil untuk memasukkan data ke suatu register sesuai prinsip
pemindahan data. Misal pada register B dengan instruksi bahasa rakitan LD B,
01 dimana register B diisi dengan data 01H
b. Konsep pada pemindahan data dalam instruksi LD 16 Bit, yakni dilakukan
pengaturan isi register B, register C, register D, register E, register H, dan
register L dengan menggunakan instruksi LD 16 Bit atau memindahkan dua
byte data.
c. Pengisian dua register sekaligus dengan bahasa rakitan misal LD BC,
menyatakan jika data pada alamat pertama berisi kode untuk bahasa rakitan,
maka data pada alamat kedua akan mengisi register, data pada alamat ketiga
akan mengisi register B, dan seterusnya.
d. Pada percobaan menghapus isi alamat memori dari 1850H sampai dengan
186FH, dilakukan melalui proses looping sebanyak 32 kali untuk mengisikan
isi memori dari alamat 1850H s.d. 186FH agar bernilai 0.
e. Pada percobaan mengeset alamat tertentu dari memori 1840H sampai dengan
184FH, dimana pengesetan dilakukan dengan mengeset alamat memori 1840H
s.d. 184FH sebagai 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F melalui proses
looping.
V.2. Saran
Berdasarkan percobaan yang telah dilakukan, maka saran yang dapat diberikan
adalah sebagai berikut:
a. Dalam proses analisis dan perhitungan data hasil percobaan, sebaiknya
dilakukan secara teliti berdasarkan referensi atau petunjuk praktikum yang
telah diajarkan dosen sebagai kajian teori. Hal ini perlu dilakukan untuk
menghindari kesalahan data.
b. Dalam penulisan program, ketelitian dalam penulisan algoritma kode program
sangat diperlukan.
DAFTAR PUSTAKA

Harsono, Djiwo. Dkk. 2022. Petunjuk Praktikum Mikroprosesor..Politeknik Teknologi


Nuklir Indonesia. Yogyakarta
Lampiran 1
Lampiran 2

Anda mungkin juga menyukai