home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / vol090 / sma2hc.mac < prev    next >
Encoding:
Text File  |  1984-04-29  |  873 b   |  41 lines

  1. ;
  2. ; SYSLIB Module Name:  SMA2HC
  3. ; Author:  Richard Conn
  4. ; SYSLIB Version Number:  2.0
  5. ; Module Version Number:  1.0
  6. ; Module Entry Points:
  7. ;    MA2HC
  8. ; Module External References:
  9. ;    EN
  10. ;
  11. ;
  12. ;  MA2HC --
  13. ;    STORE REG A AS 2 HEXADECIMAL CHARACTERS IN MEMORY PTED TO BY DE;
  14. ; ON INPUT, A=VALUE AND HL=PTR TO 2-BYTE BUFFER
  15. ; ON RETURN, DE PTS TO NEXT BYTE AFTER BUFFER
  16. ;
  17.     EXT    EN
  18.  
  19. MA2HC::
  20.     XCHG        ; PTR IN HL INSTEAD
  21.     PUSH    PSW    ; SAVE A
  22.     PUSH    PSW
  23.     CALL    EN    ; EXCHANGE NYBBLES
  24.     CALL    PAHC    ; PRINT LOW-ORDER NYBBLE AS HEX
  25.     POP    PSW    ; GET A
  26.     CALL    PAHC    ; PRINT LOW-ORDER NYBBLE AS HEX
  27.     POP    PSW    ; RESTORE A
  28.     XCHG        ; POINTER BACK IN DE
  29.     RET
  30. PAHC:    ANI    0FH    ; MASK FOR LOW NYBBLE
  31.     CPI    10    ; LETTER OR DIGIT?
  32.     JC    PADIG    ; DIGIT IF CARRY
  33.     ADI    'A'-10    ; CONVERT TO 'A'-'F'
  34.     JMP    PUT    ; PUT IN MEMORY
  35. PADIG:    ADI    '0'    ; CONVERT TO '0'-'9'
  36. PUT:    MOV    M,A    ; CHAR IN MEMORY
  37.     INX    H    ; PT TO NEXT LOCATION
  38.     RET
  39.  
  40.     END
  41.