143 berikutnya bila telah menemukan perintah RETURN atau dalam bahasa
mesin mnemonic C9. Contoh terdapat deretan 8 led dan diinginkan nyala led bergantian
dari atas ke bawah pada port A selama 10 kali putaran. Gambar ilustrasinya adalah sebagai berikut.
Maka kerjakan dengan langkah-langkah berikut.
1. Tabel kebenaran
Tabel kebenaran digunakan untuk merencanakan variasi nyala deretan led yang tersambung melalui port A, port B dan port C yang
masing-masing port memiliki 8 bit D0 sampai D7. Nilai-nilai bit tersebut dari bilangan biner kemudian dikonversikan ke bilangan
hexadecimal.
Dengan data yang sudah diperoleh dari tabel kebenaran, maka dapat disusun struktur programnya. Jika variasi nyala deretan
144 ini menghendaki terjadinya pengulangan 10 kali, maka struktur
programnya adalah sebagai berikut.
2. Struktur program utama:
Isi accumulator dengan data kendali PORT A = B = C = arah keluar = 80h. Keluarkan isi accumulator ke register kontrol
Isi register E dengan data 0A hex. E = 0
Isi accumulator dengan data 01 hex. Keluarkan isi accumulator melalui port A
Panggil program tunda waktu Isi accumulator dengan data 02 hex.
Keluarkan isi accumulator melalui port A Panggil program tunda waktu
Isi accumulator dengan data 04 hex. Keluarkan isi accumulator melalui port A
Panggil program tunda waktu Isi accumulator dengan data 08 hex.
Keluarkan isi accumulator melalui port A Panggil program tunda waktu
Isi accumulator dengan data 10 hex. Keluarkan isi accumulator melalui port A
Panggil program tunda waktu Isi accumulator dengan data 20 hex.
Keluarkan isi accumulator melalui port A Panggil program tunda waktu
Isi accumulator dengan data 40 hex. Keluarkan isi accumulator melalui port A
Panggil program tunda waktu Isi accumulator dengan data 80 hex.
Keluarkan isi accumulator melalui port A Panggil program tunda waktu
Kurangi dengan 1 isi register E Looping Program
Akhir program
145
3. Struktur program tunda waktu:
Isi pasangan register HL dengan data FF FF hex H = 0
L = 0 Kurangi dengan 1 isi register L
Looping ke L = 0
Kurang dengan 1 isi register H Looping ke H = 0
Return UNC
4. Program
Alamat Bahasa
Assembly Mesin
1800 LD A, 80H
3E 80 1802
OUT 43H, A D3 43
1804 LD E, 00AH
1E 0A 1806
NOP 00
1807 LD A, 001H
3E 01 1809
OUT 40H, A D3 40
180B CALL 1A00H
CD 00 1A 180E
LD A, 002H 3E 02
1810 OUT 40H, A
D3 40 1812
CALL 1A00H CD 00 1A
1815 LD A, 004H
3E 04 1817
OUT 40H, A D3 40
1819 CALL 1A00H
CD 00 1A 181C
LD A, 008H 3E 08
181E OUT 40H, A
D3 40 1820
CALL 1A00H CD 00 1A
1823 LD A, 010H
3E 10 1825
OUT 40H, A D3 40
1827 CALL 1A00H
CD 00 1A 182A
LD A, 020H 3E 20
182C OUT 40H, A
D3 40 182E
CALL 1A00H CD 00 1A
1831 LD A, 040H
3E 40 1833
OUT 40H, A D3 40
1835 CALL 1A00H
CD 00 1A
146
1838 LD A, 080H
3E 80 183A
OUT 40H, A D3 40
183C CALL 1A00H
CD 00 1A 183F
DEC E 1D
1840 JP NZ, 1806H
C2 06 18 1843
RST 38H FF
1A00 LD HL, 0FFFFH
21 FF FF 1A03
NOP 00
1A04 NOP
00 1A05
DEC L 2D
1A06 JP NZ, 1A04H
C2 04 1A 1A09
DEC H 25
1A0A JP NZ, 1A03H
C2 03 1A 1A0D
RET C9
C. Alat dan Bahan