|
|
DataMuseum.dkPresents historical artifacts from the history of: MIKADOS |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about MIKADOS Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 15264 (0x3ba0)
Notes: Mikados TextFile, Mikados_K
Names: »BAS11«
└─⟦9104a212b⟧ Bits:30004703 Regn + Debug
└─⟦this⟧ »BAS11«
NLIST ;SYMBOLSKE KONSTANTER FOR COMAL - 790710
;***************************************************************************
;
;
; III DDD CCC OO M M A L
; I D D C O O M M M M A A L
; I D D C O O M M M AAAAA L
; III DDD CCC OO M M A A LLLLL
;
;
; TOM ØSTERBY, INSTITUTTET FOR DATATEKNIK
;
;********************************************************************
;* BAS11 - DEFINITION AF SYMBOLSKE KONSTANTER
;********************************************************************
;
;
;
;*********************************************************************
; STYRING AF BETINGET ASSEMBLERING
;*********************************************************************
;
ONN: EQU 1
OFF: EQU 0
NON: EQU 1
;
MULTI: EQU OFF ;VERSION FOR FLERE BRUGERE
FUERR: EQU ONN ;FEJLMEDDELELSER SOM TEKST (ONN), NUMRE (OFF)
DEDIC: EQU ONN ;DEDIKERET SYSTEM
SOROC: EQU ONN ;VERSION FOR SOROC DATASKÆRM
TEC: EQU OFF ;VERSION FOR MICRO TEC DATASKÆRM
TEC70: EQU OFF ;VERSION FOR TEC MODEL 70
;
;
;*************************************************************
; DIVERSE SYSTEMPARAMETRE
;*************************************************************
;
PREC: EQU 4
ANCI: EQU 6 ; ANTAL AF CIFRE
ILLEG: EQU #31
ANBL: EQU #2 ; ANTAL BLANKE TIL IND/UDRYKNING
MAXI: EQU #16 ;MAKSIMALT ANTAL TEGN I IDENTIFIKATORER
KRMAX: EQU #20 ;MAKSIMALT ANTAL LINIER INDEN REGNEKREDSEN
; SKAL FRIGIVES
MAXBF: EQU #79 ;MAKSIMALT ANTAL TEGN I UDDATABUFFER
;
;
;
;
;*************************************************************
; DEFINITION AF KONTROLKODER FOR DATASKÆRM
;*************************************************************
;
LF: EQU 0A
CR: EQU 0D
BELL: EQU 07
;
;
IF TEC
CNTRL: EQU 1B ;ESCAPE CHARACTER
ESCAP: EQU 0
HOME: EQU 1E
EEOL: EQU 0B ;ERASE TO END OF LINE
EEOS: EQU 05 ;ERASE TO END OF PAGE
UPC: EQU 0B ;CURSOR UP
DOWNC: EQU 0A ;CURSOR DOWN
ENDIF
IF SOROC
CNTRL: EQU 1B
ESCAP: EQU 7F
HOME: EQU 1E
EEOL: EQU 'T'
EEOS: EQU '*'
UPC: EQU 0B
DOWNC: EQU 0A
ENDIF
IF TEC70
CNTRL: EQU 1B
ESCAP: EQU 1B
HOME: EQU 08
EEOL: EQU 0B
EEOS: EQU 05
UPC: EQU 01
DOWNC: EQU 02
ENDIF
;
;
;
;**************************************************************************
;
; DIREKTE ADRESSERBARE ARBEJDSCELLER
;
;**************************************************************************
;
;
MSTRT: EQU 6800
;
KTPX: EQU MSTRT ; SÆTNINGSNUMMER UNDER UDFØRELSE
KTPY: EQU KTPX+2 ; 1. SÆTNINGSNUMMER UDEN FOR TILLADTINTERVA
INDP: EQU KTPY+2 ; INDEHOLDER PIL VED SYNTAKSANALYSE OG UDPE
UDPI: EQU INDP+2 ; ANGIVER LAGRINGSADRESSE FOR UDSKRIFT
FLAGS: EQU UDPI+#2 ; DIVERSE FLAG (SE NEDENFOR)
INVT: EQU FLAGS+1 ; INDEHOLDER STARTREFERENCE TIL VARIABELTAB
INIB: EQU INVT+2 ; INDEHOLDER STARTREFERENCE TIL INDBUFFER
INPS: EQU INIB ; INDEHOLDER STARTREFERENCE TIL PROGRAMSTAK
INUB: EQU INIB+2 ; INDEHOLDER STARTREFERENCE TIL UDBUFFER
INPR: EQU INUB+2 ; INDEHOLDER STARTREFERENCE TIL PROGRAMOMRÅ
FGST: EQU INPR+2 ; ANTAL I PROGRAMSTAK, 1 BYTE
FGSP: EQU FGST+1 ; PIL TIL PROGRAMSTAK
TEGN: EQU FGSP+2 ; TEGN INDLÆST
SKTT: EQU TEGN ; TEGN TIL UDSKRIVNING
BLAN: EQU SKTT+1 ; ANTAL BLANKE I INDRYKNING VED PRINT
CSEMA: EQU BLAN+1 ; ADRESSE PÅ KONSOLSEMAFOR
LSEMA: EQU CSEMA+2 ; ADRESSE PÅ LISTSEMAFOR
USEMA: EQU LSEMA+2 ; ADRESSE PÅ UDDATASEMAFOR
REGIN: EQU USEMA+2 ; NUMMER PÅ AKTUEL HOVEDLAGERREGION
FILSY: EQU REGIN+1 ; PIL TIL AKTIVE FKB I FKB-KÆDE
FKBFR: EQU FILSY+2 ; PIL TIL FØRSTE FKB I FKB KÆDE
PARA: EQU FKBFR+2 ; FILNAVN
DRIVX: EQU PARA+8 ; PLADELAGERBETEGNELSE
TALB: EQU DRIVX+2 ; TALBUFFER
XP10: EQU TALB+#21 ; 10-EXPONENT
PUPO: EQU XP10+1
PUEK: EQU PUPO+1 ; PUNKTUM EKSISTERER
OPSP: EQU PUEK+1 ; OPERANDSTAKPOINTER
OPST: EQU OPSP+2 ; OPERANDSTAKTÆLLER
OTSP: EQU OPST+1 ; OPERATORSTAKPOINTER
OTST: EQU OTSP+2 ; OPERATORSTAKTÆLLER
PACK: EQU OTST+1 ; = 1 => PAKKET UDSKRIFT
RNDV: EQU PACK+1 ; SYSTEMVARIABEL FOR PSEUDORANDOM
USTA: EQU RNDV+2 ; BRUGERAREALETS STATUS
PSTA: EQU USTA+1 ; BRUGERPROGRAMMETS STATUS
CHST: EQU PSTA+1 ; REFERENCE TIL FØRSTE PROGRAMSÆTNING
RFCH: EQU CHST+2 ; REFERENCE TIL FØRSTE I HOPKÆDE
SEQN: EQU RFCH+2
SQRE: EQU SEQN+2 ; REFERENCE TIL SÆTNING UNDER UDFØRELSE
NSQR: EQU SQRE+2 ; REFERENCE TIL NÆSTE SÆTNING
RFLA: EQU NSQR+2 ; REFERENCE TIL SIDSTE I HOPKÆDE
DACS: EQU RFLA+2 ; DATAKÆDENS STARTREFERENCE
DACD: EQU DACS+2 ; REFERENCE INDEN DEN ENKELTE DATASÆT.
DACW: EQU DACD+2 ; DATAKÆDENS ARBEJDSREFERENCE
DACF: EQU DACW+2 ; DATAKÆDENS SLUTREF.
DATP: EQU DACF+2 ; POINTER TIL FØRSTE LEDIGE I DATAAREAL
GDPO: EQU DATP+2 ;
PRGP: EQU GDPO+2 ; POINTER FOR PROGRAMLAGRING
CASTÆ: EQU PRGP+2 ; CASE TÆLLER.
LACAV: EQU CASTÆ+1 ; LAGRING AF PIL TIL RESULTAT I CASE
KRTÆL: EQU LACAV+4 ; TÆLLER FOR RESERVATION AF REGNEKREDS
DIVER: EQU KRTÆL+1 ; 10 OKTETTER RESERVERET FOR SENERE
FINI: EQU DIVER+#10 ; SLUT PÅ DIREKTE ADRESSERBART OMRÅDE
;
;
;
; DEFINITION AF DIVERSE FLAG DER LIGGER I 'FLAGS'
;
EDITF: EQU 1 ; EDITERINGSTILSTAND
AUTOF: EQU 2 ; AUTO MODE
PRNTF: EQU 4 ; PRINTER RESERVERET
CONTF: EQU 10 ; CONTINUE KOMMANDO LOVLIG
;
;
;
;*************************************************************
;FILSYSTEM KONSTANTER
;*************************************************************
;
BUFSE: EQU #01 ;DISCBUFFER N:= 1
NÆFKB: EQU #00 ;KÆDE TIL NÆSTE FKB
DIRSK: EQU #02 ;DIREKT/SEKVENTIEL FLAG
FKBST: EQU #03 ;FIL STATUS
FKBBZ: EQU #04 ;FKB OPTAGET FLAG
PAETI: EQU #05 ;PLADELAGER ETIKETTE NAVN
DCBDI: EQU PAETI+8 ;ANTAL OKTETTER FRA START AF FKB TIL DKB
FINIS: EQU 130+DCBDI ;LÆNGDE AF EN FKB
;
;
;
;**************************************************************************
;
; ARBEJDSOMRÅDER, HVORTIL DER REFERERES VIA PILE
;
;
; FØLGENDE OMRÅDER ER DEFINERET
;
; OMRÅDENAVN LÆNGDE PIL TIL OMRÅDE
;
; 1. OPERANDSTAK STKL1 OPSP
; 2. OPERATORSTAK STKL2 OTSP
; 3. PROGRAMSTAK STSA INPS (*)
; 4. INDDATABUFFER BUFLI INIB
; 5. UDDATABUFFER BUFLU INUB
; 6. PROGRAMOMRÅDE INPR
; 7. DATAOMRÅDE INVT (*)
; 8. VARIABELTABEL INVTL INVT
;
; PILENE MÆRKET MED (*) UDPEGER DEN FØRSTE OKTET EFTER DET
; PÅGÆLDENDE ARBEJDSOMRÅDE
;
; DEN SAMLEDE LÆNGDE AF PROGRAM- OG DATAOMRÅDET ER 'PRLEN'
;
;***************************************************************************
;
STKL1: EQU #80 ;BEREGNES SOM PREC*#20
STKL2: EQU #20
STSA: EQU #179
BUFLI: EQU #80
BUFLU: EQU #110
PRLEN: EQU #5300
INVTL: EQU #58
;
;
;*****************************************************************
;* SYMBOLSKE VÆRDIER FOR TERMINALE SYMBOLER.
;*****************************************************************
;
GOTO: EQU #129
IF: EQU #130
FOR: EQU #131
NEXT: EQU #132
ON: EQU #133
LET: EQU #134
DIM: EQU #135
DEF: EQU #136
REM: EQU #137
GOSU: EQU #138
RETU: EQU #139
END: EQU #140
STOP: EQU #141
DATA: EQU #142
READD: EQU #143
REST: EQU #144
INPU: EQU #145
PRIN: EQU #146
WHIL: EQU #147
ENDW: EQU #148
LOOP: EQU #149
ENDL: EQU #150
REPE: EQU #151
UNTI: EQU #152
EXITT: EQU #153
ELSE: EQU #154
ENDI: EQU #155
IFCL: EQU #156
EXEC: EQU #157
PROC: EQU #158
ENDP: EQU #159
CLEA: EQU #160
CURSO: EQU #161
CASE: EQU #162
WHEN: EQU #163
ECASE: EQU #164
OUTP: EQU #165
RAND: EQU #166
OPN: EQU #167
CLSE: EQU #168
GET: EQU #169
PUT: EQU #170
WEOF: EQU #171
CHN: EQU #172
CLL: EQU #173
CREA: EQU #174
IND: EQU CREA+1
OUTD: EQU IND+1
EDTI: EQU OUTD+1
;
THEN: EQU #182
TO: EQU THEN+1
STEP: EQU THEN+2
USIN: EQU THEN+3
OF: EQU THEN+4
DOK: EQU THEN+5
;
SIN: EQU #190
COS: EQU #191
TAN: EQU #192
ATN: EQU #193
EXP: EQU #194
LOG: EQU #195
ABS: EQU #196
SQR: EQU #197
INT: EQU #198
RND: EQU #199
SGN: EQU #200
ASIN: EQU #201
ACOS: EQU #202
LN: EQU #203
LEN: EQU #204
ORD: EQU #205
STATS: EQU #206
CHR: EQU #207
TAB: EQU #210
FN: EQU #211
NOT: EQU #217
AND: EQU #218
OR: EQU #219
UNEQ: EQU #225
LESE: EQU #223
BIGE: EQU #224
EQUA: EQU #220
BIG: EQU #222
LESS: EQU #221
PLUS: EQU #226
MINU: EQU #227
POW: EQU #230
MUL: EQU #228
DIV: EQU #229
DIVH: EQU #231
MOD: EQU #232
MONI: EQU #233
SEMC: EQU #235
COMM: EQU #236
VPAR: EQU #237
HPAR: EQU #238
DOLL: EQU #239
COLO: EQU #240
KONK: EQU #241
NUKNS: EQU #254
;
PUNK: EQU #46 ; '.' I ASCII
EXPC: EQU #37 ; 'PROCENTTEGN' I ASCII
NUNC: EQU #35 ; '#' I ASCII
;
;******************************************************************
;* SYMBOLSKE VÆRDIER FOR VARIABELTYPER
;******************************************************************
;
SIRV: EQU #32 ; SIMPEL REEL VARIABEL
INRV: EQU #64 ; INDICERET REEL VARIABEL
SISV: EQU #96 ; SIMPEL STRENGVARIABEL
FUNK: EQU #160 ; FUNKTION (BRUGERDEFINERET)
FOPA: EQU #192 ; FORMEL PARAMETER
IPRO: EQU #128 ; PROCEDURE
FOPP: EQU #48 ; FORMEL PROCEDURE PARAMETER
REVA: EQU 8 ; REEL VÆRDI
STCO: EQU #16 ; DELSTRENG
;*************************************************************
;
;SYMBOLISKE ADRESSE OFFSET TIL MASKIN KALD HJÆLPE RUTINER
;
;*************************************************************
;
FIXFL: EQU 0 ;FIXED TIL FLOAT
FLFIX: EQU 1 ;FLOAT TIL FIXED
GETNM: EQU 2 ;HENT NUMERISKE
PUTNM: EQU 3 ;GEM NUMERISKE
GETST: EQU 4 ;HENT STRENG
PUTST: EQU 5 ;GEM STRENG
DELIM: EQU 0FF ;SYNTACTIC DELIMATOR
;*************************************************************
;-----------------------------------------------------------------
; KODER FOR OPERATIONER PÅ REGNEKREDSEN
;-----------------------------------------------------------------
KSIN: EQU 2 ;
KCOS: EQU 3 ;
KTAN: EQU 4 ;
KATA: EQU 7 ;
KASI: EQU 5 ;
KACO: EQU 6 ;
KEXP: EQU #10 ;
KLOG: EQU 8 ;
KSQR: EQU 1 ;
KLN: EQU 9 ;
KPWR: EQU #11 ;
KADD: EQU #16 ;
KSUB: EQU #17 ;
KMUL: EQU #18 ;
KDIV: EQU #19 ;
FIXD: EQU #30;
FLTD: EQU #28 ;
KIMU: EQU #46 ;
KIAD: EQU #44 ;
KISU: EQU #45 ;
KIDI: EQU #47
FIXS: EQU #31 ;
PTOD: EQU #55 ;
POPF: EQU #24 ;
CHSF: EQU #21 ;
PTOF: EQU #23
PTOS: EQU #119
FLTS: EQU #29
XCHF: EQU #25
;
RKDA: EQU 0E8 ; ADRESSE FOR DATA TIL REGNEKREDSEN
RKOP: EQU 0E9 ; ADRESSE FOR OPERATIONSKODE/STATUS FOR
; REGNEKREDSEN
LIST