home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / CPM / TURBODSG / HEXDEC.A < prev    next >
Text File  |  2000-06-30  |  809b  |  53 lines

  1. ;HEX TO DEC ROUTINE FOR 8086/88
  2. ;
  3. ; INPUT:  DX=HEX, [BX]=BUFFER
  4. ; OUTPUT: [BX]=DECIMAL, CX,AL DESTROYED
  5. ;
  6.     MODULE    "HEXDEC"
  7. ;
  8.     LOC    Code#
  9. ;
  10. HEXDEC::
  11.     MOV    LEAD,=0
  12.     MOV     CX,=-10000
  13.         CALL    MAKDEC
  14.         MOV     CX,=-1000
  15.         CALL    MAKDEC
  16.         MOV     CX,=-100
  17.         CALL    MAKDEC
  18.         MOV     CX,=-10
  19.         CALL    MAKDEC
  20.         MOV     CX,=-1
  21.         CALL    MAKDEC
  22.         RET
  23. ;
  24. MAKDEC: MOV     AH,=-1
  25.         PUSH    BX
  26. MDECLP: PUSH    DX
  27.         INC     AH
  28.         ADD     DX,CX
  29.         JNC     DECD
  30.         POP     BX
  31.         JMPS    MDECLP
  32. ;
  33. DECD:   POP     DX
  34.         POP     BX
  35.     OR    AH,AH
  36.     JNZ    __S
  37.     CMP    LEAD,=0
  38.     JNZ    __S
  39.     RET
  40. ;
  41. __S:    MOV     AL,='0'
  42.         ADD     AL,AH
  43.         MOV     [BX],AL
  44.         INC     BX
  45.     MOV    LEAD,AL
  46.         RET
  47. ;
  48.     LOC    Data#
  49. ;
  50. LEAD:    BYTE    0
  51. ;
  52.     END
  53.