1 SOCS Hoofdstuk 3 Basisprogrammatuur. 2 Inhoud De Vertaler De Voorvertaler  Enkel MACRO en MCREINDE directieven  Extra macro-directieven De Lader De.

Slides:



Advertisements
Verwante presentaties
De gemiddelde leerling
Advertisements

SINT LUKAS HOGESCHOOL BRUSSEL
De elektronische verzamelaanvraag Ruben Fontaine Markt- en Inkomensbeheer – dienst Aangiftes.
‘SMS’ Studeren met Succes deel 1
Paulus' eerste brief aan Korinthe (20) 23 januari 2013 Bodegraven.
28 juni 2009 Paëllanamiddag 1 Paëllanamiddag 28 juni 2009 Voorbereiding vrijdagavond (Loopt automatisch - 7 seconden)
Werkwoorden d t dt.
NEDERLANDS WOORD BEELD IN & IN Klik met de muis
Downloaden: Ad-aware. Downloaden bestaat uit 3 delen: •1. Zoeken naar de plek waar je het bestand kan vinden op het internet •2. Het nemen van een kopie.
WAAROM? Onderzoek naar het meest geschikte traject voor de verlenging tot in Sint-Niklaas van het bestaande fietspad naast de Stekense Vaart en de Molenbeek.
BRIDGE Vervolgcursus Vervolg op starterscursus Bridgeclub Schiedam ‘59 info: Maandagavond: 19: – of
November 2013 Opinieonderzoek Vlaanderen – oktober 2013 Opiniepeiling Vlaanderen uitgevoerd op het iVOXpanel.
Uitgaven aan zorg per financieringsbron / /Hoofdstuk 2 Zorg in perspectief /pagina 1.
Vennootschapsbelasting Aj 2011
Global e-Society Complex België - Regio Vlaanderen e-Regio Provincie Limburg Stad Hasselt Percelen.
7 april 2013 Zoetermeer 1. 1Korinthe Maar, zal iemand zeggen, hoe worden de doden opgewekt? En met wat voor lichaam komen zij? 2.
 Deel 1: Introductie / presentatie  DVD  Presentatie enquête  Ervaringen gemeente  Pauze  Deel 2 Discussie in kleinere groepen  Discussies in lokalen.
