Anda di halaman 1dari 5

NAMA : Ian Paulus Sinambela

NIM : 1805062030
KELAS : TK-4D

TUGAS
1. Ubah program sehingga hitungan counter dari 00 hingga 59 dan kembali menghitung dari 00.
2. Ubah program sehingga tampilan counter pada digit-2 dan digit-3
4. Ubah program sehingga saat hitungan mencapai nilai 50 hitungan berhenti dan alaram bunyi.

JAWABAN:
1. hitungan counter dari 00 hingga 59 dan kembali menghitung dari 00.
Address Machine Label Mnemonic Komentar
8900 3E-90 MVI A,90 Inisialisasi
8902 D3-13 OUT 13
8904 3E-C0 MVI A,C0 PC6=1 PC7=1
8906 D3-12 OUT 12 Alrm=Off TRAP=OFF
8908 21-00-96 LXI H,9600 Set alamat Counter
890B 31-00-F0 LXI SP,F000
890E 06-C0 MVI B,C0 Data alarm =1 (Off)
8910 36-00 AWAL: MVI M,00 Set counter= 00
8912 7E ULANG: MOV A,M Ambil nilai counter
8913 11-00-84 LXI D,8400 Set alamat buffer display
8916 CD- 80-81 CALL GETSEGMENT Ubah ke nilai segment
8919 D5 PUSH D
891A 11-50-04 LXI D,0450 Set lama delay counter
891D CD -50-81 TUNGGU: CALL OUTDISP Tampilkan ke 7-segment
8920 1B DCX D Tunggu
8921 7B MOV A,E Hingga
8922 B2 ORA D Delay habis
8923 C2-1D-89 JNZ TUNGGU
8926 D1 POP D
8927 7E MOV A,M Ambil nilai counter
8928 C6-01 ADI 01 Naikkan Counter
892A 27 DA A Secara decimal
892B 77 MOV M,A Simpan
892C FE-60 CPI 60
892D C2-12-89 JNZ ULANG
892A C3-10-89 JMP AWAL Ulangi

Adress Machine Label Mnemonic Comment


8180 F5 PUSH PSW ;Amankan isi register AF
8181 E5 PUSH H ;Amankan isi register HL
8182 21-00-85 LXI H,8500 ;Alamat awal tabel segment
8185 4F MOV C,A ;Amankan nilai acc
8186 E6-0F ANI 0FH ;Ambil Low nibble
8188 6F MOV L,A ;Tukar ke alamat tabel segment
8189 7E MOV A,M ;Baca nilai segment
818A 12 STAX D ;Simpan pada memori display
818B 13 INX D ;Naikkan alamat memori display
818C 79 MOV A,C ;Ambil data
818D 0F RRC ;Geser 4 kali untuk mengambil
818E 0F RRC ;High nibble data
818F 0F RRC
8190 0F RRC
8191 E6-0F ANI 0F
8193 6F MOV L,A ;Jadikan alamat byte rendah tabel
8194 7E MOV A,M ;Baca nilai segment
8195 12 STAX D ;Simpan ke memory display
8196 E1 POP H ; HL
8197 F1 POP PSW ; AF
8198 C9 RET ;Kembali

Tabel nilai Segment


8500=3FH 8504=66H 8508=7FH 850C=39H
8501=06H 8505=6DH 8509=67H 850D=5EH
8502=5BH 8506=7DH 850A=77H 850E=79H
8503=4FH 8507=07H 850B=7CH 850F=71H
Tabel Data Trace (TRACE=1) dan hanya port C yg terpilih yang berubah
8410=05H 8414=01H
8411=04H 8415=00H
8412=03H
8413=02H

Routine OUDISPLAY
Addres Machine Label Mnemonic Comment
8150 E5 OUTDISP: PUSH H
8151 F5 PUSH PSW
8152 D5 PUSH D
8153 21-00-84 LXI H,8400H ;Set alamat awal memori display
8156 11-10-84 LXI D,8410H ;Set alamat data trace
8159 3E-00 TERUS: MVI A,00 ;Padamkan 7-segement
815B D3-11 OUT 11H
815D 1A Baca data trace (hanya PC terpilih
LDAX D yg 0)
815E B0 ORA B Gabung dgn data Alarm
815F D3-12 OUT 12H ;Berikan ke decoder
8161 7E MOV A,M ;Ambil nilai segment
8162 D3-11 OUT 11H ;Berikan ke 7-segment
8164 CD-00-82 CALL DELAY ;Tunggu sesaat
8167 13 INX D ;Naikkan alamat data trace
8168 23 INX H ;Naikkan alamat memori display
8169 7D MOV A,L ;Periksa apakah sdh max+1
816A FE-02 CPI 02
816C C2-59-81 JNZ TERUS ;Ulangi jika belum semua ditrace
816F D1 POP D
8170 F1 POP PSW
8171 E1 POP H
8172 C9 RET ;Kembali

