Toch weer een dip. Ik merkte dat het goede werkritme een stuk minder hard terugkwam met de chaos van deze en voorgaande week. Ik noem even in willekeurige volgorde : Eerste bezoek aan de fysiotherapeut ooit, larpvoorbereidingen, papervoorbereidingen en stress, keelpijn ende ziekte, mega-larp-dip, een gemis aan werk, een practicum wat niet opschiet, mijn eerste operatie bij bewustzijn*, pandora-acteur spelen (En dan expres niet meespelen, dan ben ik een hele week kwijt).
* Erg grappig om te zien hoe de dokter stukjes van je af snijdt met een miniscuul mesje, terwijl je niets voelt door de verdoving. Je moet echt bewust "Hey, dat is mijn arm" denken.
Desalniettemin, het is nu weer terug. Eindelijk goed geslapen nadat maandagnacht ik tot zes uur half wakker lag in koortsdromen waarin om een of andere reden er een eindig stelsel van verhoudingen was waar ik iteratief doorheen moest lopen. Ik beschuldig het moeten maken van assembler code voor hoog-level-programmeertaal statements ervan.
Programmeertalen zijn gewoon lagen die op een 'hoog' niveau met een computer communiceren. Diep in de krochten van je processor is het echter allemaal hetzelfde, er wordt wat met bits en zogenaamde bytecode gewerkt, wat voor mensen haast onwerkbaar is om mee te programmeren. Daarvoor is er een taal bedacht die daar echt net boven ligt, genaamd assembly. Om nu een programmeertaal iets te laten doen vertaalt je compiler je programmeertaal naar bytecode. Voor onze opdracht moet dit naar een soort van assembly worden vertaald, van een zogenaamd stackmachine. Een programma wat gegeven 3 inputs van getallen het kleinste getal moet teruggeven wordt dan al gauw zoiets::
PUSH 3 ; Reserve space for the 3 numbers
LOADA 0[SB] ; Address of n0: 0[sb]
CALL getint ; read first number into n0
LOADA 1[SB] ; Address of n1: 1[sb]
CALL getint ; read second number into n1
LOADA 2[SB] ; Address of n2: 2[sb]
CALL getint ; read third number into n2
LOAD(1) 0[SB] ; Load first number
LOAD(1) 1[SB] ; Load second number
LOADL 1 ; size of arguments is 1
CALL ge ; Compare sizes of first two numbers. (#1 => #2)
JUMPIF(1) test[SB] ; If second number < first number, jump to {X}
POP(0) 1 ; To prevent superfluous code, continue downward if 2 < 1. pop result of previous call from stack.
LOAD(1) 0[SB] ; Load first number IF first number is smaller
LOAD(1) 2[SB] ; Load third number
LOADL 1 ; size of arguments is 1
CALL ge ; Compare size of first and third number (#1 => #3)
JUMPIF(1) n3[CB] ;
JUMPI n1[CB] ;
test: LOAD(1) 1[SB] ; Load second number
LOAD(1) 2[SB] ; Load third number
LOADL 1 ; size of arguments is 1
CALL ge ; Compare size of scond and third number (#2 => #3)
JUMPIF(1) n3[SB] ; If correct, 3 is smallest. Jump to 3
JUMPI n2[SB] ; Else, 2 is smallest. Jump to n2.
n1: LOAD(1) 0[SB] ; The result is the third number.
JUMP end[CB] ; Result has been printed. Continue to end program
n2: LOAD(1) 1[SB] ; The result is the third number.
JUMP end[CB] ; Result has been printed. Continue to end program
n3: LOAD(1) 2[SB] ; The result is the third number.
JUMP end[CB] ; Result has been printed. Continue to end program
end: CALL put ; Print remaining number on stack (The result of the comparison)
POP(0) 3 ; Remove the space for the three numbers
HALT ; End program
Complex, niet? En dan is dit niet eens de 'laagste laag'. Je kunt je voorstellen in wat voor vreemde krochten mijn hersenen ronddwaalden in die koortsdromen.
Daarnaast had ik een heel ambivalent evenement, Aon was voor de groep Schnoodaerts nu echt een erop of eronder evenement. Gaan we blijven komen of niet. Volgens mij is de mening nu algemeen dat het erg leuk was en we zeker willen terugkomen. Tegelijk heeft het evenement een rare nasmaak omdat we op zondagochtend te horen kregen dat Eef is overleden. Ik had hem al bijna een half jaar niet meer gezien en met zijn ziekte was hij de laatste jaren wat minder in de kijker, maar het raakte toch een heleboel oudgedienden. Mensen die er bij waren toen ik net begon, jaren terug. Het is gewoon best kut dat ie zo vroeg is overleden, juist nu ik hem weer langzaam tegenkwam op evenementen.
Over Aon zelf komt nog wel eens wat. Nu verder met een vergadering, omzetten van mijn gruwelijke geschriften en referenties in iets wat meer op een APA-standaard lijkt en eten.