Skip to content

Hello Wolrd Assembly Style

Seperti berbagai contoh bahasa pemograman lain. Pogram pertama yang kita buat adalah Hello World hehe. but bukan berarti memunculkan kata Hello World di layar PC namun untuk menyalakan dan mematikan LED atau lebih tepat nya pin pada AT89S52 dengan interval tertentu.

Psudo Code

1
2
3
4
5
6
main:
    set pin PORT1.0 menjadi LOW
    delay 1 detik
    set pin PORT1.0 menjadi HIGH
    delay 1 detik
    lompat ke main
Dari diatas dapat dibangun program assembly seperti dibawah ini

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
jmp main

delay:  ; delay
    nop ; seharusnya disini dibuat looping sampai 1s. Masalahnya
        ; untuk simulasi hal ini sangat menggangu karena
        ; simulasi tidak secepat hardware asli.
        ; jadi untuk simulasi digunakan nop == 1clock
    ret

main:            ; main
    setb p1.0    ; set == buat high p1.0
    call delay   ; delay 1s
    clr p1.0     ; clr == buat low p1.0
    call delay   ; delay 1s
    jmp main     ; lompat ke main
end

ketik atau copas code diatas pada MCU 8051 IDE dan tekan "Compile"(F11) jika tidak ada error pada panel message tekan tombol "Start debug"(F5) maka akan muncul garis warna hijau di code kita, tekan "Step"(F7) untuk mulai menjalankan pogram step by step.

Perhatikan panel "Simulator" pada bagian "P1" nilai dari HEX dan BIN akan berubah-ubah saat pogram sampai pada baris setb P1.0 dan clr P1.0 jika program ini dimasukkan atau di downloadkan pada AT89S52 maka teganan dari P1.0 akan berubah dari 0v ke 5v dan kembali lagi.

Materi Lanjutan

Untuk belajar lebih banyak tentang assembly pada AT89S52 silahkan dilanjutkan pada "Assembly 8051"

Goodluck.


Last update: February 11, 2021

Comments