8200 C5 Delay: PUSH B


8201 06-10 MVI B,10H ;Set delay (pengulangan)
8203 00 UL_DEL1: NOP
8204 05 DCR B ; Kurangi pengulangan
8205 C2-03-82 JNZ ULANG ;Ulangi

2. tampilan counter pada digit-2 dan digit-3


Address Machine Label Mnemonic Komentar
8900 3E-90 MVI A,90 Inisialisasi
8902 D3-13 OUT 13
8904 3E-C0 MVI A,C0 PC5=1 PC6=1
PC=7
8906 D3-12 OUT 12 Alrm=Off
TRAP=OFF
8908 21-00-96 LXI H,9600 Set alamat Counter
890B 31-00-F0 LXI SP,F000
890E 06-C0 MVI B,C0 Data alarm =1 (Off)
8910 36-00 AWAL: MVI M,00 Set counter= 00
8912 7E ULANG: MOV A,M Ambil nilai counter
8913 11-00-84 LXI D,8400 Set alamat buffer
display
8916 CD- 80-81 CALL Ubah ke nilai
GETSEGMENT segment
8919 D5 PUSH D
891A 11-50-04 LXI D,0450 Set lama delay
counter
891D CD -50-81 TUNGGU: CALL OUTDISP Tampilkan ke 7-
segment
8920 1B DCX D Tunggu
8921 7B MOV A,E Hingga
8922 B2 ORA D Delay habis
8923 C2-1D-89 JNZ TUNGGU
8926 D1 POP D
8927 7E MOV A,M Ambil nilai counter
8928 C6-01 ADI 01 Naikkan Counter
892A 27 DA A Secara decimal
892B 77 MOV M,A Simpan
892C FE-60 CPI 60
892D C2-12-89 JNZ ULANG
892A C3-10-89 JMP AWAL Ulangi

Adress Machine Label Mnemonic Comment


8180 F5 PUSH PSW ;Amankan isi register AF
8181 E5 PUSH H ;Amankan isi register HL
8182 21-00-85 LXI H,8500 ;Alamat awal tabel segment
8185 4F MOV C,A ;Amankan nilai acc
8186 E6-0F ANI 0FH ;Ambil Low nibble
8188 6F MOV L,A ;Tukar ke alamat tabel segment
8189 7E MOV A,M ;Baca nilai segment
818A 12 STAX D ;Simpan pada memori display
818B 13 INX D ;Naikkan alamat memori display
818C 79 MOV A,C ;Ambil data
818D 0F RRC ;Geser 4 kali untuk mengambil
818E 0F RRC ;High nibble data
818F 0F RRC
8190 0F RRC
8191 E6-0F ANI 0F
8193 6F MOV L,A ;Jadikan alamat byte rendah tabel
8194 7E MOV A,M ;Baca nilai segment
8195 12 STAX D ;Simpan ke memory display
8196 E1 POP H ; HL
8197 F1 POP PSW ; AF
8198 C9 RET ;Kembali

Tabel nilai Segment


8500=3FH 8504=66H 8508=7FH 850C=39H
8501=06H 8505=6DH 8509=67H 850D=5EH
8502=5BH 8506=7DH 850A=77H 850E=79H
8503=4FH 8507=07H 850B=7CH 850F=71H
Tabel Data Trace (TRACE=1) dan hanya port C yg terpilih yang berubah
8410=05H 8414=01H
8411=04H 8415=00H
8412=03H
8413=02H

3. saat hitungan mencapai nilai 50 hitungan berhenti dan alaram bunyi.


