|
|
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 - download
Length: 5056 (0x13c0)
Types: TextFile
Notes: Mikados_K
Names: »START.K«
└─⟦e93ad20dd⟧ Bits:30005301 Mikados utility programs
└─⟦this⟧ »START.K«
;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
0x0000…0044 Line {l1=0x42, l2=»;START - VED OPSTART - CT-15.12.1981«, l3=0x42}
0x0044…0047 Line {l1=0x01, l2=» «, l3=0x01}
0x0047…0073 Line {l1=0x2a, l2=»VERS: DB 'START version 15.12.1981'«, l3=0x2a}
0x0073…007b Line {l1=0x06, l2=»VERSE:«, l3=0x06}
0x007b…007e Line {l1=0x01, l2=» «, l3=0x01}
0x007e…00c2 Line {l1=0x42, l2=»;*****************************************************************«, l3=0x42}
0x00c2…00c5 Line {l1=0x01, l2=»;«, l3=0x01}
0x00c5…010a Line {l1=0x43, l2=» SYMB ;SYMBOLTABEL MED BL.A. ADRESSEN 'TIDSP', DER ANGIVER«, l3=0x43}
0x010a…0128 Line {l1=0x1c, l2=» ;TIDSPUNKTET.«, l3=0x1c}
0x0128…012b Line {l1=0x01, l2=»;«, l3=0x01}
0x012b…0143 Line {l1=0x16, l2=»START: LXI H,C1MES«, l3=0x16}
0x0143…0178 Line {l1=0x33, l2=» SHLD CSEMA ;VED OPSTART ALTID VED NR. 1«, l3=0x33}
0x0178…017b Line {l1=0x01, l2=»;«, l3=0x01}
0x017b…01ad Line {l1=0x30, l2=» LHLD RUNN ;SE, OM DER ER EN BESKED.«, l3=0x30}
0x01ad…01c5 Line {l1=0x16, l2=» LXI B,KOSEM«, l3=0x16}
0x01c5…01d7 Line {l1=0x10, l2=» DAD B«, l3=0x10}
0x01d7…01eb Line {l1=0x12, l2=» MOV C,M«, l3=0x12}
0x01eb…01fd Line {l1=0x10, l2=» INX H«, l3=0x10}
0x01fd…022f Line {l1=0x30, l2=» MOV B,M ;(BC) :- KORUTINESEMAFOR.«, l3=0x30}
0x022f…0241 Line {l1=0x10, l2=» LDAX B«, l3=0x10}
0x0241…0253 Line {l1=0x10, l2=» CPI 1«, l3=0x10}
0x0253…028d Line {l1=0x38, l2=» JNZ STAR1 ;HOP, HVIS INGEN BESKED ER SENDT.«, l3=0x38}
0x028d…0290 Line {l1=0x01, l2=»;«, l3=0x01}
0x0290…02b1 Line {l1=0x1f, l2=»;PROGRAMMET ER STARTET MANUELT.«, l3=0x1f}
0x02b1…02b4 Line {l1=0x01, l2=»;«, l3=0x01}
0x02b4…02f2 Line {l1=0x3c, l2=» CALL VINIT ;BESTEM SKÆRM-, LIST- OG FEJLSEMAFOR.«, l3=0x3c}
0x02f2…02f5 Line {l1=0x01, l2=»;«, l3=0x01}
0x02f5…0307 Line {l1=0x10, l2=»;EGENTLIG START.«, l3=0x10}
0x0307…030a Line {l1=0x01, l2=»;«, l3=0x01}
0x030a…0338 Line {l1=0x2c, l2=»STAR1: LXI B,VERS ;UDSKRIV VERSIONSDATO«, l3=0x2c}
0x0338…0355 Line {l1=0x1b, l2=» LXI D,VERSE-VERS«, l3=0x1b}
0x0355…0369 Line {l1=0x12, l2=» MVI A,2«, l3=0x12}
0x0369…037f Line {l1=0x14, l2=» LHLD CSEMA«, l3=0x14}
0x037f…0395 Line {l1=0x14, l2=» CALL VSEND«, l3=0x14}
0x0395…0398 Line {l1=0x01, l2=» «, l3=0x01}
0x0398…03af Line {l1=0x15, l2=» LXI D,'P1'«, l3=0x15}
0x03af…03c5 Line {l1=0x14, l2=» LXI H,DKB«, l3=0x14}
0x03c5…0407 Line {l1=0x40, l2=» CALL PFIND ;ANBRING PLADELAGERTABEL-ADRESSEN PÅ 'P1'«, l3=0x40}
0x0407…0446 Line {l1=0x3d, l2=» ANA A ;I DKB+PLBUF. DETTE BENYTTES AF UDIND.«, l3=0x3d}
0x0446…0476 Line {l1=0x2e, l2=» JNZ FIFJL ;HOP VED FILSYSTEMFEJL.«, l3=0x2e}
0x0476…0479 Line {l1=0x01, l2=»;«, l3=0x01}
0x0479…048f Line {l1=0x14, l2=» LXI H,DKB«, l3=0x14}
0x048f…04b3 Line {l1=0x22, l2=» MVI A,1 ;ORDRE LÆS.«, l3=0x22}
0x04b3…04e3 Line {l1=0x2e, l2=» CALL UDIND ;INDLÆS SPOR 0 SEKTOR 0«, l3=0x2e}
0x04e3…04f5 Line {l1=0x10, l2=» ANA A«, l3=0x10}
0x04f5…0525 Line {l1=0x2e, l2=» JNZ FIFJL ;HOP VED FILSYSTEMFEJL.«, l3=0x2e}
0x0525…0528 Line {l1=0x01, l2=»;«, l3=0x01}
0x0528…056f Line {l1=0x45, l2=» LXI D,DKB+BUFF+PNUDA ;HENT SIDST OPGIVNE DATO TIL VISNING.«, l3=0x45}
0x056f…05b4 Line {l1=0x43, l2=» LXI H,DATE ;DEN STÅR I 'P1' 'S SPOR 0 SEKTOR 0«, l3=0x43}
0x05b4…05eb Line {l1=0x35, l2=» MVI B,#10 ;REL. ADRESSE 'PNUDA'«, l3=0x35}
0x05eb…0600 Line {l1=0x13, l2=» CALL MOVE«, l3=0x13}
0x0600…0603 Line {l1=0x01, l2=»;«, l3=0x01}
0x0603…061f Line {l1=0x1a, l2=»;BED OM NY DATO FRA SKÆRM.«, l3=0x1a}
0x061f…0622 Line {l1=0x01, l2=»;«, l3=0x01}
0x0622…0653 Line {l1=0x2f, l2=» LXI B,TXT1 ;PIL TIL START PÅ TEKST.«, l3=0x2f}
0x0653…0685 Line {l1=0x30, l2=» MVI A,DATE-TXT1+#10 ;ANTAL TEGN IALT.«, l3=0x30}
0x0685…06c2 Line {l1=0x3b, l2=» MVI D,DATE-TXT1 ;ANTAL TEGN, DER IKKE MÅ ÆNDRES.«, l3=0x3b}
0x06c2…06e9 Line {l1=0x25, l2=» LHLD CSEMA ;SKÆRMSEMAFOR.«, l3=0x25}
0x06e9…0724 Line {l1=0x39, l2=» CALL LSKRM ;STIL FORESPØRGSEL OG AFVENT SVAR.«, l3=0x39}
0x0724…0736 Line {l1=0x10, l2=» INR B«, l3=0x10}
0x0736…077e Line {l1=0x46, l2=» JZ ESC ;HVIS BRUGER TASTER 'ESC', RETURNERES (B) = -1.«, l3=0x46}
0x077e…0781 Line {l1=0x01, l2=»;«, l3=0x01}
0x0781…07b1 Line {l1=0x2e, l2=» LXI D,DATE ;FLYT DATO NED I LAGER.«, l3=0x2e}
0x07b1…07c8 Line {l1=0x15, l2=» LXI H,DATO«, l3=0x15}
0x07c8…07de Line {l1=0x14, l2=» MVI B,#10«, l3=0x14}
0x07de…07f3 Line {l1=0x13, l2=» CALL MOVE«, l3=0x13}
0x07f3…07f6 Line {l1=0x01, l2=»;«, l3=0x01}
0x07f6…080d Line {l1=0x15, l2=» LXI H,'P1'«, l3=0x15}
0x080d…083b Line {l1=0x2c, l2=» CALL RESDI ;RESERVE LABEL SECTOR«, l3=0x2c}
0x083b…0858 Line {l1=0x1b, l2=» ANA A ;OK?«, l3=0x1b}
0x0858…0874 Line {l1=0x1a, l2=» JNZ FIFJL ;NO«, l3=0x1a}
0x0874…0877 Line {l1=0x01, l2=»;«, l3=0x01}
0x0877…088d Line {l1=0x14, l2=» LXI H,DKB«, l3=0x14}
0x088d…08b3 Line {l1=0x24, l2=» MVI A,1 ;READ COMMAND«, l3=0x24}
0x08b3…08f8 Line {l1=0x43, l2=» CALL UDIND ;READ LABEL SECTOR, IT MAY HAVE BEEN CHANGED«, l3=0x43}
0x08f8…0915 Line {l1=0x1b, l2=» ANA A ;OK?«, l3=0x1b}
0x0915…0931 Line {l1=0x1a, l2=» JNZ FIFJL1 ;NO«, l3=0x1a}
0x0931…0934 Line {l1=0x01, l2=»;«, l3=0x01}
0x0934…096e Line {l1=0x38, l2=» LXI D,DATE ;FLYT DATO TILBAGE PÅ PLADELAGER.«, l3=0x38}
0x096e…098f Line {l1=0x1f, l2=» LXI H,DKB+BUFF+PNUDA«, l3=0x1f}
0x098f…09a5 Line {l1=0x14, l2=» MVI B,#10«, l3=0x14}
0x09a5…09ba Line {l1=0x13, l2=» CALL MOVE«, l3=0x13}
0x09ba…09bd Line {l1=0x01, l2=»;«, l3=0x01}
0x09bd…09d3 Line {l1=0x14, l2=» LXI H,DKB«, l3=0x14}
0x09d3…0a02 Line {l1=0x2d, l2=» MVI A,2 ;OPERATIONSKODE: SKRIV«, l3=0x2d}
0x0a02…0a18 Line {l1=0x14, l2=» CALL UDIND«, l3=0x14}
0x0a18…0a2a Line {l1=0x10, l2=» ANA A«, l3=0x10}
0x0a2a…0a41 Line {l1=0x15, l2=» JNZ FIFJL1«, l3=0x15}
0x0a41…0a44 Line {l1=0x01, l2=»;«, l3=0x01}
0x0a44…0a5b Line {l1=0x15, l2=» LXI H,'P1'«, l3=0x15}
0x0a5b…0a89 Line {l1=0x2c, l2=» CALL RELDI ;RELEASE LABEL SECTOR«, l3=0x2c}
0x0a89…0a8c Line {l1=0x01, l2=»;«, l3=0x01}
0x0a8c…0ab4 Line {l1=0x26, l2=»;HENT NUVÆRENDE TIDSPUNKT TIL VISNING.«, l3=0x26}
0x0ab4…0ab7 Line {l1=0x01, l2=»;«, l3=0x01}
0x0ab7…0ae5 Line {l1=0x2c, l2=» LXI D,TIDSP ;ÆNDR EVT. TIDSPUNKT.«, l3=0x2c}
0x0ae5…0afc Line {l1=0x15, l2=» LXI H,TIME«, l3=0x15}
0x0afc…0b10 Line {l1=0x12, l2=» MVI B,5«, l3=0x12}
0x0b10…0b25 Line {l1=0x13, l2=» CALL MOVE«, l3=0x13}
0x0b25…0b28 Line {l1=0x01, l2=»;«, l3=0x01}
0x0b28…0b39 Line {l1=0x0f, l2=»;BED OM NY TID.«, l3=0x0f}
0x0b39…0b3c Line {l1=0x01, l2=»;«, l3=0x01}
0x0b3c…0b63 Line {l1=0x25, l2=» LXI B,TXT2 ;SOM VED DATO.«, l3=0x25}
0x0b63…0b81 Line {l1=0x1c, l2=» MVI A,TIME-TXT2+5«, l3=0x1c}
0x0b81…0b9d Line {l1=0x1a, l2=» MVI D,TIME-TXT2«, l3=0x1a}
0x0b9d…0bb3 Line {l1=0x14, l2=» LHLD CSEMA«, l3=0x14}
0x0bb3…0bc9 Line {l1=0x14, l2=» CALL LSKRM«, l3=0x14}
0x0bc9…0bdb Line {l1=0x10, l2=» INR B«, l3=0x10}
0x0bdb…0bef Line {l1=0x12, l2=» JZ ESC«, l3=0x12}
0x0bef…0bf2 Line {l1=0x01, l2=»;«, l3=0x01}
0x0bf2…0c35 Line {l1=0x41, l2=» LXI D,TIME ;GEM DET OPGIVNE TIDSPUNKT SÅ ALLE BRUGERE«, l3=0x41}
0x0c35…0c5f Line {l1=0x28, l2=» LXI H,TIDSP ;KAN BENYTTE DET.«, l3=0x28}
0x0c5f…0c73 Line {l1=0x12, l2=» MVI B,5«, l3=0x12}
0x0c73…0c88 Line {l1=0x13, l2=» CALL MOVE«, l3=0x13}
0x0c88…0c8b Line {l1=0x01, l2=»;«, l3=0x01}
0x0c8b…0cc1 Line {l1=0x34, l2=»ESC: CALL EXIT ;STOP PROGRAM, FRIGIV REGION.«, l3=0x34}
0x0cc1…0cc4 Line {l1=0x01, l2=»;«, l3=0x01}
[…0x1…]
0x0cc7…0ce3 Line {l1=0x1a, l2=»;INDHOP VED FILSYSTEMFEJL.«, l3=0x1a}
0x0ce3…0ce6 Line {l1=0x01, l2=»;«, l3=0x01}
0x0ce6…0cfa Line {l1=0x12, l2=»FIFJL1:PUSH PSW«, l3=0x12}
0x0cfa…0d11 Line {l1=0x15, l2=» LXI H,'P1'«, l3=0x15}
0x0d11…0d3f Line {l1=0x2c, l2=» CALL RELDI ;RELEASE LABEL SECTOR«, l3=0x2c}
0x0d3f…0d53 Line {l1=0x12, l2=» POP PSW«, l3=0x12}
0x0d53…0d93 Line {l1=0x3e, l2=»FIFJL: LXI H,FINR ;OMDAN DEN BINÆRE FEJLKODE I (A) TIL EN«, l3=0x3e}
0x0d93…0dcd Line {l1=0x38, l2=» CALL ASCII ;2-CIFRET ASCII-FEJLKODE I 'FINR'«, l3=0x38}
0x0dcd…0dd0 Line {l1=0x01, l2=»;«, l3=0x01}
0x0dd0…0df8 Line {l1=0x26, l2=» LXI B,TXT3 ;VIS FRA 'TXT3'«, l3=0x26}
0x0df8…0e29 Line {l1=0x2f, l2=» LXI D,FINR+2-TXT3 ;LÆNGDE AF TEKST«, l3=0x2f}
0x0e29…0e51 Line {l1=0x26, l2=» MVI A,2 ;OP.KODE: SKRIV«, l3=0x26}
0x0e51…0e78 Line {l1=0x25, l2=» LHLD CSEMA ;SKÆRMSEMAFOR.«, l3=0x25}
0x0e78…0eb9 Line {l1=0x3f, l2=» CALL VSEND ;SEND MEDDELELSE, VENT PÅ SVAR, RETURNER«, l3=0x3f}
0x0eb9…0efa Line {l1=0x3f, l2=» ;BESKED TIL 'POOL' (FRIE BESKEDBUFFERE).«, l3=0x3f}
0x0efa…0efd Line {l1=0x01, l2=»;«, l3=0x01}
0x0efd…0f12 Line {l1=0x13, l2=» CALL EXIT«, l3=0x13}
0x0f12…0f15 Line {l1=0x01, l2=»;«, l3=0x01}
[…0x1…]
0x0f18…0f46 Line {l1=0x2c, l2=»; D A T A O M R Å D E .«, l3=0x2c}
0x0f46…0f8e Line {l1=0x46, l2=»;*********************************************************************«, l3=0x46}
0x0f8e…0f91 Line {l1=0x01, l2=»;«, l3=0x01}
0x0f91…0fb0 Line {l1=0x1d, l2=»TXT1: DB 'Enter date: '«, l3=0x1d}
0x0fb0…0fc4 Line {l1=0x12, l2=»DATE: DS #10«, l3=0x12}
0x0fc4…0fc7 Line {l1=0x01, l2=»;«, l3=0x01}
0x0fc7…0fe6 Line {l1=0x1d, l2=»TXT2: DB 'Enter time: '«, l3=0x1d}
0x0fe6…0ff8 Line {l1=0x10, l2=»TIME: DS 5«, l3=0x10}
0x0ff8…0ffb Line {l1=0x01, l2=»;«, l3=0x01}
0x0ffb…1020 Line {l1=0x23, l2=»TXT3: DB 'File system error '«, l3=0x23}
0x1020…1032 Line {l1=0x10, l2=»FINR: DS 2«, l3=0x10}
0x1032…1035 Line {l1=0x01, l2=»;«, l3=0x01}
[…0x1…]
0x1038…107b Line {l1=0x41, l2=»;DATA KONTROL BLOK. 'HOVEDE' PÅ 30HEX TEGN, BUFFER PÅ 100HEX TEGN«, l3=0x41}
0x107b…107e Line {l1=0x01, l2=»;«, l3=0x01}
0x107e…1094 Line {l1=0x14, l2=»DKB: DS SEKT1«, l3=0x14}
0x1094…10d2 Line {l1=0x3c, l2=» DB 0,0,0,1 ;ANGIV TIL UDIND, AT SPOR 0 SEKTOR 0,«, l3=0x3c}
0x10d2…110d Line {l1=0x39, l2=» ;IALT 1 SEKTOR SKAL LÆSES/SKRIVES.«, l3=0x39}
0x110d…1129 Line {l1=0x1a, l2=» DS 130-SEKT1-4«, l3=0x1a}
0x1129…112c Line {l1=0x01, l2=»;«, l3=0x01}
[…0x1…]
0x112f…1145 Line {l1=0x14, l2=» END START«, l3=0x14}
0x1145…1160 00 00 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 ┆ ccccccccccccccccccccccccc┆
0x1160…1180 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 ┆cccccccccccccccccccccccccccccccc┆
[…0x12…]