home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / compuserve-file-archive / 04 geoProgramming / HEXCLC.SDA / ASCII (.txt) next >
Encoding:
GEOS ConVerT  |  2019-04-13  |  3.2 KB  |  206 lines

  1. ASCII
  2. SEQ formatted GEOS file V1.0
  3. Olivetti PR2300
  4. OP V2.0 or higher
  5. BLASTER'S CONVERTER V2.5
  6. ASCII
  7. UTILITY
  8. COPE SOURCE V1.0
  9. DL870517
  10. COPE EDITOR V1.0
  11. ; ASCII
  12. ; VALUE IS THE BINARY NUMBER CONVERTED INTO ASCII CODE.
  13. VALUE .BYTE 0,0
  14. ;MOD 10 IS A TEMPORARY WORK AREA
  15. MOD10 .BYTE 0,0
  16. Keyinlen .BYTE 0
  17. KINBUF .Block 32,0
  18. DISLEN .BYTE 0
  19. DXSBUF .Block 32,0
  20. ; CONVERSION ROUTINES
  21. ; USED TO CONVERT ASCII CHARACTERS
  22. ; TO A WORD VALUE.
  23. ; BEFORE ENTRY MOVE NUMBER TO
  24. ; CONVERT INTO 'VALUE' LOCATION
  25. ; RESULT IS STORED IN DXSBUF
  26. ;  AND LENGTH IS PLACED IN DISLEN
  27. ; CONVERTS BINARY, DECIMAL  AND HEXADECIMAL
  28. RESULT .Byte 0,0
  29. ;=======
  30. BIN2ST
  31.  jsr move2value
  32.  LDA #0
  33.  STA DISLEN
  34.  STA XLOOP
  35. BINLP1
  36.  INC XLOOP
  37.  ASL VALUE
  38.  ROL VALUE+1
  39.  BCS ONEBIN
  40.  BNE DOTZER
  41.  BNE DOTZER
  42.  LDA XLOOP
  43.  CMP #16
  44.  BNE BINLP1
  45. DOTZER
  46.  LDA #48
  47.  STA DXSBUF,X
  48.  BNE ENDLOP
  49. ONEBIN  LDA #49
  50.  STA DXSBUF,X
  51. ENDLOP
  52.  LDA XLOOP
  53.  CMP #16
  54.  BNE BINLP1
  55.  STX DISLEN
  56. XLOOP .BYTE 0
  57. ;----------*
  58. ;BSTRING2BIN CONVERSION ROUTINE
  59. ST2BIN
  60.  LDA #0
  61.  STA RESULT
  62.  STA RESULT+1
  63. BINLOP
  64.  ASL RESULT
  65.  ROL RESULT+1
  66.  LDA KINBUF,X
  67.  AND #1
  68.  ADC RESULT
  69.  STA RESULT
  70.  LDA #0
  71.  ADC RESULT+1
  72.  STA RESULT+1
  73.  CPX Keyinlen
  74.  BNE BINLOP
  75. ;-------*
  76. ;HEX2BIN CONVERSION ROUTINE
  77. HEXBIN
  78.  LDA #0
  79.  STA RESULT
  80.  STA RESULT+1
  81. HEXLOP
  82.  ASL RESULT
  83.  ROL RESULT+1
  84.  ASL RESULT
  85.  ROL RESULT+1
  86.  ASL RESULT
  87.  ROL RESULT+1
  88.  ASL RESULT
  89.  ROL RESULT+1
  90.  LDA KINBUF,X
  91.  CMP #65
  92.  BCC MORHEX
  93.  SBC #7
  94. MORHEX
  95.  AND #15
  96.  ADC RESULT
  97.  STA RESULT
  98.  LDA #0
  99.  ADC RESULT+1
  100.  STA RESULT+1
  101.  CPX Keyinlen
  102.  BNE HEXLOP
  103. ;--------*
  104. BINHEX
  105. jsr move2value
  106.  LDA #0
  107.  STA DISLEN
  108.  LDA VALUE+1
  109.  BEQ LOWBYT
  110.  BEQ THEHEX
  111.  LDA HEXTBL,Y
  112.  STA DXSBUF,X
  113. THEHEX  LDA VALUE+1
  114.  AND #15
  115.  LDA HEXTBL,Y
  116.  STA DXSBUF,X
  117. LOWBYT
  118.  LDA VALUE
  119.  BNE CONT22
  120.  BEQ ONEHEX
  121. CONT22
  122.  LDA HEXTBL,Y
  123.  STA DXSBUF,X
  124. ONEHEX
  125.  LDA VALUE
  126.  AND #15
  127.  LDA HEXTBL,Y
  128.  STA DXSBUF,X
  129.  STX DISLEN
  130. HEXTBL .BYTE '0123456789ABCDEF'
  131. ;---------*
  132. DECBIN
  133. STRDEC
  134.  LDA #0
  135.  STA RESULT
  136.  STA RESULT+1
  137. DECLOP
  138.  ASL RESULT
  139.  ROL RESULT+1
  140.  LDA RESULT
  141.  LDY RESULT+1
  142.  ASL RESULT
  143.  ROL RESULT+1
  144.  ASL RESULT
  145.  ROL RESULT+1
  146.  ADC RESULT
  147.  STA RESULT
  148.  ADC RESULT+1
  149.  STA RESULT+1
  150.  LDA KINBUF,X
  151.  AND #15
  152.  ADC RESULT
  153.  STA RESULT
  154.  LDA #0
  155.  ADC RESULT+1
  156.  STA RESULT+1
  157.  CPX Keyinlen
  158.  BNE DECLOP
  159. ;---------*
  160. BINDEC
  161. jsr move2value
  162.  LDA #0
  163. ; SET DISLEN TO ZERO
  164.  STA DISLEN
  165. CONVRT
  166.  LDA #0
  167.  STA MOD10
  168.  STA MOD10+1
  169.  LDX #16
  170. DVDELP
  171.  ROL VALUE
  172.  ROL VALUE+1
  173.  ROL MOD10
  174.  ROL MOD10+1
  175.  LDA MOD10
  176.  SBC #10
  177.  LDA MOD10+1
  178.  SBC #0
  179.  BCC CNTMOD
  180.  STY MOD10
  181.  STA MOD10+1
  182. CNTMOD
  183.  BNE DVDELP
  184.  ROL VALUE
  185.  ROL VALUE+1
  186.  LDA MOD10
  187.  ADC #48
  188.  LDY DISLEN
  189.  BEQ NOSTRE
  190. INCBUF
  191.  LDA DXSBUF-1,Y
  192.  STA DXSBUF,Y
  193.  BNE INCBUF
  194. NOSTRE
  195.  STA DXSBUF
  196.  INC DISLEN
  197.  LDA VALUE
  198. ORA VALUE+1
  199.  BNE CONVRT
  200. ;------*
  201. move2value
  202.  lda RESULT
  203.  STA VALUE
  204.  LDA RESULT+1
  205.  STA VALUE+1
  206.