Address Machine Label Mnemonic Komentar
8900 3E-90 MVI A,90 Inisialisasi
8902 D3-13 OUT 13
8904 3E-C0 MVI A,C6 PC6=1 PC7=1
8906 D3-12 OUT 12 Alrm= On TRAP=On
8908 21-00-96 LXI H,9600 Set alamat Counter
890B 31-00-F0 LXI SP,F000
890E 06-C0 MVI B,C0 Data alarm =1 (Off)
8910 36-00 AWAL: MVI M,00 Set counter= 00
8912 7E ULANG: MOV A,M Ambil nilai counter
8913 11-00-84 LXI D,8400 Set alamat buffer
display
8916 CD- 80-81 CALL Ubah ke nilai segment
GETSEGMENT
8919 D5 PUSH D
891A 11-50-04 LXI D,0450 Set lama delay counter
891D CD -50-81 TUNGGU: CALL OUTDISP Tampilkan ke 7-
segment
8920 1B DCX D Tunggu
8921 7B MOV A,E Hingga
8922 B2 ORA D Delay habis
8923 C2-1D-89 JNZ TUNGGU
8926 D1 POP D
8927 7E MOV A,M Ambil nilai counter
8928 C6-01 ADI 01 Naikkan Counter
892A 27 DA A Secara decimal
892B 77 MOV M,A Simpan
892C FE-60 CPI 60
892D C2-12-89 JNZ ULANG
892A C3-10-89 JMP AWAL Ulangi

Adress Machine Label Mnemonic Comment


8180 F5 PUSH PSW ;Amankan isi register AF
8181 E5 PUSH H ;Amankan isi register HL
8182 21-00-85 LXI H,8500 ;Alamat awal tabel segment
8185 4F MOV C,A ;Amankan nilai acc
8186 E6-0F ANI 0FH ;Ambil Low nibble
8188 6F MOV L,A ;Tukar ke alamat tabel segment
8189 7E MOV A,M ;Baca nilai segment
818A 12 STAX D ;Simpan pada memori display
818B 13 INX D ;Naikkan alamat memori display
818C 79 MOV A,C ;Ambil data
818D 0F RRC ;Geser 4 kali untuk mengambil
818E 0F RRC ;High nibble data
818F 0F RRC
8190 0F RRC
8191 E6-0F ANI 0F
8193 6F MOV L,A ;Jadikan alamat byte rendah tabel
8194 7E MOV A,M ;Baca nilai segment
8195 12 STAX D ;Simpan ke memory display
8196 E1 POP H ; HL
8197 F1 POP PSW ; AF
8198 C9 RET ;Kembali

Tabel nilai Segment


8500=3FH 8504=66H 8508=7FH 850C=39H
8501=06H 8505=6DH 8509=67H 850D=5EH
8502=5BH 8506=7DH 850A=77H 850E=79H
8503=4FH 8507=07H 850B=7CH 850F=71H
Tabel Data Trace (TRACE=1) dan hanya port C yg terpilih yang berubah
8410=05H 8414=01H
8411=04H 8415=00H
8412=03H
8413=02H
Routine OUDISPLAY

Addres Machine Label Mnemonic Comment


8150 E5 OUTDISP: PUSH H
8151 F5 PUSH PSW
8152 D5 PUSH D
8153 21-00-84 LXI H,8400H ;Set alamat awal memori display
8156 11-10-84 LXI D,8410H ;Set alamat data trace
8159 3E-00 TERUS: MVI A,00 ;Padamkan 7-segement
815B D3-11 OUT 11H
815D 1A Baca data trace (hanya PC terpilih
LDAX D yg 0)
815E B0 ORA B Gabung dgn data Alarm
815F D3-12 OUT 12H ;Berikan ke decoder
8161 7E MOV A,M ;Ambil nilai segment
8162 D3-11 OUT 11H ;Berikan ke 7-segment
8164 CD-00-82 CALL DELAY ;Tunggu sesaat
8167 13 INX D ;Naikkan alamat data trace
8168 23 INX H ;Naikkan alamat memori display
8169 7D MOV A,L ;Periksa apakah sdh max+1
816A FE-02 CPI 02
816C C2-59-81 JNZ TERUS ;Ulangi jika belum semua ditrace
816F D1 POP D
8170 F1 POP PSW
8171 E1 POP H
8172 C9 RET ;Kembali

8200 C5 Delay: PUSH B


8201 06-10 MVI B,10H ;Set delay (pengulangan)
8203 00 UL_DEL1: NOP
8204 05 DCR B ; Kurangi pengulangan
8205 C2-03-82 JNZ UL_DEL1 ;Ulangi jika belum 0
8208 C1 POP B
8209 C9 RET
8926 FE-60 CPI 51 Ulangi
8928 C2-0C-89 JNZ ULANG Ambil nilai counter
892B C3-0A-89 JMP AWAL Naikkan Counter

Anda mungkin juga menyukai