STAPPENPLAN GRAMMATICUS.
Ronde (Sport & Spel) Quiz Night !
Een Concert van het Nederlands Philharmonisch Orkest LES 4 1.
prNBN D addendum 1 Deel 2: PLT
1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays  Klassiek gebruik  For opdracht, Increment/Decrement  Wijzers, Arrays en Wijzers.
Een optimale benutting van vierkante meters Breda, 6 juni 2007.
Kb.1 Ik leer op een goede manier optellen en aftrekken
9 januari 2013 Bodegraven 1. 1Korinthe 11 1 Wordt mijn navolgers, gelijk ook ik Christus navolg. 2.
© GfK 2012 | Title of presentation | DD. Month
Nooit meer onnodig groen? Luuk Misdom, IT&T
1 SOCS Hoofdstuk 3 Basisprogrammatuur. 2 Inhoud De Vertaler De Voorvertaler De Lader De Binder De Vertolker Het Speurprogramma Het Opstarten van de Computer.
1 SOCS Hoofdstuk 1 Computerarchitectuur. 2 Overzicht Eenvoudig C Arrays Functies Records Dynamische gegevenstructuren Macro’s C.
1 SOCS Hoofdstuk 3 Basisprogrammatuur. 2 Inhoud De Vertaler De Voorvertaler De Lader De Binder De Vertolker  Werking van vertolker  Voor- en nadelen.
1 SOCS Hoofdstuk 3 Basisprogrammatuur. 2 Inhoud De Vertaler De Voorvertaler De Lader De Binder De Vertolker Het Speurprogramma Het Opstarten van de Computer.
Hoofdstuk 3 Basisprogrammatuur
Passie - Verrijzenis Arcabas
FOD VOLKSGEZONDHEID, VEILIGHEID VAN DE VOEDSELKETEN EN LEEFMILIEU 1 Kwaliteit en Patiëntveiligheid in de Belgische ziekenhuizen anno 2008 Rapportage over.
Elke 7 seconden een nieuw getal
1 introductie 3'46” …………… normaal hart hond 1'41” ……..
Oefeningen F-toetsen ANOVA.
Wat levert de tweede pensioenpijler op voor het personeelslid? 1 Enkele simulaties op basis van de weddeschaal B1-B3.
1 WIJZIGINGEN UNIEK VERSLAG. 2 Agenda Verbeteringen Veranderingen formulieren Praktische herinneringen Nieuwe formulieren Sociale en culturele participatie.
1 7 nov Rijnsburg 7 nov Rijnsburg. 2 Hebreeën 7 15 En nog veel duidelijker wordt het, als naar het evenbeeld van Melchisedek een andere priester.
13 maart 2014 Bodegraven 1. 1Korinthe Want gelijk het lichaam één is en vele leden heeft, en al de leden van het lichaam, hoe vele ook, een lichaam.
Werken aan Intergenerationele Samenwerking en Expertise.
Afrika: Topo nakijken en leren.
User management voor ondernemingen en organisaties
2009 Tevredenheidsenquête Resultaten Opleidingsinstellingen.
PLAYBOY Kalender 2006 Dit is wat mannen boeit!.
ribWBK11t Toegepaste wiskunde Lesweek 02
1 Controleplan 2005 Raadgevend comité Hotel President – donderdag 21 april 2005.
Van Vensoc tot Biztax Vennootschapsbelasting Aj 2011.
ECHT ONGELOOFLIJK. Lees alle getallen. langzaam en rij voor rij
Hartelijk welkom bij de Nederlandse Bridge Academie Hoofdstuk 5 Stayman & Jacoby 1Contract 2, hst 5. Stayman & Jacoby.
Hartelijk welkom bij de Nederlandse Bridge Academie Hoofdstuk 7 De 2 ♦ /2 ♥ /2 ♠ en de 2 ♣ -opening 1Contract 2, hst 7.
Hartelijk welkom bij de Nederlandse Bridge Academie Hoofdstuk 9 Het eerste bijbod 1Contract 1, hoofdstuk 9.
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 5.
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 3.
Fractale en Wavelet Beeldcompressie
Fractale en Wavelet Beeldcompressie
HOSTA 2010, Vastgoedcongres 29 september september Horwath HTL.
De financiële functie: Integrale bedrijfsanalyse©
aangename ont - moeting
1 Zie ook identiteit.pdf willen denkenvoelen 5 Zie ook identiteit.pdf.
12 sept 2013 Bodegraven 1. 2  vooraf lezen: 1Kor.7:12 t/m 24  indeling 1Korinthe 7  1 t/m 9: over het huwelijk  10 t/m 16: over echtscheiding  16.
13 november 2014 Bodegraven 1. 2 de vorige keer: 1Kor.15:29-34 indien er geen doden opgewekt worden...  vs 29: waarom dopen?  vs.30-32: waarom doodsgevaren.
1 Week /03/ is gestart in mineur De voorspellingen van alle groten der aarden dat de beurzen zouden stijgen is omgekeerd uitgedraaid.
ZijActief Koningslust
23 mei 2013 Bodegraven vanaf hoofdstuk 6: hoofdst.1: de wijsheid van de wereld hoofdst.2: de wijsheid van God hoofdst.3: Gods akker en Gods bouwwerk.
Transcript van de presentatie:

1 SOCS Hoofdstuk 3 Basisprogrammatuur

2 Inhoud De Vertaler De Voorvertaler  Enkel MACRO en MCREINDE directieven  Extra macro-directieven De Lader De Binder De Vertolker Het Speurprogramma Het Opstarten van de Computer

