home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / sh4x / sh43b.d64 / quickjump.quell (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  3KB  |  99 lines

  1. 10 OPEN4,4,7
  2. 20 SYS9*4096
  3. 30 .OPT OO,P4
  4. 40 VEKTOR = $22
  5. 50 *= $C000
  6. 60 START  JMP COPY       ; SPRUNG ZUR INITIALISIERUNG
  7. 70 FLAG   .BYT 0         ; FLAG FUER TABELLENEINTRAGUNG
  8. 80 TABEND .BYT $00,$D0   ; TABELLENENDE
  9. 90 ; *******************
  10. 100 ; **INITIALISIERUNG**
  11. 110 ; *******************
  12. 120 ; *** BETRIEBSSYSTEM KOPIEREN
  13. 130 COPY LDY #0 : STY VEKTOR : LDA #$A0 : STA VEKTOR+1
  14. 140 LOOP1 LDA (VEKTOR),Y : STA (VEKTOR),Y
  15. 150 INY : BNE LOOP1
  16. 160 INC VEKTOR+1 : LDA #$C0 : CMP VEKTOR+1 : BNE LOOP1
  17. 170 ; *** SPRUNG IN EIGENE ZEILENSUCHROUTINE EINBINDEN
  18. 180 LDA #<TAB : STA $A8C1
  19. 190 LDA #>TAB : STA $A8C2
  20. 200 ; *** TABELLE LOESCHEN BEI 'RUN' EINBINDEN
  21. 210 LDA #<BEG : STA $A020
  22. 220 LDA #>BEG : STA $A021
  23. 230 ; *** BASIC-ROM AUSBLENDEN
  24. 240 LDA $1 : AND #254 : STA $1
  25. 250 ; *** TABELLE LOESCHEN
  26. 260 INIT  LDA #<TABANF : STA TABPTR
  27. 270 LDA #>TABANF : STA TABPTR+1
  28. 280 RTS
  29. 290 ; ****************************
  30. 300 ; **EIGENE ZEILENSUCHROUTINE**
  31. 310 ; ****************************
  32. 320 TAB   STA $5F : STX $60             ; ZN AB DER ZU SUCHEN IST
  33. 330 ; ****************************
  34. 340 ; *** TEST OB TABELLE LEER ***
  35. 350 ; ****************************
  36. 360 LDA #>TABANF : CMP TABPTR+1 : BNE NOEMP
  37. 370 LDA #<TABANF : CMP TABPTR   : BNE NOEMP
  38. 380 BEQ SRCH
  39. 390 ; ***************************
  40. 400 ; *** TABELLE DURCHSUCHEN ***
  41. 410 ; ***************************
  42. 420 ; ZEIGER AN TABELLENANFANG
  43. 430 NOEMP LDA #<TABANF : STA VEKTOR
  44. 440 LDA #>TABANF : STA VEKTOR+1
  45. 450 ; *** MIT GESUCHTER NUMMER VERGLEICHEN
  46. 460 L01   LDY #0 : LDA (VEKTOR),Y : CMP $14 : BNE C01
  47. 470 INY    : LDA (VEKTOR),Y : CMP $15:  BEQ FOUND
  48. 480 ; *** ZEIGER AUF NAECHSTEN EINTRAG
  49. 490 C01   LDA VEKTOR : CLC : ADC #4 : STA VEKTOR
  50. 500 LDA VEKTOR+1     : ADC #0 : STA VEKTOR+1
  51. 510 ; *** WENN TABELLENENDE NOCH NICHT ERREICHT WEITERSUCHEN
  52. 520 CMP TABPTR+1 : BNE L01
  53. 530 LDA VEKTOR : CMP TABPTR : BNE L01
  54. 540 ; *** GESUCHTE NUMMER NICHT IN TABELLE
  55. 550 :     BEQ SRCH
  56. 560 ; *** ZEILENNUMMER GEFUNDEN - UEBERGEBEN
  57. 570 FOUND INY : LDA (VEKTOR),Y : STA $5F
  58. 580 INY : LDA (VEKTOR),Y : STA $60
  59. 590 SEC : RTS
  60. 600 ; ****************************
  61. 610 ; *** PROGRAMM DURCHSUCHEN ***
  62. 620 ; ****************************
  63. 630 SRCH  LDY #1 : JSR $A61D : BCS FND
  64. 640 ; *****************************
  65. 650 ; *** ZEILE EXISTIERT NICHT ***
  66. 660 ; *****************************
  67. 670 NFND  CLC : RTS
  68. 680 ; **********************
  69. 690 ; *** ZEILE GEFUNDEN ***
  70. 700 ; **********************
  71. 710 ; *** EINTRAGUNG NICHT GEWUENSCHT
  72. 720 FND   LDA FLAG : BNE C02
  73. 730 ; *** TABELLE SCHON VOLL
  74. 740 LDA TABPTR+1 : CMP TABEND+1 : BNE APND
  75. 750 LDA TABPTR   : CMP TABEND   : BNE APND : SEC : RTS
  76. 760 ; ***********************************
  77. 770 ; *** NUMMER IN TABELLE EINTRAGEN ***
  78. 780 ; ***********************************
  79. 790 ; *** TABELLENENDE-ZEIGER ERHOEHEN
  80. 800 APND  LDY #0 : LDA TABPTR   : STA VEKTOR : CLC : ADC #4 : STA TABPTR
  81. 810 LDA TABPTR+1 : STA VEKTOR+1     : ADC #0 : STA TABPTR+1
  82. 820 ; *** ADRESSE IN TABELLE EINTRAGEN
  83. 830 LDA $14 : STA (VEKTOR),Y : INY
  84. 840 LDA $15 : STA (VEKTOR),Y : INY
  85. 850 LDA $5F : STA (VEKTOR),Y : INY
  86. 860 LDA $60 : STA (VEKTOR),Y
  87. 870 C02   SEC : RTS
  88. 880 ; ******************************
  89. 890 ; **MODIFIZIERTER 'RUN'-BEFEHL**
  90. 900 ; ******************************
  91. 910 BEG   .BYT 0
  92. 920 PHP : JSR INIT : JMP $A872
  93. 930 ; *************************************
  94. 940 ; **TABELLENZEIGER UND TABELLENANFANG**
  95. 950 ; *************************************
  96. 960 TABPTR .BYT 0,0
  97. 970 TABANF .BYT 0
  98. 980 .END
  99.