c. flags, te gebruiken voor het maken van uit
gestelde sprongen;
d. subroutine bekwaamheden;
e. variatie in adresseermogelijkheden;
f. aantal labels en user-definable toetsen;
g. manipulatie van tussenuitkomsten (opbergen
e.d.);
h. lussen.
Voor de SR-60 geldt:
ad a. Goed. Absolute waarde ontbreekt.
ad b. Goed. De machine kan beslissingen ne
men (d.w.z. al dan niet een sprongopdracht uit
voeren) op grond van de volgende criteria:
inhoud van X-register is
nul
niet nul
positief (incl. nul)
negatief
en op het al dan niet bestaan van een foutcon-
ditie.
ad c. Voldoende. Even ter verduidelijking: als
een bepaalde tussenuitkomst getest moet wor
den op een bepaald criterium (b.v. nul zijn) en
de uitslag van die test bepaalt ergens verderop
de voortgang van de berekening, dan kan de
uitslag van de test worden 'bewaard' door het
aan- (of uit-) zetten van een flag. Er wordt dan
in twee fasen getest: éénmaal op de conditie
van de sprongbepalende tussenuitkomst en één
maal op de conditie van de flag.
ad d. Voldoende: 4 diep. Weer even enige toe
lichting. Een subroutine is een zelfstandig stuk
programma met (niet altijd noodzakelijk) een
begin-identificatie (het zogenaamde LABEL) en
een eind-signalering. Het bijzondere is dat na
beëindiging van de subroutine, de berekening
wordt voortgezet vanaf de instructie onmiddel
lijk volgend op de sprongopdracht naar de sub
routine. In het hoofdprogramma kan dus op
iedere willekeurige plaats een stuk van wille
keurige lengte de subroutine) worden toe
gevoegd, al dan niet afhankelijk van een voor
afgaande test-uitslag. Een subroutine kan op
zijn beurt weer een andere subroutine 'aanroe
pen'. De mate waarin dit goed gaat, heet de
diepte tot welke subroutines kunnen worden ge
nest.
ad e. Zeer goed. Absoluut (direct en indirect)
én symbolisch. Toelichting: iedere instructie
heeft een vaste plaats in de totale reeks van in
structies, dat wil zeggen van het programma.
In geval van sprongopdrachten moet het zoge
naamde sprongadres uiteraard eenduidig ge
ïdentificeerd zijn. Dit kan op diverse manieren.
Indien iedere instructie automatisch zijn eigen
nummer krijgt en dit 'adres' gebruikt kan wor
den bij een sprongopdracht, spreekt men van
een absolute adressering. Indien een instructie
herkenbaar wordt gemaakt door een onmiddel
lijk voorafgaand LABEL spreekt men van een
symbolische identificatie. Een sprong naar een
LABEL heet daarom symbolische adressering.
Als derde mogelijkheid bestaat ook nog rela
tieve adressering. Dit wil zeggen dat het aantal
stappen vooruit of achteruit wordt gespecifi
ceerd (op geen van de drie besproken machi
nes aanwezig).
Indirecte adressering wil zeggen dat een sprong
adres kan worden gespecificeerd door opgave
van het datageheugen-nummer waar dat adres
wordt bewaard. Dus niet 'ga daar-en-daar naar
toe' maar 'ga daar vragen waar je heen moet'.
ad f. Zeer goed. 78 labels en 15 Zelf Te Be
stemmen Toetsen (user definable keys). Een
labelaantal van 78 is absoluut overdaad (scha
den doet het niet) en hetzelfde geldt eigenlijk
voor het aantal ZTBT's. Overigens zijn die
ZTBT's bijzonder prettige dingen: elk ervan
stelt de gebruiker in staat om door middel van
één enkele aanslag een bepaald (via overeen
komstig label geïdentificeerd) stuk programma
te activeren. Tevens kan een dergelijke routine
(programmadeel) fungeren als sub-routine, dat
wil zeggen niet aangeroepen vanaf het toet
senbord maar door het (hoofd)programma.
ad g. Zeer goed. Alle 40 toegankelijke datage-
heugens zijn op vijf manieren 'aanspreekbaar':
berg op (STO)
berg cumulatief op (SUM)
berg neg. cumulatief op (2nd SUM)
berg vermenigvuldigend op (PROD)
106
SBR 1
SBR 2
hoofdprogramma
d«z« routa wordt genomen als
het toegestane "nest niveau"
wordt overschreden dit is dan