1 / 62

SOCS

SOCS. Hoofdstuk 1 Computerarchitectuur. C. Overzicht. Eenvoudig C Arrays Functies Records Dynamische gegevenstructuren Macro’s. #define N 20 #define DEBUG #define somkwad(x,y) x*x+y*y int a[N], i, j, k; main() { #ifdef DEBUG printint (N); #endif ... #if N > 10

redell
Télécharger la présentation

SOCS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SOCS Hoofdstuk 1 Computerarchitectuur

  2. C Overzicht • Eenvoudig C • Arrays • Functies • Records • Dynamische gegevenstructuren • Macro’s

  3. #defineN20 #defineDEBUG #definesomkwad(x,y)x*x+y*y int a[N], i, j, k; main() { #ifdef DEBUG printint (N); #endif ... #if N > 10 i = somkwad(j,a[10]); #else i = somkwad(a[k],a[j]); #endif ... } Voorvertaler-directieven Definitie van constanten Verkorte notatie van codefragmenten Voorwaardelijke code C Macro’s Directieven voor de voorvertaler Naam Definitie

  4. #defineN20 #defineDEBUG #definesomkwad(x,y)x*x+y*y int a[N], i, j, k; main() { #ifdef DEBUG printint (N); #endif ... #if N > 10 i = somkwad(j,a[10]); #else i = somkwad(a[k],a[j]); #endif ... } int a[20], i, j, k; main() { printint (20); ... i = j*j + a[10]*a[10]; ... } C Macro’s

  5. #defineN10 #definesomkwad(x,y)x*x+y*y int a[N], i, j, k; main() { #ifdef DEBUG printint (N); #endif ... #if N > 10 i = somkwad(j,a[10]); #else i = somkwad(a[k],a[j]); #endif ... } int a[10], i, j, k; main() { ... i = a[k]*a[k] + a[j]*a[j]; ... } C Macro’s

  6. Macro’s in DRAMA • Basisprincipe • Eenvoudige DRAMA-macro’s • Lokale symbolische adressen • Macro-parameters en variabelen • Voorwaardelijke macro-opbouw • Macro-directieven • Genestelde en recursieve macro-oproepen • Globale macro-variabelen

  7. Basisprincipe • LPT: 1 bronbevel  1 doelbevel (machinetaal) • Uitzondering: macro-oproep • Doel: • Stukjes code die verschillende keren voorkomen • Slechts 1 keer schrijven (en naam geven) • Op verschillende plaatsen inlassen

  8. Code inlassen om R0  |R0| Basisprincipe • Voorbeeld: y = | a | + | -3 * b * c | + | 4 + e |; • Code om R0  | R0 | ( naam ABSW) • Programma: HIA R0,a ABSW HIA R1,R0 HIA.w R0,-3 VER R0,b VER R0,c ABSW OPT R1,R0 HIA.w R0,4 OPT R0,e ABSW OPT R1,R0 BIG R1,y

  9. Macro’s in DRAMA • Basisprincipe • Eenvoudige DRAMA-macro’s • Lokale symbolische adressen • Macro-parameters en variabelen • Voorwaardelijke macro-opbouw • Macro-directieven • Genestelde en recursieve macro-oproepen • Globale macro-variabelen

  10. Eenvoudige DRAMA-macro’s • R1  (R1)6 | Macro ZesdeMacht | Resultaat: R1  (R1)6 | Wijzigt R1 (resultaat) en R2 MACRO ZesdeMacht … DRAMA code … MCREINDE Interface Directief • Hoofding • Naam • … Lichaam/Romp Directief

  11. Eenvoudige DRAMA-macro’s • R1  (R1)6 | Macro ZesdeMacht | Resultaat: R1  (R1)6 | Wijzigt R1 (resultaat) en R2 MACRO ZesdeMacht MCREINDE VER R1,R1 HIA R2,R1 VER R1,R2 VER R1,R2

  12. Gebruik van de macro  macro-oproep | Macro ZesdeMacht | Resultaat: R1  (R1)6 | Wijzigt R1 en R2 MACRO ZesdeMacht VER R1,R1 HIA R2,R1 VER R1,R2 VER R1,R2 MCREINDE | d = (a6 * b – c)6 HIA R1,a … STP a: RESGR 1 b: RESGR 1 c: RESGR 1 d: RESGR 1 Macro-oproep Macro-oproep Eenvoudige DRAMA-macro’s ZesdeMacht VER R1,b AFT R1,c ZesdeMacht BIG R1,d

  13. MACRO ZesdeMacht VER R1,R1 … MCREINDE HIA R1,a ZesdeMacht VER R1,b AFT R1,c ZesdeMacht … HIA R1,a VER R1,R1 … VER R1,b AFT R1,c VER R1,R1 … … Voorvertaler Definitie Voor-vertaler Oproep Oproep Bronprogramma(zonder macro-definities en oproepen) Bronprogramma (met macro-definities op -oproepen)

  14. MACRO ZesdeMacht VER R1,R1 HIA R2,R1 VER R1,R2 VER R1,R2 MCREIND HIA R1,a ZesdeMacht VER R1,b AFT R1,c ZesdeMacht BIG R1,d … STP a: RESGR 1 … HIA R1,a Zesdemacht VER R1,b AFT R1,c Zesdemacht BIG R1,d … STP a: RESGR 1 … Macro-oproep Macro-expansie Voorvertaling VER R1,R1 HIA R2,R1 VER R1,R2 VER R1,R2 VER R1,R1 HIA R2,R1 VER R1,R2 VER R1,R2

  15. Opmerkingen • LPT (assembleertaal)+ mogelijkheid macro’s te definieren= macro-assembleertaal • Macro-definitie: textueel voor eerste oproep • Afspraak: • Vooraan in programma: alle macro-definities • Daarna: Drama-programma (+ macro-oproepen)

  16. Symbolische adressen • Lichaam van macro: • Om het even wat • Dus ook symbolische adressen LUS: VGL.w R1,0 • Voorbeeld: • Macro voor ABSW R0  | R0 |

  17. R0  | R0 | | y = |a|+|-3*b*c|+|4+e| HIA R0,a ABSW HIA R1,R0 HIA.w R0,-3 VER R0,b VER R0,c ABSW OPT R1,R0 HIA.w R0,4 OPT R0,e ABSW OPT R1,R0 BIG R1,y Symbolische adressen | Macro ABSW | Resultaat: R0  |R0| | Wijzigt R0 (resultaat) MACRO ABSW MCREINDE VGL.w R0,0 VSP NNEG,einde VER.w R0,-1 einde:

  18. MACRO ABSW VGL.w R0,0 VSP NNEG,einde VER R0,-1 einde: MCREIND HIA R0,a ABSW HIA R1,R0 HIA.w R0,-3 VER R0,b VER R0,c ABSW OPT R1,R0 HIA.w R0,4 OPT R0,e ABSW OPT R1,R0 BIG R1,y HIA R0,a ABSW HIA R1,R0 HIA.w R0,-3 VER R0,b VER R0,c ABSW OPT R1,R0 HIA.w R0,4 OPT R0,e ABSW OPT R1,R0 BIG R1,y VGL.w R0,0 VSP NNEG,einde VER.w R0,-1 VGL.w R0,0 VSP NNEG,einde VER.w R0,-1 VGL.w R0,0 VSP NNEG,einde VER.w R0,-1 einde: einde: einde: Voorvertaling Foutief DRAMA- programma!

  19. Macro’s in DRAMA • Basisprincipe • Eenvoudige DRAMA-macro’s • Lokale symbolische adressen • Macro-parameters en variabelen • Voorwaardelijke macro-opbouw • Macro-directieven • Genestelde en recursieve macro-oproepen • Globale macro-variabelen

  20. Lokale symbolische adressen • Alleen betekenis BINNEN een macro-definitie • Voorvertaler zet om naar UNIEK symbolisch adres • Lokaal symbolisch adres = $etiket • UNIEK symbolisch adres = _1etiket, _2etiket, _3etiket, … bij eerste, tweede, derde macro-oproep

  21. R0  | R0 | | y = |a|+|-3*b*c|+|4+e| HIA R0,a ABSW HIA R1,R0 HIA.w R0,-3 VER R0,b VER R0,c ABSW OPT R1,R0 HIA.w R0,4 OPT R0,e ABSW OPT R1,R0 BIG R1,y Lokale symbolische adressen | Macro ABSW | Resultaat: R0  |R0| | Wijzigt R0 (resultaat) MACRO ABSW VGL.w R0,0 VSP NNEG,einde VER.w R0,-1 einde: MCREINDE $einde $

  22. MACRO ABSW VGL.w R0,0 VSP NNEG,$einde VER.w R0,-1 $einde: MCREIND HIA R0,a ABSW HIA R1,R0 HIA.w R0,-3 VER R0,b VER R0,c ABSW OPT R1,R0 HIA.w R0,4 OPT R0,e ABSW OPT R1,R0 BIG R1,y HIA R0,a ABSW HIA R1,R0 HIA.w R0,-3 VER R0,b VER R0,c ABSW OPT R1,R0 HIA.w R0,4 OPT R0,e ABSW OPT R1,R0 BIG R1,y VGL.w R0,0 VSP NNEG,_1einde VER.w R0,-1 VGL.w R0,0 VSP NNEG,_2einde VER.w R0,-1 VGL.w R0,0 VSP NNEG,_3einde VER.w R0,-1 _1einde: _2einde: _3einde: Voorvertaling

  23. Macro’s in DRAMA • Basisprincipe • Eenvoudige DRAMA-macro’s • Lokale symbolische adressen • Macro-parameters en variabelen • Voorwaardelijke macro-opbouw • Macro-directieven • Genestelde en recursieve macro-oproepen • Globale macro-variabelen

  24. Macro-parameters • Bruikbaarheid van macro beperkt • Gegevens beschikbaar in accumulator of in geheugenregister • Parameters • Mogelijkheid om ingelaste code aan noden aan te passen • Voorbeeld ABSW R1 | R1  |R1| ABSW R2 | R2  |R2| • Parameters • In hoofding: naam1, naam2, … • In lichaam: <naam1>, <naam1>, …

  25. Ri  | Ri | | y = |a|+|-3*b*c|+|4+e| HIA R0,a ABSW R0 HIA.w R1,-3 VER R1,b VER R1,c ABSW R1 OPT R0,R1 HIA.w R2,4 OPT R2,e ABSW R2 OPT R0,R2 BIG R0,y Macro-parameters | Macro ABSW Ri | Parameter Ri | Resultaat: Ri  |Ri| | Wijzigt Ri (resultaat) MACRO ABSW Ri MCREINDE Parameter VGL.w <Ri>,0 VSP NNEG,$einde VER.w <Ri>,-1 $einde: Parameter

  26. MACRO ABSW Ri VGL.w <Ri>,0 VSP NNEG,$einde VER.w <Ri>,-1 $einde: MCREIND HIA R0,a ABSW R0 HIA.w R1,-3 VER R1,b VER R1,c ABSW R1 OPT R0,R1 HIA.w R2,4 OPT R2,e ABSW R2 OPT R0,R2 BIG R0,y HIA R0,a ABSW R0 HIA.w R1,-3 VER R1,b VER R1,c ABSW R1 OPT R0,R1 HIA.w R2,4 OPT R2,e ABSW R2 OPT R0,R2 BIG R0,y VGL.w R0,0 VSP NNEG,_1einde VER.w R0,-1 VGL.w R1,0 VSP NNEG,_2einde VER.w R1,-1 VGL.w R2,0 VSP NNEG,_3einde VER.w R2,-1 _1einde: _2einde: _3einde: Voorvertaling

  27. Ri  | Ri | | y = |a|+|-3*b*c|+|4+e| HIA R0,a ABSW 0 HIA.w R1,-3 VER R1,b VER R1,c ABSW 1 OPT R0,R1 HIA.w R2,4 OPT R2,e ABSW 2 OPT R0,R2 BIG R0,y Macro-parameters | Macro ABSW i | Parameter i | Resultaat: Ri  |Ri| | Wijzigt Ri (resultaat) MACRO ABSW i MCREINDE VGL.w R<i>,0 VSP NNEG,$einde VER.w R<i>,-1 $einde:

  28. MACRO ABSW i VGL.w R<i>,0 VSP NNEG,$einde VER.w R<i>,-1 $einde: MCREIND HIA R0,a ABSW 0 HIA.w R1,-3 VER R1,b VER R1,c ABSW 1 OPT R0,R1 HIA.w R2,4 OPT R2,e ABSW 2 OPT R0,R2 BIG R0,y HIA R0,a ABSW 0 HIA.w R1,-3 VER R1,b VER R1,c ABSW 1 OPT R0,R1 HIA.w R2,4 OPT R2,e ABSW 2 OPT R0,R2 BIG R0,y VGL.w R0,0 VSP NNEG,_1einde VER.w R0,-1 VGL.w R1,0 VSP NNEG,_2einde VER.w R1,-1 VGL.w R2,0 VSP NNEG,_3einde VER.w R2,-1 _1einde: _2einde: _3einde: Voorvertaling

  29. z  x*x + y*y Macro-parameters | Macro SomKwad | Parameter z,x,y | Resultaat: zx*x+y*y | Wijzigt R1 en R2 MACRO SomKwad z,x,y MCREINDE HIA R1,<x> VER R1,R1 HIA R2,<y>VER R2,R2 OPT R1,R2BIG R1,<z>

  30. z  x*x + y*y SomKwad a,b,c SomKwad e,R5,f Macro-parameters HIA R1,b VER R1,R1 HIA R2,c VER R2,R2 OPT R1,R2 BIG R1,a | Macro SomKwad | Parameter z,x,y | Resultaat: zx*x+y*y | Wijzigt R1 en R2 MACRO SomKwad z,x,y MCREINDE HIA R1,<x> VER R1,R1 HIA R1,R5 VER R1,R1 HIA R2,f VER R2,R2 OPT R1,R2 BIG R1,e HIA R2,<y>VER R2,R2 OPT R1,R2BIG R1,<z>

  31. z  x*x + y*y SomKwad R5,b,c SomKwad e,10,f Macro-parameters HIA R1,b VER R1,R1 HIA R2,c VER R2,R2 OPT R1,R2 BIG R1,R5 | Macro SomKwad | Parameter z,x,y | Resultaat: zx*x+y*y | Wijzigt R1 en R2 MACRO SomKwad z,x,y MCREINDE Ongeldig Drama-bevel HIA R1,<x> VER R1,R1 HIA R1,10 VER R1,R1 HIA R2,f VER R2,R2 OPT R1,R2 BIG R1,e HIA R2,<y>VER R2,R2 Nietverwachtresultaat! OPT R1,R2BIG R1,<z>

  32. If-then-else constructie Macro-parameters IfThenElse x,KLG,y,klg,grd,R1 klg: … | kleiner of gelijk … SPR endif grd: … | groter dan … endif: … if (x <= y) { … kleiner of gelijk … } else { … groter dan … }

  33. If-then-else constructie IfThenElse x,KLG,y,klg,grd,R1 klg: … | kleiner of gelijk … SPR endif grd: … | groter dan … endif: … Macro-parameters | Macro IfThenElse | Parameters: | a,vw,b,dan,anders,reg | Resultaat: | if (a vw b) SPR dan| else SPR anders| Wijzigt reg. <reg> MACRO IfThenElse a,vw,b,dan,\ anders,reg MCREINDE klg: … | kleiner of gelijk … SPR endif grd: … | groter dan … endif: … HIA R1,x VGL R1,y VSP KLG,klg SPR grd HIA <reg>,<a> VGL <reg>,<b> VSP <vw>,<dan> SPR <anders>

  34. Macro-variabelen • Doel • Tijdens de expansie berekening uitvoeren • Geen declaratie • Bestaan zodra eerste toekenning • MEVA-directiefMEVA variabele,expressie • Voorbeeld:MEVA A,10 MEVA B,<A>-20 • Beperkingen: • Uitdrukking  gehele waarde • Uitdrukking: macro-variabelen, -parameters, +, -, *, /, (, ) • Lokale variabele!  na oproep verdwenen

  35. Ri Ri-1 + Ri + Ri+1 TelOp 4 TelOp 8 TelOp 9 TelOp 0 Macro-variabelen OPT R4,R3 OPT R4,R5 | Macro TelOp | Parameter i (0<i<9) | Resultaat: Ri+=Ri-1+Ri+1 MACRO TelOp i MCREINDE OPT R8,R7 OPT R8,R9 MEVA reg,<i>-1 OPT R<i>,R<reg> Ongeldig Adres als R10 niet ge-definieerd MEVA reg,<i>+1 OPT R<i>,R<reg> OPT R9,R8 OPT R9,R10 Ongeldig Adres als R niet ge-definieerd OPT R0,R-1 OPT R0,R1

  36. Macro’s in DRAMA • Basisprincipe • Eenvoudige DRAMA-macro’s • Lokale symbolische adressen • Macro-parameters en variabelen • Voorwaardelijke macro-opbouw • Macro-directieven • Genestelde en recursieve macro-oproepen • Globale macro-variabelen

  37. Voorwaardelijke macro-opbouw • Doel: • Gelijkaardige maar niet identieke code inlassen • Parameters / Variabelen • Verschillend aantal bevelen? • Macro-definitie • Voor meest algemene geval • Voorwaardelijke macro-opbouw: • Alleen die stukken inlassen die nodig zijn • Macro-directieven  Voorvertaler! • M… • Voorbeelden: MEVA, MVGL, MVSP, MSPR, …

  38. Res  A1 + … + An (n=1 .. 3) | d  a + b + c Som 3,d,a,b,c | k  l + m Som 2,k,l,m | x  y Som 1,x,y Voorwaardelijk macro-opbouw | Macro Som | Resultaat: Res = A1+…+AN | Wijzigt R1 MACRO Som N,Res,A1,A2,A3 MCREINDE HIA R1,a OPT R1,b OPT R1,c BIG R1,d HIA R1,<A1> MVGL <N>,1 MVSP GEL,$bergweg HIA R1,l OPT R1,m BIG R1,k OPT R1,<A2> MVGL <N>,2 MVSP GEL,$bergweg OPT R1,<A3> $bergweg: MNTS BIG R1,<Res> HIA R1,y BIG R1,x

  39. Macro’s in DRAMA • Basisprincipe • Eenvoudige DRAMA-macro’s • Lokale symbolische adressen • Macro-parameters en variabelen • Voorwaardelijke macro-opbouw • Macro-directieven • Genestelde en recursieve macro-oproepen • Globale macro-variabelen

  40. Macro-directieven

  41. Res  (Getal)Exp (0 <= Exp) | b  a3 Macht b,a,3,R1 | y  x0 Macht y,x,0,R0 | k  m-1 Macht k,m,-1,R3 Voorwaardelijk macro-opbouw | Macro Macht| Resultaat: Res = (Getal)Exp | Wijzigt register Reg MACRO Macht Res,Getal,Exp,Reg MCREINDE HIA.w R1,1 VER R1,a VER R1,a VER R1,a BIG R1,b HIA.w <Reg>,1 MVGL <Exp>,0 MVSP GRG,$lusMFOUT “Exp moet >= 0” $lus: MVGL <Exp>,0 MVSP GEL,$bergweg HIA.w R0,1 BIG R0,y VER <Reg>,<Getal> MEVA Exp,<Exp>-1 MSPR $lus $bergweg: MNTS HIA.w R3,1 *** fout *** Exp moet >= 0 BIG <Reg>,<Res>

  42. Macro’s in DRAMA • Basisprincipe • Eenvoudige DRAMA-macro’s • Lokale symbolische adressen • Macro-parameters en variabelen • Voorwaardelijke macro-opbouw • Macro-directieven • Genestelde en recursieve macro-oproepen • Globale macro-variabelen

  43. Genestelde en recursieve macro-oproepen • Genestelde macro-oproep • Binnen macro-definitie andere macro oproepen • Recursieve macro-oproep • Binnen macro-definitie zichzelf terug oproepen • Mogelijk mits voorwaardelijk macro-opbouw

  44. Res  A1 + … + AN (N > 0) Genestelde en recursieve macro-oproepen | Macro Som| Res=a1+…+an (0<n<=4) | Wijzigt R1 MACRO Som Res,n,a1,a2,a3,a4 MCREINDE | Macro RSom| R1 += b1+…+bn-1 MACRO Rsom n,b1,b2,b3 MCREINDE MEVA n,<n>-1 MVGL <n>,0MVSP KLG,$einde MVGL <n>,0 MVSP GR,$pos MFOUT “n moet > 0” OPT R1,<b1> $pos: MVGL <n>,4 MVSP KLG,$ok MFOUT “n moet <= 4” $ok: MNTS Rsom <n>,<b2>,<b3> $einde: MNTS HIA R1,<a1> Rsom <n>,<a2>,<a3>,<a4> BIG R1,<Res>

  45. Res  A1 + … + AN (N > 0) | x  a + b + c Som x,3,a,b,c Genestelde en recursieve macro-oproepen Res xn  3a1  a a2  b a3  ca4  | Macro Som| Res=a1+…+an (0<n<=4) | Wijzigt R1 MACRO Som Res,n,a1,a2,a3,a4 MCREINDE HIA R1,a MVGL <n>,0 MVSP GR,$pos MFOUT “n moet > 0” $pos: MVGL <n>,4 MVSP KLG,$ok MFOUT “n moet <= 4” $ok: MNTS HIA R1,<a1> Rsom <n>,<a2>,<a3>,<a4> BIG R1,<Res>

  46. Res  A1 + … + AN (N > 0) | x  a + b + c Som x,3,a,b,c Genestelde en recursieve macro-oproepen Res xn  3a1  a a2  b a3  ca4  | Macro Som| Res=a1+…+an (0<n<=4) | Wijzigt R1 MACRO Som Res,n,a1,a2,a3,a4 MCREINDE HIA R1,a Rsom 3,b,c, MVGL <n>,0 MVSP GR,$pos MFOUT “n moet > 0” $pos: MVGL <n>,4 MVSP KLG,$ok MFOUT “n moet <= 4” $ok: MNTS HIA R1,<a1> Rsom <n>,<a2>,<a3>,<a4> BIG R1,<Res>

  47. Res  A1 + … + AN (N > 0) | x  a + b + c Som x,3,a,b,c | Macro RSom| R1 += b1+…+bn-1 MACRO Rsom n,b1,b2,b3 MCREINDE MEVA n,<n>-1 MVGL <n>,0MVSP KLG,$einde OPT R1,<b1> Rsom <n>,<b2>,<b3> $einde: MNTS Genestelde en recursieve macro-oproepen Res xn  3a1  a a2  b a3  ca4  HIA R1,a Rsom 3,b,c, n  3 b1  b b2  c b3  n  2 b1  b b2  c b3  OPT R1,b Rsom 2,c,,

  48. Res  A1 + … + AN (N > 0) | x  a + b + c Som x,3,a,b,c | Macro RSom| R1 += b1+…+bn-1 MACRO Rsom n,b1,b2,b3 MCREINDE MEVA n,<n>-1 MVGL <n>,0MVSP KLG,$einde OPT R1,<b1> Rsom <n>,<b2>,<b3> $einde: MNTS Genestelde en recursieve macro-oproepen Res xn  3a1  a a2  b a3  ca4  HIA R1,a Rsom 3,b,c, n  2 b1  b b2  c b3  OPT R1,b Rsom 2,c,, n  2 b1  c b2  b3  n  1 b1  c b2  b3  OPT R1,c Rsom 1,,,

  49. Res  A1 + … + AN (N > 0) | x  a + b + c Som x,3,a,b,c | Macro RSom| R1 += b1+…+bn-1 MACRO Rsom n,b1,b2,b3 MCREINDE MEVA n,<n>-1 MVGL <n>,0MVSP KLG,$einde OPT R1,<b1> Rsom <n>,<b2>,<b3> $einde: MNTS Genestelde en recursieve macro-oproepen Res xn  3a1  a a2  b a3  ca4  HIA R1,a Rsom 3,b,c, n  2 b1  b b2  c b3  OPT R1,b Rsom 2,c,, n  1 b1  c b2  b3  OPT R1,c Rsom 1,,, n  0 b1  b2  b3  n  1 b1  b2  b3 

  50. Res  A1 + … + AN (N > 0) | x  a + b + c Som x,3,a,b,c | Macro RSom| R1 += b1+…+bn-1 MACRO Rsom n,b1,b2,b3 MCREINDE MEVA n,<n>-1 MVGL <n>,0MVSP KLG,$einde OPT R1,<b1> Rsom <n>,<b2>,<b3> $einde: MNTS Genestelde en recursieve macro-oproepen Res xn  3a1  a a2  b a3  ca4  HIA R1,a Rsom 3,b,c, n  2 b1  b b2  c b3  OPT R1,b Rsom 2,c,, n  1 b1  c b2  b3  OPT R1,c Rsom 1,,,

More Related