68k Assembler in Perfektion

Assembler ist manchmal einfach wunderbar. Warum wunderbar? Es gibt Dinge, die man nicht erwartet, gerade beim 68000-Prozessor von Motorola. Eigentlich der (Private)Workstation-Prozessor genutzt in den ersten richtig leistungsstarken PCs wie dem Macintosh und danach in den 16/32Bit Homecomputern. Davor in vielen Arcades (Foodfight Atari 1983+) und danach in Consolen (Megadrive etc.) Seine Nachfolger 68030 waren für wichtige andere Meilensteine der Geschichte der Computerindustrie verantwortlich etwa die NExT.

Und hier ein kleines Müsterchen:

In der ersten Zeile wird ein Word (2Bytes) von einer Speicherstelle a4 (Adresse) in eine zweite verschoben a3 (Adresse). Mit move.w (a4)+ kann man verschieben und die Adresse ein Byte hochzählen. Leider ist nun ein Word 2 Bytes lang und so muss man nochmals hochzählen. Und siehe da der Prozessor kann das mit ++. Diese einfach Sache macht weiteres hinzfügen mit add.l #1,a4 und add.l #1,a3 unnötig.

Natürlich bleibt dadurch die Programmierung in Assembler weitere eine Konzentrationssache. Dennoch ist in dieser einen Zelle soviel klar lesbar.

Und es war zu schön, um wahr zu sein!

So perfekt ist dann der 680×0 dann doch nicht .-)

// ToDo: Woher kommt das i++ ? .-)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert