|
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 - 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»