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
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