|
|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 22400 (0x5780)
Types: TextFile
Names: »SKOMAL2.DOK«
└─⟦e96298e07⟧ Bits:30004225 SKOMAL Version 1.02 til ICL Comet
└─⟦this⟧ »SKOMAL2.DOK«
Brugervejledning SKOMAL v. 1.0
Jan 86/TH s. 5.1
5. Ordrerne til SKOMAL.
-------------------------
Alle ordrer kan frit benyttes i alle programmer, selv sy-
stemordrerne. Dog kan brugen af ordrer, som ikke er deciderede
programordrer give mærkelige virkninger. Kørende programmer kan
altid standses ved tryk på 'S'- eller ESC-tasten.
5.1 Beskrivelse af ordrerne alfabetisk ordnet.
-----------------------------------------------
5.1.1 DEC
-----------
Syntaksen er DEC(<tal>) , hvor <tal> er et heltal. Alle be-
regninger, som udskrives enten på 'normalsiden' eller på den
tilsluttede printer angives med <tal> antal decimaler. Hvis
tallet ikke kan stå i udskriftsfeltet skiftes automatisk til E-
notation og udskriften kan da maksimalt udskrives med 3 decima-
ler.
<tal> kan kun antage værdierne i intervallet (0,...,6).
5.1.2 IND
-----------
Syntaksen er IND(<variabel>,...,<variabel>), hvor antallet
af <variabel> kun begrænses af liniens længde. Hver <variabel>
adskilles fra den næste ved et komma.
Når skomal-fortolkeren skal udføre ordren IND, standser den
programudførslen, udskriver den første variabel i listen, viser
markøren på skærmen og venter på indtastning af et tal. Tallet
kan enten være et heltal, et decimaltal eller et tal i E-nota-
tion. Ved tryk på RETURN sættes den tilhørende variabel lig
tallet.
Eksempelvis vil ordren IND(A,Q,D) kunne medføre følgende
skærmbillede :
A=132
Q=-34.243
D=23.143E-12
idet A= , Q= og D= er udskrevet af fortolkeren og tallene er
brugerens indtastninger.
5.1.3 INDPORT
---------------
Syntaksen er følgende :
INDPORT(<tal1>,<variabel2>) eller
INDPORT(<variabel1>,<variabel2>)
Værdien på port nummer <tal1> tilskrives <variabel2>. Værdien
af <tal1> eller tallet i <variabel1> skal ligge i talområdet
Brugervejledning SKOMAL v. 1.0
Jan 86/TH s. 5.2
(0,...,255).
Ordren kan bruges til læsning af værdier fra et MPS-10 modul
eller direkte læsning af printerens parallelport eller seriel-
port.
Der kan benyttes regneudtryk til begge tal og/eller varia-
bler.
5.1.4 GEM
-----------
Ordren gives, når man ønsker at gemme et program fra ar-
bejdsområdet på pladelageret.
Der skiftes automatisk til 'normalbillede' og kataloget vi-
ses samtidig med, at der spørges efter programnavn. Når dette
er indtastet, gennemsøges kataloget, og findes programmet, ko-
pieres det over på disketten under samme navn. Findes program-
grammet ikke, gives en fejlmeddelelse.
Se iøvrigt under programnavn i kap. 6.2.1.1.
5.1.5 GENTAG
--------------
Denne ordre er en programordre. Gives den på kommandoniveau
(niveau 0) overspringes den af fortolkeren.
Ordren er startordren for en sløjfestruktur, som afsluttes
med ordren HERTIL (se den nærmere beskrivelse i kap. 6.2.2.2).
Orden kan bruges på følgende 3 måder:
1. GENTAG uden parameter gentager det efterfølgende i det
uendelige.
2. GENTAG(<tal>) , hvor <tal> er et heltal større end nul.
Sløjfen gentages <tal> gange. (Decimaltal vil automa-
tisk blive afskåret til heltal).
3. GENTAG(<tal>) , hvor <tal> er nul eller et negativt
heltal. Hele sløjfen overspringes og sætningen efter
ordren HERTIL udføres.
5.1.6 GLEM
------------
Ordren benyttes til at slette et program i arbejdsområdet.
Fortolkeren skifter automatisk til 'normalbillede', viser
kataloget og spørger om programnavn.
Hvis programnavnet ikke findes gives en fejlmeddelelse, el-
lers slettes programmet i arbejdsområdet, og pladsen kan nu be-
nyttes til et nyt program.
5.1.7 HENT
-----------
Ordren benyttes, når et skomal-program skal hentes fra pla-
delageret og indlæses i arbejdsområdet.
Brugervejledning SKOMAL v. 1.0
Jan 86/TH s. 5.3
Fortolkeren skifter automatisk til 'normalbillede' og spør-
ger om programnavn. Når dette er indtastet, indlæser fortolke-
ren programmet og viser kataloget som kontrol.
Ordren HENT kan i programmer benyttes med parameter således:
HENT(<programnavn>)
Fortolkeren henter programmet fra disketten og indlæser det
i arbejdsområdet. Der skiftes ikke til 'normalsiden', kataloget
vises ikke, dog vises evt. fejlmeddelelser stadig.
Eks. FAKULTET(N) POTENS BIBLIOTEK
T:=1 IND(X,Y) HENT(FAKULTET)
F:=1 R:=1 HENT(POTENS)
GENTAG(N) GENTAG(Y) SLUT
F:=T*F R:=R*X
T:=T+1 HERTIL
HERTIL UD(R)
UD(T,N) SLUT
SLUT
Afgives ordren BIBLIOTEK udfører fortolkeren følgende:
Programmet FAKULTET hentes fra disketten til arbejdsområdet.
- POTENS - - - - - .
Findes FAKULTET eller POTENS allerede i arbejdsområdet,
indlæses der intet program fra disketten, og de gamle program-
mer ligger stadig i arbejdsområdet og kan kaldes på normal må-
de.
5.1.8 HERTIL
--------------
Ordren HERTIL afslutter en sløjfestruktur (se kap. 6.2.2.2).
Ordren er en programordre. Hvis den bruges på kommandoniveau
(niveau 0) overspringer fortolkeren den.
Når fortolkeren udfører ordren, tælles sløjfevariablen een
ned. Hvis variablen er større end nul udføres linien efter GEN-
TAG. Er variablen nul udføres næste linie.
5.1.9 HUSK
------------
HUSK aktiverer program-editoren. Der skiftes til 'normalsi-
den', og markøren stilles i øverste venstre hjørne af ind-
skrivningsfeltet.
Om brugen af editoren se kap. 7.
5.1.10 HVIS
------------
HVIS er en betinget ordre, som kun benyttes i programmer.
Bruges den på kommandoniveau (niveau 0), overspringer for-
tolkeren den.
Brugervejledning SKOMAL v. 1.0
Jan 86/TH s. 5.4
Syntaksen er følgende :
HVIS(<udsagn>)<ordre> eller HVIS(<udsagn>)<programnavn>
En mere udførlig beskrivelse gives i kap. 6.2.2.3.
5.1.11 KATALOG (forkortet KT)
---------------------------------
'Normalsiden' kaldes automatisk, og en oversigt over pro-
grammerne i programområdet vises.
5.1.12 LAGER (forkortet LG)
---------------------------------
Fortolkeren skifter til 'lagersiden', d.v.s. der vises på
skærmen en model af datamaskinens arbejdslager, med plads til
en 'programpegepind' (viser hvilken programlinie, der skal ud-
føres), en listning af programmet samt plads til et billede af
de forskellige lagerceller, når de oprettes.
Ved ordren LAGER vises lageret på niveau 0 (kommandoniveau).
Lageret er tomt, alle variabler er nulstillet og alle tre områ-
der er tomme.
Gives ordren A:=10.2 vises A= 10.20 øje-
blikkelig i variabel-området. Alle tal skrives automatisk med
to decimalers nøjagtighed på denne side.
Indtastes et programnavn, skiftes til niveau 1, og program-
met listes i lagerbilledes programområde. Eventuelle parametre
vises samtidig i lager-området. Programpegepinden peger på li-
nie nr. 2, som er den linie, der skal udføres.
Kaldes et program fra det kørende program, skiftes til ni-
veau 2 og det nye program listes.
Når ordren SLUT udføres, vises billedet af det foregående
niveau, med tilhørende variable.
Trykkes der på 'S'- eller ESC-tasten afbrydes programkørslen
og der springes tilbage til niveau 0.
5.1.13 LIST
------------
'Normalsiden' kaldes automatisk, og fortolkeren spørger om
programnavn. Når dette er indtastet, vises en listning af pro-
grammet.
Hvis programmet ikke befinder sig i arbejdsområdet, udskri-
ves en fejlmeddelelse.
5.1.14 NORMAL (forkortet NM)
-------------------------------
Fortolkeren skifter til 'normalsiden'. 'Lagersiden' slettes.
Brugervejledning SKOMAL v. 1.0
Jan 86/TH s. 5.5
5.1.15 NUL
-----------
Alle variabler nulstilles, uanset om fortolkeren afvikler en
kommando eller en programordre.
Som programordre skal NUL benyttes med en vis forsigtighed.
Variablerne bliver øjeblikkelig nulstillet - også dem, der
gælder for programmet, der er under udførsel.
5.1.16 OPSTART
---------------
Ordren OPSTART udfører følgende operationer :
- Alle variabler nulstilles (NUL).
- Niveau-tælleren stilles til 0.
- Der skiftes til 'normalside'.
Ved denne opstart startstilles alt, dog vil alle programmer-
ne i programområdet være bevaret.
Ordren kan benyttes, hvis fortolkeren mod al forventning ik-
ke arbejder, som den skal.
5.1.17 RENS
------------
Ordren RENS sletter alt på 'normalsiden' og sætter markøren
i nederste venstre hjørne af feltet.
5.1.18 RET
-----------
Fortolkeren skifter automatisk til 'normalsiden' og spørger
om programnavn. Når dette er indtastet, listes programmet, og
markøren stilles i øverste venstre hjørne i programfeltet.
Editoren aktiveres, og rettelsen kan foretages som forklaret
i kap. 7 under indskrivning af programmer.
5.1.19 SKRIV
-------------
Ordren SKRIV giver mulighed for udskrift af programmer på
printeren.
Fortolkeren skifter automatisk til 'normalsiden' og spørger
om programnavn. Når dette er indtastet, listes programmet på
skærmen og udskrives samtidigt på den tilsluttede matrixprin-
ter.
5.1.20 SLUT
------------
Ordren SLUT er den ordre, som afslutter et program. Den er
samtidig et signal til program-editoren om at afslutte edite-
ringen.
Brugervejledning SKOMAL v. 1.0
Jan 86/TH s. 5.6
Hvis ordren afgives på kommandoniveauet (niveau 0), tolkes
den ikke.
5.1.21 STOP
------------
STOP-ordren afgivet på kommandoniveau (niveau 0) standser
fortolkeren og overgiver kommandoen til CP/M.
Man har derefter mulighed for at se, hvad der ligger på dis-
ketten med kommandoen DIR, eller slette programfiler med kom-
mandoen ERA <programnavn>.SKO (se kap. 4.3).
Benyttes STOP i et program, standser dette. Niveautælleren
sættes til 0, altså kommandoniveauet.
BEMÆRK: Når skomal-fortolkeren standser, mistes alle program-
mer i arbejdsområdet. Husk derfor at gemme dem på disketten in-
den STOP-ordren afgives. Man har dog en chance for at genstarte
skomalfortolkeren med programmerne intakte, hvis man undgår at
afvilke andre programmer, inden skomal startes igen.
Dvs. at kun CP/M-kommandoerne DIR, TYPE, ERA og REN må be-
nyttes før kommandoen
SKOMAL *
indtastes. Bemærk at der skal være eet mellemrum mellem SKOMAL
og * , idet stjernen bestemmer, at skomal skal genstartes med
programmerne intakte. Stjernen må kun indtastes, hvis skomal-
fortolkeren lige har kørt på datamaskinen.
5.1.22 TRYK
------------
Syntaksen er følgende TRYK(<variabel>,...,<variabel>). Va-
riablerne i variabellisten udskrives på printeren i kolonner af
fem. Formatet bestemmes af indstillingen af ordren DEC, som
angiver antallet af decimaler, tallene skal udskrives med (se
kap. 5.1.1).
Ordren svarer til UD-ordren, som foretager det samme på
'normalsiden'.
BEMÆRK : Ordren har ikke samme betydning, som i MYRESNAK.
5.1.23 UD
----------
Syntaksen er følgende UD(<variabel>,...,<variabel>). Varia-
blene i variabellisten udskrives på printeren i kolonner af 5.
Formatet bestemmes af indstillingen af ordren DEC, som angiver
antallet af decimaler, tallene skal udskrives med (se kap.
5.1.22).
Brugervejledning SKOMAL v. 1.0
Jan 86/TH s. 5.7
5.1.24 UDHOP
-------------
UDHOP er en programordre, som bruges til udhop fra en sløj-
fe. Ordren har kun mening, hvis den befinder sig inden i sløj-
fen, dvs. mellem ordrerne GENTAG og HERTIL. Bruges den andre
steder, vil virkningerne utvivlsom virke overraskende.
Når fortolkeren udfører UDHOP ordren, foretager den et
spring til sætningen umiddelbart efter ordren HERTIL, hvoref-
ter, den tolker denne sætning.
5.1.25 UDPORT
--------------
Syntaksen er følgende :
UDPORT(<tal1>,<tal2>) eller UDPORT(<variabel1>,<variabel2>)
eller kombinationer af <tal> og <variabel>. Til port nummer
<tal1> eller <variabel1>) sendes værdien af <tal2> eller <va-
riabel2>. Værdierne skal ligge i talområdet (0,...,255).
Ordren kan bruges til at sende værdier til portene på et
MPS-10 modul eller til skrivning direkte til printerens paral-
lelport eller serielport.
Der kan benyttes regneudtryk til begge tal og/eller varia-
bler.
Brugervejledning SKOMAL v. 1.0
Jan 86/TH s. 5.8
5.2 Oversigt over ordrerne til SKOMAL.
---------------------------------------
Ordrerne kan inddeles i tre dele. Et sæt ordrer, der styrer
tildelinger af tal til variabler, beregninger og udskriftsor-
drer. Et sæt, der bruges i programmerne og et sæt, der bruges
til styring af de tilsluttede enheder samt nulstilling af vari-
blerne.
5.2.1 SKOMAL-ordrer.
----------------------
Ordre Funktion
--------------------------------------------------------------------
<variabel>:=<tal> Variablen <variabel> tildeles værdien
<tal>. Tildelingsordren kan også være en
regneoperation, f.ex. A:=B*2.3E-4
IND(<variabel>) Fortolkeren venter på indtastning af et
tal. Dette tildeles variablen <variabel>
Der kan angives lige så mange variable,
som kommandolinien kan indeholde. Vari-
ablerne adskilles med komma.
UD(<variabel>) Værdien af <variabel> udskrives på nor-
malsiden med DEC antal decimaler. Flere
variabler kan angives, se under IND.
TRYK(<variabel>) Værdien af <variabel> udskrives på prin-
teren med DEC antal decimaler i fem ko-
lonner. Flere variabler kan angives, se
under IND.
INDPORT(<tal1>,<variabel2>) Værdien på port nummer <tal1) tilskrives
<variabel2>. <tal1> kan også være en va-
riabel eller/og et regneudtryk.
UDPORT(<tal1>,<tal2>) Værdien <tal2> sendes ud på port nummer
<tal1>. Begge tal kan være variable el-
ler/og regneudtryk.
--------------------------------------------------------------------
5.2.2 Programordrer.
----------------------
Ordrer Funktion.
--------------------------------------------------------------------
GENTAG Gentag det følgende i det uendelige.
GENTAG(<tal>) - - - <tal> gange. (Hvis
<tal> <= 0 udføres sætningen efter
HERTIL.
HERTIL Afslutning af gentage-sløjfen.
HVIS(<udsagn>)<ordre> Hvis <udsagn> er sandt udføres <ordre>
ellers overspringes sætningen.
UDHOP Sætningen efter HERTIL udføres.
SLUT Afslutter programmet og springer et
niveau tilbage.
--------------------------------------------------------------------
Brugervejledning SKOMAL v. 1.0
Jan 86/TH s. 5.9
5.2.3 Systemordrer.
---------------------
Ordrer Forkortet Funktion
--------------------------------------------------------------------
RENS Normalsiden renses.
KATALOG KT Alle programnavnene vises.
HUSK Nyt program kan indtastes.
LIST Udskrift af program på skærmen.
SKRIV Udskrift af program på printeren.
RET Man kan rette i et eksisterende program.
GLEM Sletning af program i programområdet.
NUL Nulstiller alle variabler på alle niveau-
er.
HENT(<programnavn>) Henter program <programnavn> på disket-
ten.
<programnavn> kan udelades.
GEM Lagrer program på disketten.
STOP Fortolkeren stopper (Husk at alle pro-
grammer i arbejdsområdet mistes, hvis de
ikke er gemt på disketten).
OPSTART Fortolkeren opstartes påny, dog vil alle
programmerne i arbejdsområdet være beva-
ret i programområdet.
--------------------------------------------------------------------
«eof»