![]() |
| Ilustrasi Ring Counter |
TUGAS !
Buatlah program untuk menyalakan deretan LED sesuai dengan tabel kebenaran berikut ini :
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | Data |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 01 |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 02 |
0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 04 |
0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 08 |
0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 10 |
0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 20 |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 40 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 80 |
- Program berjalan 10x pengulangan
- Program berjalan terus menerus dan berhenti setelah tombol reset [RST]
PENYELESAIAN
Struktur Algoritma
Isi Accu dengan data 01 |
Keluarkan isi Accu ke Register Control |
Isi Register B = 0A |
B = 0 |
Isi Accu dengan data 01 |
keluarkan isi Accu ke port A |
Tunda Waktu |
Isi Accu dengan data 02 |
Keluarkan isi Accu ke port A |
Tunda Waktu |
Isi Accu dengan data 04 |
Keluarkan isi Accu ke port A |
Tunda Waktu |
Isi Accu dengan data 08 |
Keluarkan isi Accu ke port A |
Tunda Waktu |
Isi Accu dengan data 10 |
Keluarkan isi Accu ke port A |
Tunda Waktu |
Isi Accu dengan data 20 |
Keluarkan isi Accu ke port A |
Tunda Waktu |
Isi Accu dengan data 40 |
Keluarkan isi Accu ke port A |
Tunda Waktu |
Isi Accu dengan data 80 |
Keluarkan isi Accu ke port A |
Tunda Waktu |
Kurangi dengan 1 isi Register B |
Isi Accu dengan data 00 |
Keluarkan isi Accu ke port A |
Akhiri program |
Subroutine
Struktur Program
Isi Pas Register HL = FF FF |
H = 0 |
L = 0 |
Kurangi dengan 1 isi Register L |
Kurangi dengan 1 isi Register H |
RET UNC |
Struktur Program
Alamat | Assembly | Mesin |
1800 | LDA, 80 | 3E 80 |
1802 | OUT (43), A | D3 43 |
1804 | LDB, 0A | 06 0A |
1805 | NOP | 00 |
1807 | LDA, 01 | 3E 01 |
1809 | OUT (40), A | D3 40 |
180B | CALL UNC 1A00 | CD 00 1A |
180E | LDA, 02 | 3E 02 |
1810 | OUT (40), A | D3 40 |
1812 | CALL UNC 1A00 | CD 00 1A |
1815 | LDA, 04 | 3E 04 |
1817 | OUT (40), A | D3 40 |
1819 | CALL UNC 1A00 | CD 00 1A |
181C | LDA, 08 | 3E 08 |
181E | OUT (40), A | D3 40 |
1820 | CALL UNC 1A00 | CD 00 1A |
1823 | LDA, 10 | 3E 10 |
1825 | OUT (40), A | D3 40 |
1827 | CALL UNC 1A00 | CD 00 1A |
182A | LDA, 20 | 3E 20 |
182C | OUT (40), A | D3 40 |
182D | CALL UNC 1A00 | CD 00 1A |
1831 | LDA, 40 | 3E 40 |
1833 | OUT (40), A | D3 40 |
1835 | CALL UNC 1A00 | CD 00 1A |
1838 | LDA, 80 | 3E 80 |
183A | OUT (40), A | D3 40 |
183C | CALL UNC 1A00 | CD 00 1A |
183F | DEC B | 05 |
1840 | JPNZ 1806 | C2 06 18 |
1843 | LDA, 00 | 3E 00 |
1845 | OUT (40), A | D3 40 |
1847 | RST 0038 | FF |
SUBROUTINE | ||
1A00 | LDHL, FF FF | 21 FF FF |
1A03 | NOP | 00 |
1A04 | NOP | 00 |
1A05 | DEC L | 2D |
1A06 | JPNZ 1A04 | C2 04 18 |
1A09 | DEC H | 25 |
1A0A | JPNZ 1A03 | C2 03 18 |
1A0D | RET UNC | C9 |
Rekomendasi Artikel Terkait:

halo cendekia muda, terimakasih dan selamat datang di dunia dalam digital
BalasHapus