DataMuseum.dk

Presents historical artifacts from the history of:

MIKADOS

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about MIKADOS

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦5e94e5758⟧

    Length: 15264 (0x3ba0)
    Notes: Mikados TextFile, Mikados_K
    Names: »BAS11«

Derivation

└─⟦9104a212b⟧ Bits:30004703 Regn + Debug
    └─ ⟦this⟧ »BAS11« 

Text

       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