3 Voorvertaler MACRO Som x,y HIA R0, OPT R0, MCREINDE Som a,b DRU STP a:RESGR 1 b:RESGR 1 Voor- vertaler HIA R0,a OPT R0,b DRU STP a:RESGR 1 b:RESGR 1 Bronprogramma (met macro-definities op -oproepen) Bronprogramma (zonder macro-definities en oproepen) Engels: Pre-processor

4 Implementatie Aparte voorvertaler  Macro-verwerking = Symboolmanipulatie  Code-generatie  In andere context gebruiken (bijv. tekst) Ingebouwd in vertaler  Betere foutenboodschappen  Gebonden aan taal

5 Taken Niets met macro’s te maken  kopiëren Macro-definitie  onthouden en verwijderen Macro-oproep  expanderen Toestanden Kopieermode Definitiemode Expansiemode

6 Enkel MACRO en MCREINDE Enkel MACRO- en MCREINDE-directieven Geen  MEVA, MVSP, MSPR, MFOUT, MNTS Plus:  Parameters  Lokale symbolische adressen

7 Taken Kopieermode  Invoer =  MACRO  definitiemode  xyz … (xyz gedefinieerde macro) Argumententabel  expansiemode  iets anders Gewoon kopiëren Definitiemode  Eerste lijn = hoofding  Volgende lijn =  MCREINDE Einde definitie  kopieermode  iets anders Toevoegen aan definitie

8 Taken Expansiemode  Lichaam definitie lezen  Elke lijn  Substituties Opzoeken in argumententabel $Etiket Omzetten naar unieke naam _tellerEtiket Omzetten naar unieke naam _tellerEtiket  Geneste macro-oproep? Huidig expansie onderbreken Argumententabel Argumententabel Nieuwe expansie Nieuwe expansie  Andere gevallen Gewijzigde lijn naar uitvoerbestand

9 Toestandsdiagramma Kopieer- mode Definitie- mode Expansie- mode hoofding andere lijn MACRO MCREINDE andere lijn macro-oproep einde lichaam geneste oproep einde geneste oproep

