WAlT poortnr,
getal 1
WAlT poortnr,
getal 1, getal 2
getal 1 en getal 2 moeten van het integer type zijn.
Het tijdelijk stopzetten van de programa-uitvoering,
afhankelijk
van de op ingangs poortnr
aangeboden data.
De programma-uitvoering
wordt stopgezet totdat op de
ingangspoort
een aan te geven bitpatroon aanwezig is.
Het aangeboden getal op de ingangspoort
wordt ingelezen en
volgens XOR-functie
bewerkt met geta/2.Dan
wordt het resul-
taat volgens de AND-functie
bewerkt met geta/1.
Is dit resul-
taat gelijk aan nul, dan wordt opnieuw van de ingangspoort een
getal ingelezen en worden deze bewerkingen
opnieuw uitge-
voerd. Pas wanneer het resultaat van de XOR- en AND-
bewerking ongelijk aan nul is, wordt de uitvoering van het pro-
gramma voortgezet
(bij de opdracht die volgt op de WAIT-
instructie).
Indien geta/2
wordt weggelaten,
wordt aange-
nomen dat deze waarde nul is.
In feite is WAlT een compacte uitvoering van de instruktie
100 IF INP (poortnt)
XOR get8/2 AND geta/1
= 0 THEN 100
10 WAlT &H20, &H10, &HFF
Als er geen cassette in de recorder zit, blijft het programma
wachten.
20 WAlT &H20, &H10
Het programma wacht tot het klepje van de recorder geopend
wordt. (Zie hoofdstuk
18 over de functies van poort &H20).
Waarschuwing:
De WAlT-opdracht
kan de interpreter
in een
toestand brengen waaruit "geen ontsnappen mogelijk is",
namelijk, wanneer de ingangswaarde XOR geta/2 AND geta/1
altijd gelijk aan nul blijft. In dat geval moet de computer
opnieuw m.b.v. de RESET -toets worden gestart en is het pro-
gramma dat in het geheugen aanwezig was verloren.
De STOP-toets werkt niet als het programma in de WAlT staat.
139