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

⟦4fea73eba⟧

    Length: 5056 (0x13c0)
    Notes: Mikados TextFile, Mikados_K
    Names: »START«

Derivation

└─⟦e93ad20dd⟧ Bits:30005301 Mikados utility programs
    └─ ⟦this⟧ »START« 

Text

;START - VED OPSTART -                               CT-15.12.1981
 
VERS:   DB      'START version 15.12.1981'
VERSE:
 
;*****************************************************************
;
       SYMB    ;SYMBOLTABEL MED BL.A. ADRESSEN 'TIDSP', DER ANGIVER
               ;TIDSPUNKTET.
;
START: LXI     H,C1MES
       SHLD    CSEMA   ;VED OPSTART ALTID VED NR. 1
;
       LHLD    RUNN    ;SE, OM DER ER EN BESKED.
       LXI     B,KOSEM
       DAD     B
       MOV     C,M
       INX     H
       MOV     B,M     ;(BC) :- KORUTINESEMAFOR.
       LDAX    B
       CPI     1
       JNZ     STAR1   ;HOP, HVIS INGEN BESKED ER SENDT.
;
;PROGRAMMET ER STARTET MANUELT.
;
       CALL    VINIT   ;BESTEM SKÆRM-, LIST- OG FEJLSEMAFOR.
;
;EGENTLIG START.
;
STAR1: LXI     B,VERS  ;UDSKRIV VERSIONSDATO
       LXI     D,VERSE-VERS
       MVI     A,2
       LHLD    CSEMA
       CALL    VSEND
 
       LXI     D,'P1'
       LXI     H,DKB
       CALL    PFIND   ;ANBRING PLADELAGERTABEL-ADRESSEN PÅ 'P1'
       ANA     A       ;I DKB+PLBUF. DETTE BENYTTES AF UDIND.
       JNZ     FIFJL   ;HOP VED FILSYSTEMFEJL.
;
       LXI     H,DKB
       MVI     A,1     ;ORDRE LÆS.
       CALL    UDIND   ;INDLÆS SPOR 0 SEKTOR 0
       ANA     A
       JNZ     FIFJL   ;HOP VED FILSYSTEMFEJL.
;
       LXI     D,DKB+BUFF+PNUDA ;HENT SIDST OPGIVNE DATO TIL VISNING.
       LXI     H,DATE           ;DEN STÅR I 'P1' 'S SPOR 0 SEKTOR 0
       MVI     B,#10            ;REL. ADRESSE 'PNUDA'
       CALL    MOVE
;
;BED OM NY DATO FRA SKÆRM.
;
       LXI     B,TXT1  ;PIL TIL START PÅ TEKST.
       MVI     A,DATE-TXT1+#10 ;ANTAL TEGN IALT.
       MVI     D,DATE-TXT1 ;ANTAL TEGN, DER IKKE MÅ ÆNDRES.
       LHLD    CSEMA   ;SKÆRMSEMAFOR.
       CALL    LSKRM   ;STIL FORESPØRGSEL OG AFVENT SVAR.
       INR     B
       JZ      ESC     ;HVIS BRUGER TASTER 'ESC', RETURNERES (B) = -1.
;
       LXI     D,DATE  ;FLYT DATO NED I LAGER.
       LXI     H,DATO
       MVI     B,#10
       CALL    MOVE
;
       LXI     H,'P1'
       CALL    RESDI   ;RESERVE LABEL SECTOR
       ANA     A       ;OK?
       JNZ     FIFJL   ;NO
;
       LXI     H,DKB
       MVI     A,1     ;READ COMMAND
       CALL    UDIND   ;READ LABEL SECTOR, IT MAY HAVE BEEN CHANGED
       ANA     A       ;OK?
       JNZ     FIFJL1  ;NO
;
       LXI     D,DATE  ;FLYT DATO TILBAGE PÅ PLADELAGER.
       LXI     H,DKB+BUFF+PNUDA
       MVI     B,#10
       CALL    MOVE
;
       LXI     H,DKB
       MVI     A,2     ;OPERATIONSKODE: SKRIV
       CALL    UDIND
       ANA     A
       JNZ     FIFJL1
;
       LXI     H,'P1'
       CALL    RELDI   ;RELEASE LABEL SECTOR
;
;HENT NUVÆRENDE TIDSPUNKT TIL VISNING.
;
       LXI     D,TIDSP ;ÆNDR EVT. TIDSPUNKT.
       LXI     H,TIME
       MVI     B,5
       CALL    MOVE
;
;BED OM NY TID.
;
       LXI     B,TXT2  ;SOM VED DATO.
       MVI     A,TIME-TXT2+5
       MVI     D,TIME-TXT2
       LHLD    CSEMA
       CALL    LSKRM
       INR     B
       JZ      ESC
;
       LXI     D,TIME  ;GEM DET OPGIVNE TIDSPUNKT SÅ ALLE BRUGERE
       LXI     H,TIDSP ;KAN BENYTTE DET.
       MVI     B,5
       CALL    MOVE
;
ESC:   CALL    EXIT    ;STOP PROGRAM, FRIGIV REGION.
;
;
;INDHOP VED FILSYSTEMFEJL.
;
FIFJL1:PUSH    PSW
       LXI     H,'P1'
       CALL    RELDI   ;RELEASE LABEL SECTOR
       POP     PSW
FIFJL: LXI     H,FINR  ;OMDAN DEN BINÆRE FEJLKODE I (A) TIL EN
       CALL    ASCII   ;2-CIFRET ASCII-FEJLKODE I 'FINR'
;
       LXI     B,TXT3  ;VIS FRA 'TXT3'
       LXI     D,FINR+2-TXT3   ;LÆNGDE AF TEKST
       MVI     A,2     ;OP.KODE: SKRIV
       LHLD    CSEMA   ;SKÆRMSEMAFOR.
       CALL    VSEND   ;SEND MEDDELELSE, VENT PÅ SVAR, RETURNER
                       ;BESKED TIL 'POOL' (FRIE BESKEDBUFFERE).
;
       CALL    EXIT
;
;
;                      D A T A O M R Å D E .
;*********************************************************************
;
TXT1:  DB      'Enter date: '
DATE:  DS      #10
;
TXT2:  DB      'Enter time: '
TIME:  DS      5
;
TXT3:  DB      'File system error '
FINR:  DS      2
;
;
;DATA KONTROL BLOK. 'HOVEDE' PÅ 30HEX TEGN, BUFFER PÅ 100HEX TEGN
;
DKB:   DS      SEKT1
       DB      0,0,0,1 ;ANGIV TIL UDIND, AT SPOR 0 SEKTOR 0,
                       ;IALT 1 SEKTOR SKAL LÆSES/SKRIVES.
       DS      130-SEKT1-4
;
;
       END     START