User manual

Listing 20: toepassing van de AND-functie
Verander het programma en test ook de andere logische vergelijkingen. De OR-functie (of) kan
worden gebruikt om bepaalde ingangstoestanden altijd op 1 te zetten 64 51 43 78 54 35
1010 OR 0011 = 1011
Met de XOR-Funktion (Exclusive OR, 79) kunnen individuele bits worden geïnverteerd:
64 51 43 79 54 35
1010 XOR 0011 = 1001
17 Subroutines
Wanneer delen van een programma meerdere keren worden gebruikt, worden die in een
subroutine geschreven. Hiermee wordt vaak geheugenruimte bespaard maar vaak ook veel werk
bij het invoeren. Het volgende voorbeeld, laat het gebruik van een subroutine zien die op twee
plaatsen vanuit het hoofdprogramma wordt opgeroepen. De subroutine bevat in dit geval alleen
een instructie (A = A-1) en de instructie terugspringen. Daarom wordt hier geen geheugenruimte
bespaard maar het voorbeeld dient alleen ter demonstratie van de CALL en de RET-instructie.
Hoofdprogramma
Adres
Instructie
Gegevens
Commentaar
00 8 0 AdrHi = 0
01 D 8 Call 08
02 5 4 UItvoer
03 2 9 Wacht 1 s
04 D 8 Call 08
05 5 4 Uitvoer
06 2 8 Wacht 0,5 s
07 3 7 Spring –7
Subroutine:
Adres
Instructie
Gegevens
Commentaar
08 7 2 A = A-1
09 E 0 Ret
80 D8 54 29 D8 54 28 37 72 E0
Listing 21: oproepen van subroutines
Het resultaat van het programma is een aflopende binaire teller met ongelijke vertragingen. Test
ook andere instructies in subroutines.
Onder de standaard beschikbare voorbeeldprogramma's zijn meerdere handige subroutines voor
algemene toepassingen. De listings hiervan zijn volledig in de appendix opgenomen. Voor eigen
gebruik is alleen het startadres nodig: