Sprongen en lussen
49
Wanneer een van deze voorwaarde-funkties met de hand vanaf het toetsenbord wordt
uitgevoerd, verschijnt in de uitlezing van de HP-41C het antwoord op de toetsingsvraag.
Als aan de voorwaarde voldaan wordt, geeft de uitlezing YES aan; als niet aan de
voorwaarde voldaan wordt, staat er in de uitlezing NO.
Besturing van lussen
De¢ HP-41C beschikt over twee funkties voor lussen en de besturing van lussen. Deze
funkties zijn
(Increment, Skip if Greater = verhoog en sla over indien groter) en DSE
( Decrement, Skip ifEqual = verlaag en sla over indien gelijk ). Beide funkties beschikken
over interne tellers waarmee u de lus kunt besturen. Deze twee funkties interpreteren een
besturingsgetal op een speciale manier. Dit besturingsgetal kan geplaatst worden in elk
willekeurig gegevensregister, stapelregister of het LAST X-register. Als antwoord op het
invoerteken bij het uitvoeren van
of DSE hoort het register gespecificeerd te worden
dat dit besturingsgetal bevat. Het getal zit als volgt in elkaar:
iiiii,fffcc
bestaan. Telkens wanneer
of DSE wordt uitgevoerd wordt de geldende waarde van de
teller met de waarde van het deel cc verhoogd of verlaagd. Als
of DSE gebruikt
wordt om een lus te realiseren, wordt het aantal lusdoorgangen aangevangen met de
startwaarde iiiii.
fff is dc cindwaarde van de teller. Als
of DSE wordt uitgevoerd om een lus te
realiseren wordt iedere keer dat de opdracht wordt uitgevoerd de waarde van iiiii
vergeleken met de waarde van fff. Als de beginwaarde van iiiii nul was, is fff het aantal
malen dat de lus uitgevoerd zal worden. De waarde van fff moet uit drie cijfers bestaan
(bijv. 100, 009, e.d.).
cc is de stapgrootte van verhogen of verlagen. Deze waarde moet uit twee cijfers bestaan
(bijv. 01, 03, 25). Als cc gelijk aan 00 is, neemt de calculator in plaats daarvan een
stapwaarde 01 aan.
Telkens wanneer DSE uitgevoerd wordt, wordt het getal in het besturingsregister
beoordeeld, nadat eerst iiiii met cc verminderd is. Vervolgens wordt getoetst of iiiii gelijk is
aan (of kleiner is dan) fff. Als dit het geval is, slaat de HP-41C de volgende lijn in het
programmageheugen over.
vermeerderd met de waarde van cc. Alsiiiii groter is dan fff, slaat de uitvoering een lijn van
het programma over en gaat verder.
In een programma worden de (1SG]J- of de DSE-opdrachten gewoonlijk binnen een lus
onmiddellijk voor een opdracht GTO geplaatst, om de uitvoering uit de lus over te brengen
wanneer fff ten slotte wordt bereikt. Indien
of DSE vanaf het toetsenbord worden
uitgevoerd, wordt het besturingsregister gewijzigd, maar, vanzelfsprekend, worden er
geen lijnen van het programmageheugen overgeslagen.