home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / 93xx / 9308b.d64 / dez-8bit.asc < prev    next >
Text File  |  1995-03-30  |  2KB  |  70 lines

  1.          *= $1000
  2. ;---------------------------------------
  3. ;─IESE ╞UNKTION WANDELT EIN
  4. ;'8-BIT UNSIGNED BYTE' (VORZEICHENLOSE
  5. ;8-┬IT-┌AHL IM ┬EREICH VON 0 BIS 255)
  6. ;DIE IM X-╥EGISTER UEBERGEBEN WIRD
  7. ;IN EINEN ─EZIMALSTRING, DER AN DER
  8. ;┴DRESSE ANGELEGT WIRD, AUF DIE DER
  9. ;POINTER ($FC/$FD) WEISST ($FC=LO-BYTE,
  10. ;$FD=HI-BYTE).
  11. ;─IE ╞UNKTION WIRD MIT "JSR DEZ" AUF-
  12. ;GERUFEN.
  13. ;               (W) 1992 ┬ENJAMIN ┬OMMER
  14. ;---------------------------------------
  15. DEZ      STX DL1     ;BYTE PUFFERN
  16.  
  17.          LDY #2      ;BEREICH MIT
  18.          LDA #$30    ;"000" LOESCHEN
  19. DELP     STA ($FC),Y
  20.          DEY
  21.          BPL DELP
  22.  
  23.          LDA #<DTAB  ;POINTER AUF
  24.          STA $FE     ;TABELLE IN ($FE)
  25.          LDA #>DTAB
  26.          STA $FF
  27.  
  28. DN0      LDX DL1     ;OBERSTES BIT GE-
  29.          BPL DN1     ;SETZT ?
  30.  
  31.          LDY #2      ;WENN JA, ADDIERE
  32.          CLC         ;WERT AUS TABELLE
  33. DR0      LDA ($FC),Y
  34.          ADC ($FE),Y
  35.          CMP #$3A
  36.          BCC DR1
  37.          SBC #10
  38. DR1      STA ($FC),Y
  39.          DEY
  40.          BPL DR0
  41.  
  42. DN1      LDA $FE    ;TABELLEN-POINTER
  43.          CLC        ;HOCHSETZEN
  44.          ADC #3
  45.          STA $FE
  46.          BCC DN4
  47.          INC $FF
  48.  
  49. DN4      ASL DL1    ;DAS BYTE WIRD UM
  50.                     ;EIN BIT NACH LINKS
  51.                     ;GESHIFTET.
  52.  
  53.          BNE DN0    ;NOCH EIN BIT GE-
  54.                     ;SETZT ? ╫ENN JA,
  55.                     ;WEITER, SONST:
  56.  
  57.          RTS        ;RUECKSPRUNG
  58.  
  59. DTAB     .BYTE 1,2,8     ;2^7
  60.          .BYTE 0,6,4     ;.
  61.          .BYTE 0,3,2     ;.
  62.          .BYTE 0,1,6     ;.
  63.          .BYTE 0,0,8     ;
  64.          .BYTE 0,0,4     ;2^2
  65.          .BYTE 0,0,2     ;2^1
  66.          .BYTE 0,0,1     ;2^0
  67.  
  68. DL1      .BYTE 0
  69.  
  70.