Guest

16 bit decimal to hex

By: a guest on Jan 28th, 2012  |  syntax: None  |  size: 1.28 KB  |  hits: 17  |  expires: Never
download  |  raw  |  embed  |  report abuse
Copied
  1. ;Op pc 16 bit getal inlezen
  2. ;heximale waarde afdrukken op controller scherm
  3. ;op lijn 1 als getal = 0000h
  4. ;op lijn 2 als getal > 0000h en getal < 8000h
  5. ;op lijn 3 als getal >= 8000h en getal < FFFFh 
  6. ;op lijn 4 als getal = FFFFH   
  7. ;op interupt basis looplicht laten lopen dat om de 0,25sec verspringt
  8. ;looplicht blijft staan wnr er op p2.0 gedrukt word
  9.  
  10.         org 0000h
  11.         mov sp,#7Fh
  12.         ljmp main
  13.     ;hier komt een interrupt
  14.     org 000Bh
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.     main:
  23.         lcall initsio
  24.         lcall initlcd
  25.         lcall initleds
  26.     lezen:
  27.         lcall sioinbufa ;Leest het getal in tot het einde (carriage return #0dh, deze wordt niet mee ingelezen).
  28.                 push acc
  29.         cjne a,#0dh,lezen
  30.         pop acc
  31.         ljmp omzetten
  32.     omzetten:        
  33.      mov r0,#54h         ; eerste getal ophalen uit buffer
  34.      lcall ascii1
  35.      mov r0,a
  36.      mov r1,#00h
  37.      mov r3,#27h
  38.      mov r2,#10h
  39.      lcall mul16  
  40.      mov a,r1
  41.      push acc
  42.      mov a,r0
  43.      push acc
  44.      mov r0,#55h
  45.      lcall ascii4
  46.      mov r1,dph
  47.      mov r0,dpl
  48.      lcall bcdhex16
  49.      pop acc
  50.      mov r2,a
  51.      pop acc
  52.      mov r3,a
  53.      lcall add16
  54.      mov a,r1
  55.      lcall lcdoutbyte
  56.      mov a,r0
  57.      lcall lcdoutbyte
  58.  
  59.      #include "c:\xcez1.inc"