Les 4: De assembler en de instructies. Vorige keer hebben we het gehad over de adresseringsmethoden, die ik in vogelvlucht even doorgenomen heb. Ik wil nog even opmerken dat we voor het vervolg van de cursus de modes immediate data, register direct, register indirect, register indirect met predecrement, register indirect met postincrement, en register indirect met offset heel vaak zullen gebruiken, en alle andere methoden veel minder vaak. Wie nog wat op te halen heeft en dus het beste daar zijn krachten op richten. Nu wil ik het hebben over de syntax van de assembleertaal en het format van machinecode-instructies. Wat moeten we ons nou voorstellen bij 'assembler', 'machinecode' en dat soort dingen? Wat is assembler? Assembler, netjes assembly language, of netjes Nederlands assembleertaal, is een voor mensen leesbare notatie van machinecode instructies, in ons geval voor de 68000 microprocessor. Een assembler, of assembleerprogramma, is een programma dat deze notatie omzet naar machinecode. Een assembler gebruikt als input een tekstfile waarin de programmeur een aantal instructies heeft geschreven, en produceert een programma dat de computer kan uitvoeren. Een assembler is dus voor assembleertaal wat een compiler is voor C, of voor Pascal. Machinecode is een verzameling van getallen die ieder een bepaalde handeling van de processor eenduidig specificeren. Een reeks van zulke getallen noemen we een programma. De opdrachten die de programmeur geeft in de tekstfile die hij of zij aan het vertaalprogramma voert, kunnen van tweerlei aard zijn. Het kunnen opdrachten aan de 68000 processor zijn, die in machinecode moeten worden vertaald, en het kunnen opdrachten aan het assembleerprogramma zijn, bijvoorbeeld of er al of niet een listing moet worden gegenereerd tijdens het vertalen. Deze laatste zal ik voorlopig niet behandelen om geen verwarring te stichten; we komen ze vanzelf tegen bij het programmeren. Bovendien wisselen ze enigszins per assembleerprogramma. SYNTAX De instructies hebben een bepaalde vorm. Om te beginnen staat er op iedere regel van de invoer maar 1 instructie of pseudo-instructie. ( Een pseudo-instructie of pseudo-op(code) is een aanwijzing aan het assembleerprogramma.) Dit is ook de reden dat assemblerprogramma's zo enorm groot zijn als sourcecode, het is heel gewoon om voor een programma dat als .PRG file 1500 bytes in beslag neemt 20 K tekstfile aan de assembler te moeten voederen. De algemene syntax is: [