10 Voorbeeld | Macro SOM  som v. elem. v. rij MACRO SOM Res,A,N |   (i=0.. -1) [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, MCREINDE | Begin van het programma SOMC,X,3 HIAR0,C DRU STP C:RESGR 1 X:10;20;30 Kopieer Toestand: Uitvoer-bestand

11 Voorbeeld | Macro SOM  som v. elem. v. rij MACRO SOM Res,A,N |   (i=0.. -1) [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, MCREINDE | Begin van het programma SOMC,X,3 HIAR0,C DRU STP C:RESGR 1 X:10;20;30 Kopieer Toestand: Uitvoer-bestand | Macro SOM  som v. elem. v. rij

12 Voorbeeld | Macro SOM  som v. elem. v. rij MACRO SOM Res,A,N |   (i=0.. -1) [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, MCREINDE | Begin van het programma SOMC,X,3 HIAR0,C DRU STP C:RESGR 1 X:10;20;30 Kopieer Toestand: | Macro SOM  som v. elem. v. rij Uitvoer-bestand Lengte=? Definitie

13 Voorbeeld | Macro SOM  som v. elem. v. rij MACRO SOM Res,A,N |   (i=0.. -1) [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, MCREINDE | Begin van het programma SOMC,X,3 HIAR0,C DRU STP C:RESGR 1 X:10;20;30 Definitie Toestand: | Macro SOM  som v. elem. v. rij Uitvoer-bestand Lengte=? SOMResLengte=? A N

14 Voorbeeld | Macro SOM  som v. elem. v. rij MACRO SOM Res,A,N |   (i=0.. -1) [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, MCREINDE | Begin van het programma SOMC,X,3 HIAR0,C DRU STP C:RESGR 1 X:10;20;30 Definitie Toestand: | Macro SOM  som v. elem. v. rij Uitvoer-bestand SOMResLengte=? A N SOMResLengte=? A N |   … [i]

15 Voorbeeld | Macro SOM  som v. elem. v. rij MACRO SOM Res,A,N |   (i=0.. -1) [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, MCREINDE | Begin van het programma SOMC,X,3 HIAR0,C DRU STP C:RESGR 1 X:10;20;30 Definitie Toestand: | Macro SOM  som v. elem. v. rij Uitvoer-bestand SOMResLengte=? A N |   … [i] SOMResLengte=? A N |   … [i] HIA.w R0,0

16 Voorbeeld | Macro SOM  som v. elem. v. rij MACRO SOM Res,A,N |   (i=0.. -1) [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, MCREINDE | Begin van het programma SOMC,X,3 HIAR0,C DRU STP C:RESGR 1 X:10;20;30 Definitie Toestand: | Macro SOM  som v. elem. v. rij Uitvoer-bestand SOMResLengte=? A N |   … [i] HIA.w R0,0 SOMResLengte=? A N |   … [i] HIA.w R0,0 HIA.w R1,0

17 Voorbeeld | Macro SOM  som v. elem. v. rij MACRO SOM Res,A,N |   (i=0.. -1) [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, MCREINDE | Begin van het programma SOMC,X,3 HIAR0,C DRU STP C:RESGR 1 X:10;20;30 Definitie Toestand: | Macro SOM  som v. elem. v. rij Uitvoer-bestand SOMResLengte=? A N |   … [i] HIA.w R0,0 HIA.w R1,0 SOMResLengte=? A N |   … [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+)

18 Voorbeeld | Macro SOM  som v. elem. v. rij MACRO SOM Res,A,N |   (i=0.. -1) [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, MCREINDE | Begin van het programma SOMC,X,3 HIAR0,C DRU STP C:RESGR 1 X:10;20;30 Definitie Toestand: | Macro SOM  som v. elem. v. rij Uitvoer-bestand SOMResLengte=? A N |   … [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) SOMResLengte=? A N |   … [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1,

19 Voorbeeld | Macro SOM  som v. elem. v. rij MACRO SOM Res,A,N |   (i=0.. -1) [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, MCREINDE | Begin van het programma SOMC,X,3 HIAR0,C DRU STP C:RESGR 1 X:10;20;30 Definitie Toestand: | Macro SOM  som v. elem. v. rij Uitvoer-bestand SOMResLengte=? A N |   … [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, SOMResLengte=? A N |   … [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus

20 Voorbeeld | Macro SOM  som v. elem. v. rij MACRO SOM Res,A,N |   (i=0.. -1) [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, MCREINDE | Begin van het programma SOMC,X,3 HIAR0,C DRU STP C:RESGR 1 X:10;20;30 Definitie Toestand: | Macro SOM  som v. elem. v. rij Uitvoer-bestand SOMResLengte=? A N |   … [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus SOMResLengte=? A N |   … [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0,

21 Voorbeeld | Macro SOM  som v. elem. v. rij MACRO SOM Res,A,N |   (i=0.. -1) [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, MCREINDE | Begin van het programma SOMC,X,3 HIAR0,C DRU STP C:RESGR 1 X:10;20;30 Definitie Toestand: | Macro SOM  som v. elem. v. rij Uitvoer-bestand SOMResLengte=7 A N |   … [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, Kopieer

22 Voorbeeld | Macro SOM  som v. elem. v. rij MACRO SOM Res,A,N |   (i=0.. -1) [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, MCREINDE | Begin van het programma SOMC,X,3 HIAR0,C DRU STP C:RESGR 1 X:10;20;30 Kopieer Toestand: | Macro SOM  som v. elem. v. rij Uitvoer-bestand | Begin van het programma

23 Voorbeeld | Macro SOM  som v. elem. v. rij MACRO SOM Res,A,N |   (i=0.. -1) [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, MCREINDE | Begin van het programma SOMC,X,3 HIAR0,C DRU STP C:RESGR 1 X:10;20;30 Kopieer Toestand: | Macro SOM  som v. elem. v. rij Uitvoer-bestand | Begin van het programma SOMResLengte=7 A N |   … [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, 3N XA CRes Argumententabel Expansie

24 Voorbeeld | Macro SOM  som v. elem. v. rij MACRO SOM Res,A,N |   (i=0.. -1) [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, MCREINDE | Begin van het programma SOMC,X,3 HIAR0,C DRU STP C:RESGR 1 X:10;20;30 Expansie Toestand: | Macro SOM  som v. elem. v. rij | Begin van het programma Uitvoer-bestand | C  som(i=0..3-1)X[i] SOMResLengte=7 A N |   … [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, 3N XA CRes Argumententabel

25 Voorbeeld | Macro SOM  som v. elem. v. rij MACRO SOM Res,A,N |   (i=0.. -1) [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, MCREINDE | Begin van het programma SOMC,X,3 HIAR0,C DRU STP C:RESGR 1 X:10;20;30 Expansie Toestand: | Macro SOM  som v. elem. v. rij | Begin van het programma | C  som(i=0..3-1)X[i] Uitvoer-bestand HIA.w R0,0 SOMResLengte=7 A N |   … [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, 3N XA CRes Argumententabel

26 Voorbeeld | Macro SOM  som v. elem. v. rij MACRO SOM Res,A,N |   (i=0.. -1) [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, MCREINDE | Begin van het programma SOMC,X,3 HIAR0,C DRU STP C:RESGR 1 X:10;20;30 | Macro SOM  som v. elem. v. rij | Begin van het programma | C  som(i=0..3-1)X[i] HIA.w R0,0 Uitvoer-bestand HIA.w R1,0 SOMResLengte=7 A N |   … [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, 3N XA CRes Argumententabel Expansie Toestand:

27 Voorbeeld | Macro SOM  som v. elem. v. rij MACRO SOM Res,A,N |   (i=0.. -1) [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, MCREINDE | Begin van het programma SOMC,X,3 HIAR0,C DRU STP C:RESGR 1 X:10;20;30 | Macro SOM  som v. elem. v. rij | Begin van het programma | C  som(i=0..3-1)X[i] HIA.w R0,0 HIA.w R1,0 Uitvoer-bestand _1lus:OPT R0,X(R1+) SOMResLengte=7 A N |   … [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, 3N XA CRes Argumententabel Expansie Toestand:

28 Voorbeeld | Macro SOM  som v. elem. v. rij MACRO SOM Res,A,N |   (i=0.. -1) [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, MCREINDE | Begin van het programma SOMC,X,3 HIAR0,C DRU STP C:RESGR 1 X:10;20;30 | Macro SOM  som v. elem. v. rij | Begin van het programma | C  som(i=0..3-1)X[i] HIA.w R0,0 HIA.w R1,0 _1lus:OPT R0,X(R1+) Uitvoer-bestand VGL.w R1,3 SOMResLengte=7 A N |   … [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, 3N XA CRes Argumententabel Expansie Toestand:

29 Voorbeeld | Macro SOM  som v. elem. v. rij MACRO SOM Res,A,N |   (i=0.. -1) [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, MCREINDE | Begin van het programma SOMC,X,3 HIAR0,C DRU STP C:RESGR 1 X:10;20;30 | Macro SOM  som v. elem. v. rij | Begin van het programma | C  som(i=0..3-1)X[i] HIA.w R0,0 HIA.w R1,0 _1lus:OPT R0,X(R1+) VGL.w R1,3 Uitvoer-bestand VSP KL,_1lus SOMResLengte=7 A N |   … [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, 3N XA CRes Argumententabel Expansie Toestand:

30 Voorbeeld | Macro SOM  som v. elem. v. rij MACRO SOM Res,A,N |   (i=0.. -1) [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, MCREINDE | Begin van het programma SOMC,X,3 HIAR0,C DRU STP C:RESGR 1 X:10;20;30 | Macro SOM  som v. elem. v. rij | Begin van het programma | C  som(i=0..3-1)X[i] HIA.w R0,0 HIA.w R1,0 _1lus:OPT R0,X(R1+) VGL.w R1,3 VSP KL,_1lus Uitvoer-bestand BIG R0,C SOMResLengte=7 A N |   … [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, 3N XA CRes Argumententabel Expansie Toestand: Kopieer

31 SOMResLengte=7 A N |   … [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, Voorbeeld | Macro SOM  som v. elem. v. rij MACRO SOM Res,A,N |   (i=0.. -1) [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, MCREINDE | Begin van het programma SOMC,X,3 HIAR0,C DRU STP C:RESGR 1 X:10;20;30 Kopieer Toestand: | Macro SOM  som v. elem. v. rij | Begin van het programma | C  som(i=0..3-1)X[i] HIA.w R0,0 HIA.w R1,0 _1lus:OPT R0,X(R1+) VGL.w R1,3 VSP KL,_1lus BIG R0,C Uitvoer-bestand HIA R0,C

32 SOMResLengte=7 A N |   … [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, Voorbeeld | Macro SOM  som v. elem. v. rij MACRO SOM Res,A,N |   (i=0.. -1) [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, MCREINDE | Begin van het programma SOMC,X,3 HIAR0,C DRU STP C:RESGR 1 X:10;20;30 Kopieer Toestand: | Macro SOM  som v. elem. v. rij | Begin van het programma | C  som(i=0..3-1)X[i] HIA.w R0,0 HIA.w R1,0 _1lus:OPT R0,X(R1+) VGL.w R1,3 VSP KL,_1lus BIG R0,C HIA R0,C Uitvoer-bestand DRU

33 SOMResLengte=7 A N |   … [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, Voorbeeld | Macro SOM  som v. elem. v. rij MACRO SOM Res,A,N |   (i=0.. -1) [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, MCREINDE | Begin van het programma SOMC,X,3 HIAR0,C DRU STP C:RESGR 1 X:10;20;30 Kopieer Toestand: | Macro SOM  som v. elem. v. rij | Begin van het programma | C  som(i=0..3-1)X[i] HIA.w R0,0 HIA.w R1,0 _1lus:OPT R0,X(R1+) VGL.w R1,3 VSP KL,_1lus BIG R0,C HIA R0,C DRU Uitvoer-bestand STP

34 SOMResLengte=7 A N |   … [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, Voorbeeld | Macro SOM  som v. elem. v. rij MACRO SOM Res,A,N |   (i=0.. -1) [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, MCREINDE | Begin van het programma SOMC,X,3 HIAR0,C DRU STP C:RESGR 1 X:10;20;30 Kopieer Toestand: | Macro SOM  som v. elem. v. rij | Begin van het programma | C  som(i=0..3-1)X[i] HIA.w R0,0 HIA.w R1,0 _1lus:OPT R0,X(R1+) VGL.w R1,3 VSP KL,_1lus BIG R0,C HIA R0,C DRU STP Uitvoer-bestand C:RESGR 1

35 SOMResLengte=7 A N |   … [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, Voorbeeld | Macro SOM  som v. elem. v. rij MACRO SOM Res,A,N |   (i=0.. -1) [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0, MCREINDE | Begin van het programma SOMC,X,3 HIAR0,C DRU STP C:RESGR 1 X:10;20;30 Kopieer Toestand: | Macro SOM  som v. elem. v. rij | Begin van het programma | C  som(i=0..3-1)X[i] HIA.w R0,0 HIA.w R1,0 _1lus:OPT R0,X(R1+) VGL.w R1,3 VSP KL,_1lus BIG R0,C HIA R0,C DRU STP C:RESGR 1 Uitvoer-bestand X:10;20;30

36 Extra Macro-directieven MEVA, MVGL, MVSP, MSPR, MFOUT, MNTS Lokale macro-variabelen Globale voorvertaler-variabelen Globale voorvertaler-etiketten

37 Gegevensstructuren Globale variabelentabel = GVT Macro-variabelen  In Argumententabel = ALVT Globale etikettentabel = GET Lokale etikettentabel (LET)  In macro-definitie- structuur

38 Gegevensstructuren Globale variabelentabel = GVT Macro-variabelen  In Argumententabel = ALVT NaamWaarde N10 Debug1 MEVA N,10 MEVA Debug,1

39 Gegevensstructuren Globale variabelentabel = GVT Macro-variabelen  In Argumententabel = ALVT NaamWaarde ResC AX N3 NaamWaarde ResC AX N3 N12 MACRO SOM Res,A,N MEVA N1, -1 … MCREINDE MEVA N1, -1

40 Gegevensstructuren Globale etikettentabel = GET Lokale etikettentabel (LET)  In macro-definitie- structuur EtiketLijn $WHILE20 $EINDE25 $IF33 … $WHILE:MVGL,0 … $EINDE:MNTS … $IF:MVGL,10

41 Gegevensstructuren Globale etikettentabel = GET Lokale etikettentabel (LET)  In macro-definitie- structuur SOMResLengte=7 ALET EtiketLijn N $lus4 |   … [i] HIA.w R0,0 HIA.w R1,0 $lus:OPT R0, (R1+) VGL.w R1, VSP KL,$lus BIG R0,

42 Gegevensstructuren 1 Telt macro-oproepen (  GVT) teller 1 Macro-conditie-code (  GVT) MCC 1 / definitieLokale etiketten van de macroLET 1Globale etikettenGET 1 / oproepMacro-argumenten en lokale variabelen ALVT 1Globale voorvertaler variabelenGVT AantalInhoudAfkorting

43 Aanpassingen voorvertaler Definitiemode  LET opstellen Kopieermode  $etiket: … Aan GET toevoegen  Opzoeken in GVT  MEVA  GVT  MNTS  MFOUT  MSPR  GET  MVGL  MVSP  GET Expansiemode  Opzoeken in ALVT, ev. In GVT  MEVA  ALVT of GVT  MNTS  MFOUT  MSPR  LET  MVGL  MVSP  LET

44 RAM Van bronprogramma tot Uitvoerbaar programma Module A (met macro’s) Module B (met macro’s) Module A (zonder macro’s) Objectmodule A Voorvertaler Vertaler Binder Uitvoerbaar Programma Module B (zonder macro’s) Objectmodule B Voorvertaler Vertaler Programma- bibliotheek Lader Uitvoerbaar Programma Broncode Machinecode Legende:

45 Macro’s in tekst-context MACRO VERSE ANIMALS,SOUND Old Mac Donald had a farm, E-I-E-I-O And on his farm he had some, E-I-E-I-O With a here and a \ there, here a, there a, everywhere a \ Old Mac Donald had a farm, E-I-E-I-O MCREINDE VERSE chicks,cheep VERSE ducks,quack VERSE turkeys,gobble

46 Macro’s in tekst-context Old Mac Donald had a farm, E-I-E-I-O And on his farm he had some chicks E-I-E-I-O With a cheep cheep here and a cheep cheep there, here a cheep, there a cheep, everywhere a cheep \ cheep Old Mac Donald had a farm, E-I-E-I-O And on his farm he had some ducks E-I-E-I-O With a quack quack here and a quack quack there, here a quack, there a quack, everywhere a quack \ quack Old Mac Donald had a farm, E-I-E-I-O …

47 Macro’s in tekst-context MACRO VERSE ANIMALS,SOUND Old Mac Donald had a farm, E-I-E-I-O And on his farm he had some, E-I-E-I-O With a here and a \ there, here a, there a, everywhere a \ Old Mac Donald had a farm, E-I-E-I-O MCREINDE VERSE chicks,cheep VERSE ducks,quack VERSE turkeys,gobble Indien ingebouwd in vertaler: *** fout *** Old: \ onbestaande functiecode

48 Cursustekst Hoofdstuk 3: pag. 23  pag. 44 Hoofdstuk 3 volledig gezien: pag. 1  pag. 93