;***************** ;* PCODE-1 * ;* INTERPRETER * ;* FUER P-CODE * ;* GRUNDROUTINEN * ;* VERSION 1.3 * ;* >> C64 << * ;* 22.11.1985 * ;***************** ORG $801 ; ; SYS (INIT) ; FUER BASIC ; DFD LLINK,1985 DFD 158,"2087 " DFD "PASCAL1.4",0 LLINK DFD 0,0 ; ;FILE-DESCRIPTOR ;FUER INPUT/OUTPUT ; IBUF DFD 0,0,0,0 DFD 0,0,0,0 OBUF DFD 0,0,0,0 DFD 0,0,0,0 ; ;*** VARIABLEN *** =128,FALLS BREAK TXA BPL BASER1 LDA #30;"BREAK" BASER1 ASL TAX LDA ERRTAB,X TAY INX LDA ERRTAB,X ; ERR1 STY VALUE ; LDY BASIC ; ERRMSG DFD "STACK OV" DFD "ERFLO× " ; DFD "INTEGER " DFD "OVERFLO×" ; DFD "DIVISION" DFD " BY 0 " DFD " "+128 ; DFD "NO LABEL" DFD " IN CASÅ" ; DFD "HEAP OVE" DFD "RFLO× " ; DFD "VALUE OUT " DFD "OF BOUNDS:" DFD " "+128 ; AT DFD 13," ERROR " DFD "AT ",0 ; PMD DFD "CALLED AT ",0 ; TABOP DFD STL-1,STS-1 DFD ST0-1,ST-1 DFD LDL-1,LDS-1 DFD LD0-1,LD-1 ; DFD LDC-1,CST-1 DFD MOV-1,POP-1 DFD OVR-1,ALC-1 DFD NEW-1,TST-1 ; DFD JCD-1,JNC-1 DFD JP-1 ,JMC-1 DFD JML-1,CUP-1 DFD SYS-1,HLT-1 ; DFD RPR-1,RFI-1 DFD RFR-1,MST-1 DFD ERR-1,FDL-1 DFD FDS-1,FD0-1 ; DFD ADD-1,SUB-1 DFD MUL-1,DIV-1 DFD MOD-1,UND-1 DFD OR-1 ,INV-1 ; DFD EQ-1 ,NE-1 DFD LS-1 ,GE-1 DFD GT-1 ,LE-1 DFD CHS-1,NOT-1 ; DFD ABI-1,BLEQ-1 DFD BGE-1,BGT-1 DFD ERR-1,ERR-1 DFD ERR-1,ERR-1 ; DFD ERR-1,ERR-1 DFD ERR-1,ERR-1 DFD ERR-1,ERR-1 DFD ERR-1,ERR-1 ; DFD ERR-1,ERR-1 DFD ERR-1,ERR-1 DFD ERR-1,ERR-1 DFD ERR-1,ERR-1 ; DFD ERR-1,ERR-1 DFD ERR-1,ERR-1 DFD ERR-1,ERR-1 DFD ERR-1,ERR-1 ; DFD ERR-1,ERR-1 DFD ERR-1,ERR-1 DFD ERR-1,ERR-1 DFD ERR-1,ERR-1 ; DFD ERR-1,ERR-1 DFD ERR-1,ERR-1 DFD ERR-1,ERR-1 DFD ERR-1,SPA-1 DFD LPA-1,ADU-1 ;----------------- NEXT5 LDA #5 DFD $2C NEXT4 LDA #4 DFD $2C NEXT3 LDA #3 DFD $2C NEXT2 LDA #2 DFD $2C NEXT1 LDA #1 NEXT CLC ADC

CODE (YR=0!!!) ;----------------- POP12 LDA #244 DFD $2C POP5 LDA #251 DFD $2C POP3 LDA #253 DFD $2C POP2 LDA #254 POPA ;A BYTES FREIGEBEN ;YR BLEIBT GLEICH ; CLC ADC Y=2 LDA ( Y=2 LDA (UPRO-ANFANG ; LDA =UG UND ;OG >=TOS LDA (TRUE ; BGT ;(LEN) ;GLEICH->FALSE STY ADRESSE SEC LDA