Listing Konversi Bilangan Desimal Ke Hexa
dengan bahasa Assembler

$mod51
;====================================================================
;==== Program Sederhana Desimal ke Hexa =============================
;====================================================================

    DesimalRibuan    data    33h   
    DesimalRatusan    data    32h
    DesimalPuluhan    data    31h
    DesimalSatuan    data    30h
    Hexa        data    38h

Utama:
    mov    DesimalRibuan,#00
    mov    DesimalRatusan,#00
    mov    DesimalPuluhan,#01
    mov    DesimalSatuan,#02

    mov    Hexa,#00
    mov    Hexa+1,#00
    mov    Hexa+2,#00
    mov    Hexa+3,#00
    acall    Kurang
    sjmp    $
   
Kurang:
    dec    DesimalSatuan
    mov    a,DesimalSatuan
    cjne    a,#0ffh,Tambah
    mov    DesimalSatuan,#9
   
    dec    DesimalPuluhan
    mov    a,DesimalPuluhan
    cjne    a,#0ffh,Tambah
    mov    DesimalSatuan,#9
    mov    DesimalPuluhan,#9
   
    dec    DesimalRatusan
    mov    a,DesimalRatusan
    cjne    a,#0ffh,Tambah
    mov    DesimalSatuan,#9
    mov    DesimalPuluhan,#9
    mov    DesimalRatusan,#9

    dec    DesimalRibuan
    mov    a,DesimalRibuan
    cjne    a,#0ffh,Tambah
    mov    DesimalSatuan,#9
    mov    DesimalPuluhan,#9
    mov    DesimalRatusan,#9
    mov    DesimalRibuan,#9
    ret

Tambah:   
    inc    Hexa+3
    mov    a,Hexa+3
    jnz    Kurang

    inc    Hexa+2
    mov    a,Hexa+2
    jnz    Kurang

    inc    Hexa+1
    mov    a,Hexa+1
    jnz    Kurang

    inc    Hexa
    mov    a,Hexa
    jnz    Kurang
    ret

end

Tidak ada komentar:

Posting Komentar