| | | |
|-----------------------------------|---------------------------|-----------------------------------|
| SMKN 2 YOGYAKARTA | Kompetensi | Kode : 05/PDTM/KL10/SR |
| Prog. Keahlian : Tek. Audio Video | LOAD DATA (LD) (BAGIAN 1) | Waktu : menit |
| Prog. Diklat : PDTM | | Nama Siswa : |
| Kelas : 10 AV | | Tanggal : |

Load Data Microprosessor
Kriteria Unjuk Kerja:
- Menyebutkan kegunaan perintah Load Data (LD)
- Menyimpan data pada register
- Memindah / meng-copy data
Teori Penunjang
Perintah Load Data (LD) ialah perintah mikroprosessor yang digunakan untuk:
- Menyimpan data pada register
- Menyimpan data pada pasangan register
- Memindahkan / meng-copy data dari register ke register lainnya.
- Memindahkan / meng-copy data dari register ke memori.
- Memindahkan / meng-copy data dari memori ke register.
1. Menyimpan Data pada Register
Format : LD r,n
dimana LD : perintah Load Data
r : nama register
n : data tersimpan
Catatan:
Nama-nama register
a) register A (Accumulator)
b) register B
c) register C
d) register D
e) register E
f) register H
g) register L
Contoh: Simpan data 20 H pada Accumulator, data 3E H pada register B dan data CA H disimpan pada register C.
Jawab:
| Alamat Memori | Bahasa | | Keterangan |
|---------------|-----------|---------|-------------------------------------|
| | Assembly | Mesin | |
| 1800 | LD A,20 | 3E 20 | Memasukkan data 20 H ke Accumulator |
| 1802 | LD B,3E | 06 3E | Memasukkan data 3E H ke register B |
| 1804 | LD C,CA | 0E CA | Memasukkan data CA H ke register C |
| 1806 | RST 0038 | FF | Mengakhiri program |
Jalankan program dengan menekan tombol RST-PC-GO
Melihat hasil dengan menekan tombol REG diikuti nama register.
Hasil:
- Accumulator = ...........
- Register B = ............
- Register C = ............
2. Menyimpan Data pada Pasangan Register
Format : LD Pr,xx yy
dimana LD : perintah Load Data
Pr : nama pasangan register
xx : data ke-1
yy : data ke-2
Catatan:
Nama-nama pasangan register
a) pasangan register AF (Accumulator dan Flag)
b) pasangan register BC
c) pasangan register DE
d) pasangan register HL
Contoh: Simpan data 0F25 H pada pasangan register BC, data EECC H pada pasangan register HL dan data 0C00 H pada pasangan register DE.
Jawab:
| Alamat Memori | Bahasa | | Keterangan |
|---------------|------------|------------|--------------------------------------------|
| | Assembly | Mesin | |
| 1800 | LD BC,0F25 | 01 25 0F | Memasukkan data 0F25 H ke pasangan reg. BC |
| 1803 | LD HL,EECC | 21 CC EE | Memasukkan data EECC H ke pasangan reg. HL |
| 1806 | LD DE,0C00 | 11 00 0C | Memasukkan data 0C00 H ke pasangan reg. DE |
| 1809 | RST 0038 | FF | Mengakhiri program |
Jalankan program dengan menekan tombol RST-PC-GO
Melihat hasil dengan menekan tombol REG diikuti nama register.
Hasil:
- Register B = ...... Register C = ......
- Register H = ...... Register L = ......
- Register D = ...... Register E = ......
3. Memindahkan / meng-copy data dari register ke register lainnya
Format : LD rx,ry
dimana LD : perintah Load Data
rx : nama register tujuan
ry : nama register asal data
Contoh:
1. Pada register A tersimpan data 02 H, register B tersimpan data 05 H dan pada register C tersimpan data 63 H.
2. Pindahkan/copy-kan data pada register A ke register D, data di register B ke register L dan data di register C ke register H.
Jawab:
| Alamat Memori | Bahasa | | Keterangan |
|---------------|----------|--------|--------------------------------------------------|
| | Assembly | Mesin | |
| 1800 | LD A,02 | 3E 02 | Memasukkan data 02 H ke Accumulator |
| 1802 | LD B,05 | 06 05 | Memasukkan data 05 ke register B |
| 1804 | LD C,63 | 0E 63 | Memasukkan data 63 ke register C |
| 1806 | LD D,A | 57 | Meng-copy-kan ke register D data dari Accu. |
| 1807 | LD L,B | 70 | Meng-copy-kan ke register L data dari register B |
| 1808 | LD H,C | 61 | Meng-copy-kan ke register H data dari register C |
| 1809 | RST 0038 | FF | Mengakhiri program |
Jalankan program dengan menekan tombol RST-PC-GO. Melihat hasil dengan menekan tombol REG diikuti nama register.
Hasil:
- Accumulator = ...... Register B = ...... Register C = ......
- Register D = ...... Register H = ...... Register L = ......
Tugas
1. Buatlah program uPRO-1 untuk:
- Menyimpan data AE hex. pada register A, data 00 hex pada register B.
- Masukkan data EE AA pada pasangan register HL.
- Copy ke register C data dari Accumulator.
2. Setelah program dijalankan, tuliskan data pada masing-masing register berikut:
Hasil:
- Accumulator = ...... Register H = ...... Register L = ......
- Register B = ...... Register C = ......
| SMKN 2 YOGYAKARTA | Kompetensi | Kode : 06/PDTM/KL10/SR |
|-----------------------------------|----------------------------------------------|-----------------------------------|
| Prog. Keahlian : Tek. Audio Video | LOAD DATA (LD) (BAGIAN 2) STRUKTUR PROGRAM | Waktu : menit |
| Prog. Diklat : PDTM | | Nama Siswa : |
| Kelas : 10 AV | | Tanggal : |
Kriteria Unjuk Kerja:
- Menyebutkan kegunaan perintah Load Data (LD).
- Menggunakan struktur program untuk memecahkan masalah.
- Memindahkan/meng-copy data dari register ke memori.
- Memindahkan/meng-copy data dari memori ke register.
4. Memindahkan / meng-copy data dari register ke memori
Format : LD (HL),r
dimana LD : perintah Load Data
(HL) : alamat memori yang tersimpan pada pasangan Register HL
r : nama register asal data
Contoh:
- Register E menyimpan data CC H, register H menyimpan data 00 H
- Pindahkan data dari register E ke alamat memori 1A00, pindahkan data dari register H ke alamat memori 1A01.
Jawab:
Sesuai dengan format, untuk menunjuk alamat memori selalu menggunakan pasangan register HL, maka data yang tersimpan pada register H harus diselamatkan dengan cara memindahkan data di register H ke register yang lain.
Menggunakan struktur program untuk memberikan urutan jalannya program.
| Mengisi register E dengan data CC |
|-----------------------------------------------------------------------------------------|
| Mengisi register H dengan data 00 |
| Pindahkan ke register B data dari register H |
| Mengisi pasangan register HL dengan data 1A00 |
| Pindahkan ke alamat memori yang ditunjuk oleh pasangan register HL data dari register E |
| Mengisi pasangan register HL dengan data 1A01 |
| Pindahkan ke alamat memori yang ditunjuk oleh pasangan register HL data dari register B |
| Akhir program |
Penulisan program/terjemahan Struktur Program
| Alamat Memori | Bahasa | | Keterangan |
|---------------|------------|--------------|-------------------------------------------------------------------------------------------|
| | Assembly | Mesin | |
| 1800 | LD E,CC | 1E CC | Mengisi register E dengan data CC |
| 1802 | LD H,00 | 26 00 | Mengisi register H dengan data 00 |
| 1804 | LD B,H | 44 | Memindahkan ke register B data dari register H |
| 1805 | LD HL,1A00 | 21 00 1A | Mengisi pasangan register HL dengan data 1A00 |
| 1808 | LD (HL),E | 73 | Memindahkan ke alamat memori yang ditunjuk oleh pasangan register HL data dari register E |
| 1809 | LD HL,1A01 | 21 01 1A | Mengisi pasangan register HL dengan data 1A01 |
| 180C | LD (HL),B | 70 | Memindahkan ke alamat memori yang ditunjuk oleh pasangan register HL data dari register B |
| 180B | RST 0038 | FF | Akhir program |
Jalankan program dengan menekan tombol RST-PC-GO. Melihat hasil dengan menekan tombol REG diikuti nama register.
Hasil:
- Register E = ......
- Register B = ......
Kemudian tekan tombol ADDR 1A00 dan tekan tombol DATA
- Alamat memori 1A00 = ......
- Alamat memori 1A01 = ......
5. Memindahkan / meng-copy data dari memori ke register
Format : LD r,(HL)
dimana LD : perintah Load Data
r : nama register tujuan
(HL) : alamat memori yang tersimpan pada pasangan Register HL.
Contoh:
- Alamat memori 1900 tersimpan data 00 dan alamat memori 1901 tersimpan data EE H
- Pada register B tersimpan data FF H dan pada register C tersimpan dsta AA H.
Tugas: pindahkan ke register B data dari alamat memori 1900, pindahkan ke register C data dari alamat memori 1901.
Jawab: Karena pengisian data pada alamat memori dengan cara langsung menggunakan tombol ADDR dan tombol DATA, maka struktur program dimulai dari:
| Mengisi register B dengan data FF |
|-----------------------------------------------------------------------------------------|
| Mengisi register C dengan data AA |
| Mengisi pasangan register HL dengan data 1900 |
| Pindahkan ke register B data dari alamat memori yang ditunjuk oleh pasangan register HL |
| Mengisi pasangan register HL dengan data 1901 |
| Pindahkan ke register C data dari alamat memori yang ditunjuk oleh pasangan register HL |
| Akhir program |
Program
| Alamat Memori | Bahasa | | Keterangan |
|---------------|------------|--------------|-------------------------------------------------------------------------------------------|
| | Assembly | Mesin | |
| 1800 | LD B,FF | 06 FF | Mengisi register B dengan data FF |
| 1802 | LD C,AA | 0E AA | Mengisi register C dengan data AA |
| 1804 | LD HL,1900 | 21 00 19 | Mengisi pasangan register HL dengan data 1900 |
| 1807 | LD B,(HL) | 46 | Memindahkan ke register B data dari alamat memori yang ditunjuk oleh pasangan register HL |
| 1808 | LD HL,1901 | 21 01 19 | Mengisi pasangan register HL dengan data 1901 |
| 180B | LD C,(HL) | 4E | Memindahkan ke register C data dari alamat memori yang ditunjuk oleh pasangan register HL |
| 180C | RST 0038 | FF | Akhir program |
Kemudian tekan tombol ADDR 1900 dan tekan tombol DATA
- Alamat memori 1900 = 00
- Alamat memori 1901 = EE
Jalankan program dengan menekan tombol RST-PC-GO. Melihat hasil dengan menekan tombol REG diikuti nama register.
Hasil:
- Register B = ...... (sebelumnya register B = FF)
- Register C = ...... (sebelumnya register C = AA)
Soal:
Alamat memori 1B00 tersimpan data CC dan alamat memori 1B01 tersimpan data EE. Pada register D tersimpan data FF H dan pada register E tersimpan data AA H.
Tugas:
- Pindahkan ke register C data dari alamat memori 1B00, pindahkan ke register B data dari alamat memori 1B01.
- Tukarkan data pada register D dengan data pada register E
- Tuliskan hasil eksekusi program untuk masing-masing register!