?login_element?

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. ;Write a Hex number in BCHL, CHL, HL or A to memory at DE
  2. sphex8
  3.         DI
  4.         LD      A,B
  5. ;Big multidecker fall-through...
  6.         CALL    sphex2
  7. sphex6
  8.         LD      A,C
  9.         CALL    sphex2
  10. sphex4
  11.         LD      A,H
  12.         CALL    sphex2
  13.         LD      A,L
  14. sphex2
  15.         PUSH    AF
  16.         RRCA
  17.         RRCA
  18.         RRCA
  19.         RRCA
  20.         CALL    sphex1
  21.         POP     AF
  22. sphex1
  23.         AND #0F
  24.         CP #0A
  25.         JR      C,sph1a
  26.         ADD     A,7
  27. sph1a
  28.         ADD A,"0"
  29.         LD      (DE),A
  30.         INC     DE
  31.         EI
  32.         RET
  33.  
  34. ;;;;
  35. ;Write decimal numbers in HL to memory at DE
  36. cphlbc
  37.         PUSH    HL
  38.         AND     A
  39.         SBC     HL,BC
  40.         POP     HL
  41.         RET
  42.  
  43. spdec
  44.         DI
  45.         LD      BC,10000
  46.         CALL    cphlbc
  47.         JR      NC,spdec5
  48.         LD      BC,1000
  49.         CALL    cphlbc
  50.         JR      NC,spdec4
  51.         LD      BC,100
  52.         CALL    cphlbc
  53.         JR      NC,spdec3
  54.         LD      A,L
  55.         CP      10
  56.         JR      NC,spdec2       ;>=10
  57.         JR      spdec1
  58.  
  59. spdec5
  60.         LD      BC,10000
  61.         CALL    dodec
  62. spdec4
  63.         LD      BC,1000
  64.         CALL    dodec
  65. spdec3
  66.         LD      BC,100
  67.         CALL    dodec
  68. spdec2
  69.         LD      BC,10
  70.         CALL    dodec
  71. spdec1
  72.         LD      A,L
  73.         ADD     A,"0"
  74.         LD      (DE),A
  75.         INC     DE
  76.         EI
  77.         RET
  78.  
  79. dodec
  80.         LD A,"0"
  81. ddlp
  82.         INC     A
  83.         AND     A
  84.         SBC     HL,BC
  85.         JR      NC,ddlp
  86.         DEC     A
  87.         ADD     HL,BC
  88.         LD      (DE),A
  89.         INC     DE
  90.         RET
  91.