
16 bit decimal to hex
By: a guest on Jan 28th, 2012 | syntax:
None | size: 1.28 KB | hits: 17 | expires: Never
;Op pc 16 bit getal inlezen
;heximale waarde afdrukken op controller scherm
;op lijn 1 als getal = 0000h
;op lijn 2 als getal > 0000h en getal < 8000h
;op lijn 3 als getal >= 8000h en getal < FFFFh
;op lijn 4 als getal = FFFFH
;op interupt basis looplicht laten lopen dat om de 0,25sec verspringt
;looplicht blijft staan wnr er op p2.0 gedrukt word
org 0000h
mov sp,#7Fh
ljmp main
;hier komt een interrupt
org 000Bh
main:
lcall initsio
lcall initlcd
lcall initleds
lezen:
lcall sioinbufa ;Leest het getal in tot het einde (carriage return #0dh, deze wordt niet mee ingelezen).
push acc
cjne a,#0dh,lezen
pop acc
ljmp omzetten
omzetten:
mov r0,#54h ; eerste getal ophalen uit buffer
lcall ascii1
mov r0,a
mov r1,#00h
mov r3,#27h
mov r2,#10h
lcall mul16
mov a,r1
push acc
mov a,r0
push acc
mov r0,#55h
lcall ascii4
mov r1,dph
mov r0,dpl
lcall bcdhex16
pop acc
mov r2,a
pop acc
mov r3,a
lcall add16
mov a,r1
lcall lcdoutbyte
mov a,r0
lcall lcdoutbyte
#include "c:\xcez1.inc"