Praktikum Mikroprosesor
Percobaan I
Tulislah program dalam bahasa assembly untuk mengeset
register-register sebagai berikut: A=0, B=1, C=2, D=3, E=4, H=5, L=6 (gunakan
intruksi LD 8 bit untuk mentransfer satu byte data setiap kali).
·
Langkah
1
Tulislah program dalam
bahasa assembly. Intruksi terakhir
RST 38H akan mengembalikan kontrol uPro-1 pada program monitor setelah
menjalankan seluruh program.
·
Langkah
2
Dengan menggunakan tabel
intruksi LD 8 bit, terjemahkan program ke dalam bahasa mesin dengan 1800H
sebagai alamat awal. Tuliskan alamat yang sesuai untuk tiap-tiap intruksi.
·
Langkah
3
Siapkan mikrokomputer
uPro-1. Masukkan program dengan menekan tombol-tombol pada keyboard. Periksa program yang tersimpan dalam memori. Set PC(Program Counter) pada awal alamat yaitu
alamat 1800H dan jalankan programnya.
·
Langkah
4
Tekan tombol REG dan periksalah
apakah isi tiap-tiap register sudah benar. Bila masih ada kesalahan, kembalilah
pada langkah 1 dan periksa lagi.
\
Alamat
|
Bahasa Mesin
|
Bahasa Assembly
|
Keterangan
|
1800
|
3E 00
|
LD A, 0
|
A 00H
|
1802
|
06 01
|
LD
B, 1
|
B
01H
|
1804
|
0E 02
|
LD C, 2
|
C 02H
|
1806
|
16 03
|
LD
D, 3
|
D
03H
|
1808
|
1E 04
|
LD E, 4
|
E 04H
|
180A
|
26 05
|
LD
H, 5
|
H
05H
|
180C
|
2E 06
|
LD L, 6
|
L 06H
|
180E
|
FF
|
RST 38H
|
Keprogram monitor
|
Flowchart
Masukkan program (sama
dengan percobaan I). Set PC pada 1820H dan jalankan programnya.
Percobaan II
Tulislah
program dimana bahasa assembly untuk
mengeset isi register-register sebagai berikut: B=12, C=34, D=56, E=78, H=9,
L=A (gunakan intruksi LD 16 bit untuk mentransfer dua byte data setiap kali).
·
Langkah
1
Sama dengan percobaan I
(Tulislah program dalam bahasa assembly).
·
Langkah
2
Dengan menggunakan tabel
intruksi LD 8 bit, terjemahkan program ke dalam bahasa mesin dengan alamat awal
1820H.
·
Langkah
3
·
Langkah
4
Periksa isi masing-masing register
seperti percobaan I.
Catatan:
suatu data 16 bit terditi 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. Misalnya, data 16 bit 1234H disimpan pada
alamat 1820-1821H dengan cara sebagai berikut:
Alamat
|
Bahasa Mesin
|
Bahasa Assembly
|
Keterangan
|
1820
|
01 34 12
|
LD BC, 1234 H
|
B 12 H; C
34 H
|
1823
|
11 78 56
|
LD DE, 5678 H
|
D
56 H; E 78 H
|
1826
|
21 0A 09
|
LD HL, 09 0A H
|
H 09 H; L
0A H
|
1829
|
FF
|
RST 38H
|
Ke program monitor
|
Flowchart
Percobaan III
Menulis
program untuk menghapus isi memori pada alamat 1850H sampai 186FH.
Penjelasan:
1. Jika
kita menggunakan intruksi LD 8 bit untuk mentransfer setiap data ke tujuan
masing-masing, akan diperlukan 32 (20H) kali pelaksanaan transfer data. Akan
lebih mudah bila kita menggunakan metoda ‘loop’ pada program kita.
2. Gunakan
register B sebagai penghitung loop. Set register B sama dengan 20H sebelum
pelaksanaan program loop. Gunakan HL sebagai penunjuk alamat memori dan set
alamat awal 1850H pada HL. HL ditambah dengan satu (incremented) dan B dikurangi dengan 1 (decremented) untuk setiap loop. Jika B=0, berarti semua loop telah
dilaksanakan. Jika sebaliknya (B
0), loop diulang lagi.
3. Programnya
adalah sebagai berikut:
Alamat
|
Bahasa
Mesin
|
Label
|
Mnemonik
|
Keterangan
|
1800
|
06 02
|
|
LD B, 20 H
|
;Set loop counter = 32
|
1802
|
21
50 18
|
|
LD
HL, 1850 H
|
;Set
HL= alamat memori; mulai dihapus (00)
|
1805
|
AF
|
|
XOR A
|
;Set
A = 0
|
1806
|
77
|
LOOP
|
LD
(HL), A
|
;Masukkan
0 ke alamat; memori yang ditunjukkan oleh HL
|
1807
|
23
|
|
INC HL
|
;Tambah
HL dengan 1
|
1808
|
05
|
|
DEC
B
|
Kurangi
B dengan 1
|
1809
|
20 FB
|
|
JRNZ LOOP
|
Jika
B
|
180B
|
FF
|
|
RST
38H
|
Ke
program monitor
|
Percobaan IV
Tulislah
suatu program dalam bahasa assembly
untuk mengeset alamat memori 1840H – 184FH sebagai berikut: 0, 1, .., F.
(Petunjuk:
Ubahlah penghitung loop dan nilai alamat awalnya. Register A ditambah dengan 1
pada loop berikutnya).
Alamat
|
Bahasa Mesin
|
Label
|
Mnemonic
|
Keterangan
|
1800
|
06 10
|
|
LD B, 10 H
|
;Set loop counter = 32
|
1802
|
21 40 18
|
|
LD HL, 1840 H
|
;Set
HL= alamat memori; mulai dihapus (00)
|
1805
|
AF
|
|
XOR A
|
;Set
A = 0
|
1806
|
77
|
LOOP
|
LD (HL), A
|
;Masukkan
0 ke alamat; memori yang ditunjukkan oleh HL
|
1807
|
23
|
|
INC HL
|
;Tambah
HL dengan 1
|
1808
|
3C
|
|
INC A
|
Tambah A dengan 1
|
1809
|
05
|
|
DEC B
|
Kurangi B dengan
1
|
180A
|
20FA
|
|
JRNZ LOOP
|
Jika
B
|
180C
|
FF
|
|
RST 38H
|
Ke
program monitor
|
Percobaan V
Program berikut ini dapat dipakai
untuk menjumlahkan isi register D dan isi register E bersama-sama. Hasilnya akan
disimpan pada pasangan register HL. Masukkan program ini pada uPro-1 dan
kemudian jalankan. Catatlah hasilnya.
Alamat
|
Bahasa Mesin
|
Mnemonic
|
Keterangan
|
|
|
ORG. 1800H
|
;Alamat awal
|
1800
|
7B
|
LD A,E
|
;E masuk ke reg. A
|
1801
|
82
|
ADD A,D
|
;A + D
|
1802
|
6F
|
LD L,A
|
;A masuk ke reg. L
|
1803
|
3E 00
|
LD A,0
|
;0 masuk ke reg.
A
|
1805
|
CE 00
|
ADC A,0
|
;A + 0 + carry masuk ke reg. A
|
1807
|
67
|
LD H,A
|
;A masuk ke reg.
H
|
1808
|
FF
|
RST 38H
|
Kembali ke monitor
|
Nilai Preset
|
Hasil Pelaksanaan Program
|
||||
Register
|
Register
|
Flag
|
|||
D E
|
HL
|
Sign
|
Zero
|
P/V
|
Carry
|
5AH A6H
46H 77H
|
01H 00H
00H BDH
|
0
0
|
0
1
|
0
0
|
0
0
|
Percobaan VI
Program
berikut ini dapat digunakan untuk menjumlahkan data 16 bit di memori pada
alamat 1A00H – 1A01H dengan data 16 bit yang ada di dalam pasangan register DE.
Hasilnya akan disimpan pada pasangan register HL. Masukkan program pada uPro-1
dan jalankan. Catat hasil yang didapat.
Alamat
|
Bahasa Mesin
|
Mnemonic
|
Keterangan
|
|
|
ORG. 1800H
|
;Alamat awal
|
1800
|
3A 00 1A
|
LD A,(1A00H)
|
;1A00H masuk ke reg. A
|
1804
|
83
|
ADD A,E
|
;A + E
|
1805
|
6F
|
LD L,A
|
;A masuk ke reg. L
|
1806
|
3A 01 1A
|
LD A,(1A01H)
|
;1A01H masuk ke
reg. A
|
1809
|
8A
|
ADC A,D
|
;D masuk ke reg. A
|
180A
|
67
|
LD H,A
|
;A masuk ke reg.
H
|
180B
|
FF
|
RST 38H
|
Kembali ke monitor
|
Nilai Preset
|
Hasil Pelaksanaan Program
|
||||
Register
|
Register
|
Flag
|
|||
(1A01H) (1A00H)
|
DE
|
Sign
|
Zero
|
P/V
|
Carry
|
8D 4F
|
46 47
|
1
|
0
|
0
|
0
|
WsimpmaAtemp_ga Laura Watson https://marketplace.visualstudio.com/items?itemName=orinsulno.Descargar-Star-Hunter-VR-gratuita-2021
ReplyDeleteephroadmakhag
Uodencribshi Kimberly Turner click
ReplyDeleteclick here
link
link
adgravconse
cormoWlywaToledo Dave Douglas There
ReplyDeleteAuto Clicker
R-Studio
Autodesk Maya
harebiswi