Membuat Program Assembly

  • Buat Program assembly untuk fungsi tertentu, minimal 50 baris. Setiap baris berikan comment “addressing mode” apa perintah tersebut.
  • ;Program ini menampilkan output dari seven segmen mulai angka 1 sampai huruf F
  • ; CATATAN: LOGIKA 0 ADALAH LED MENYALA DAN LOGIKA 1 ADALAH LED MATI…

BAGIAN1:  SETB P3.3

SETB P3.4 ; Mengijinkan tampilan layar 3

MOV P1, #11111001B ; menampilkan angka 1 pada layar(addressing mode : immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

CLR P3.3 ; Mengijinkan tampilan layar 2

MOV P1, #10100100B ; menampilkan angka 2 pada layar(addressing mode: immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

CLR P3.4

SETB P3.3 ; Mengijinkan tampilan layar 1

MOV P1, #10110000B ; menampilkan angka 3 pada layar(addressing mode: immediate)

MOV P1, #0FFh ; menghapus layar(addressing mode: immediate)

CLR P3.3  ; Mengijinkan tampilan layar 0

MOV P1, #10011001B ; menampilkan angka 4 pada layar(addressing mode: immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

JMP BAGIAN2 ; melompat ke BAGIAN2

BAGIAN2: ;  

SETB P3.3

SETB P3.4 ; Mengijinkan tampilan layar 3

MOV P1, #10010010B ; menampilkan angka 5 pada layar(addressing mode : immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

CLR P3.3 ; Mengijinkan tampilan layar 2

MOV P1, #10000010B ; menampilkan angka 6 pada layar(addressing mode : immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

CLR P3.4

SETB P3.3 ; Mengijinkan tampilan layar 1

MOV P1, #11111000B ; menampilkan angka 7 pada layar(addressing mode : immediate)

MOV P1, #0FFh ; menghapus layar(addressing mode: immediate)

CLR P3.3 ; Mengijinkan tampilan layar 0

MOV P1, #10000000B ; menampilkan angka 8 pada layar(addressing mode : immediate)

MOV P1, #0FFH ; clear display

JMP BAGIAN3 ; melompat ke BAGIAN3

BAGIAN3:  SETB P3.3

SETB P3.4 ; Mengijinkan tampilan layar 3

MOV P1, #10010000B  ; menampilkan angka 9 pada layar(addressing mode : immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

CLR P3.3 ; Mengijinkan tampilan layar 2

MOV P1, #10001000B ; menampilkan huruf A pada layar(addressing mode : immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

CLR P3.4

SETB P3.3 ; Mengijinkan tampilan layar 1

MOV P1, #10000011B ; menampilkan huruf b pada layar(addressing mode : immediate)

MOV P1, #0FFh ; menghapus layar(addressing mode: immediate)

CLR P3.3 ; Mengijinkan tampilan layar 0

MOV P1, #11000110B ; menampilkan huruf c pada layar(addressing mode : immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

JMP BAGIAN4 ; melompat ke BAGIAN4

 

BAGIAN4:   

SETB P3.3

SETB P3.4 ; Mengijinkan tampilan layar 3

MOV P1, #10100001b  ; menampilkan huruf d pada layar(addressing mode : immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

CLR P3.3 ; Mengijinkan tampilan layar 2

MOV P1, #10000110b  ; menampilkan huruf E pada layar(addressing mode : immediate)

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

CLR P3.4

SETB P3.3 ; Mengijinkan tampilan layar 1

MOV P1, #10001110b ; menampilkan huruf F pada layar(addressing mode : immediate)

MOV P1, #0FFh ; menghapus layar(addressing mode: immediate)

CLR P3.3 ; Mengijinkan tampilan layar 0

MOV P1, #0FFH ; menghapus layar(addressing mode: immediate)

 JMP BAGIAN1 ; melompat kembali ke BAGIAN1