home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C64'er
/
C64'er.iso
/
85xx
/
8512.d64
/
bsp.-quelltext
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
2KB
|
60 lines
30 .EQ ZEICHEN = $FC ;VARIABLEN VEREINBAREN
40 .EQ TEXTLO = $FA
50 .EQ TEXTHI = $FB
60 .EQ CHROUT = $FFD2
70 .EQ GET = $FFE4
80 ;
90 .BA $9000 ;STARTADRESSE=$9000
100 ;
110 LOOP JSRGET;AUF EINGABE WARTEN
120 BEQLOOP;WENN UNGLEICH 0 DANN WEITER
130 ;
140 STAZEICHEN;UND MERKEN
150 LDX#00;INDEXREGISTER X MIT 0 VORBELEGEN
160 LOOP1 LDATASTENTAB,X;ERSTES ZEICHEN AUS TABELLE HOLEN
170 CMPZEICHEN;UND MIT ZEICHEN VERGLEICHEN
180 BEQLOOP1END;WENN GLEICH DANN FERTIG
190 CMP#"#";SONST MIT ENDEZEICHEN VERGLEICHEN
200 BEQLOOP;BEI UEBEREINSTIMMUNG WIEDER AN DEN ANFANG
210 INX;SONST X-REGISTER UM 1 ERHOEEN
220 BNELOOP1;UND MIT NAECHSTEM ZEICHEN VERGLEICHEN
230 ;
240 LOOP1END LDAFUNKTABHI,X;ABHAENGIG VOM X-REGISTER HI-BYTE -1 DER ANZU-
250 PHA;SPRINGENDEN FUNKTION HOLEN UND AUF DEN STACK
260 LDAFUNKTABLO,X;DAS GLEICHE FUR DAS LO-BYTE
270 PHA
280 RTS;AN DIESER STELLE WIRD ZUR FUNKTION VERZWEIGT
290 ;
300 TASTE1 LDX#<(TEXT1);LO-BYTE STARTADRESSE DES 1.TEXTES INS X-REGISTER
310 LDY#>(TEXT1);HI-BYTE STARTADRESSE DES 1.TEXTES INS Y-REGISTER
320 JMPAUSGABE;TEXT AUSGEBEN
330 TASTE2 LDX#<(TEXT2);DAS GLEICHE FUER DEN 2.TEXT
340 LDY#>(TEXT2)
350 JMPAUSGABE
360 ;
370 TASTE3 RTS;BEI DIESER TASTE IN DEN BASICINTERPRETER VERZW.
380 ;
390 AUSGABE STXTEXTLO;LO-BYTE DES AUSGEWAEHLTEN TEXTES MERKEN
400 STYTEXTHI;DAS GLEICHE FUER DAS HI-BYTE
410 LOOPAUS LDY#00;Y-REGISTER MIT NULL VORBELEGEN
420 LDA(TEXTLO),Y;UND DEN AKKU MIT DEM ERSTEN ZEICHEN LADEN
430 CMP#"#";IST DAS ENDE SCHON ERREICHT?
440 BEQLOOPAUSE;WENN JA DANN FERTIG
450 JSRCHROUT;SONST ZEICHEN AUSGEBEN
460 INCTEXTLO;UND DEN ZEIGER TEXTLO UND HI UM 1 ERHOEEN
470 BNELOOPAUS
480 INCTEXTHI
490 JMPLOOPAUS
500 LOOPAUSE JMPLOOP;HIER WIRD WIEDER AN DEN ANFANG (EINGABE) VERZW.
510 ;
520 TASTENTAB .TX"123#"
530 ;
540 FUNKTABHI .BY>(TASTE1-1),>(TASTE2-1),>(TASTE3-1)
550 FUNKTABLO .BY<(TASTE1-1),<(TASTE2-1),<(TASTE3-1)
560 ;
570 TEXT1 .TX"DIES IST DER ERSTE TEXT"
580 .BY13,"#"
590 ;
600 TEXT2 .TX"DIES IST DER ZWEITE TEXT"
610 .BY13,"#"