{"id":4428,"date":"2025-05-23T09:13:08","date_gmt":"2025-05-23T09:13:08","guid":{"rendered":"https:\/\/research.swissdigitization.ch\/?p=4428"},"modified":"2025-05-23T09:52:28","modified_gmt":"2025-05-23T09:52:28","slug":"interessante-offset-array-schreibweise-oder-die-heutige-notiation-war-immer-inspiriert-vom-davor-oder-doch-nicht","status":"publish","type":"post","link":"https:\/\/research.swissdigitization.ch\/?p=4428","title":{"rendered":"Interessante Offset\/Array-Schreibweise oder die heutige Notation war immer inspiriert vom Davor oder doch nicht?"},"content":{"rendered":"\n<p>Im Coden auf alten Computern geht man ja auch r\u00fcckw\u00e4rts in der Geschichte der Programmierung und deren Kultur. Diese Sichtweise ist nat\u00fcrlich meist positivistisch &#8222;im Sinne von&#8220;: Das musste ja so kommen, auch wenn die Zukunft nie geschlossen ist. Aus dem Kommentar von Assembler &#8222;;&#8220; wurde etwa der Abschluss eines Befehls in C (?). Und dann st\u00f6sst man des \u00f6ftern auf Schreib- und Notationstechniken, die dann sehr nahe dran ist an heutiger Notation. Und ja die Dinge sind dann oft n\u00e4her zusammen &#8211; auch technisch &#8211; als es den Eindruck macht. Und schliesslich hat sich ja alles aus diesem entwickelt. Hier auch ein Fall &#8211; Arrays, Index und Objektorientierung.<\/p>\n\n\n\n<p>Im vorliegenden Fall werden B\u00e4lle, Paddles und Bricks eine Breakouts in 68k Assembler verwaltet im Spiel Breakout einem SizeCodeProjekt im Rahmen von CHLudens. Das Ganze ist ein grosser Word-Array (2 Bytes). Die einzelnen Objekte sind als &#8222;Zeilen&#8220; angeordnet. Quasi ein grosses Excel mit sich wiederholenden Zeilen. <\/p>\n\n\n\n<p>Das heisst alle 12 Bytes kommt das n\u00e4chste Objekt:<br><br>Variables: RAM-Adresse <\/p>\n\n\n\n<p>Ball: 0+<br>Paddle: 12+<br>Brick 1: 24+<\/p>\n\n\n\n<p>Ein Objekt ist aufgebaut mit (relativ):<br>0: x<br>2: y<br><br>Hier werden nun Koordinaten reingeschrieben. a4 beinhaltet die Adresse der Variablen:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"610\" height=\"238\" src=\"https:\/\/research.swissdigitization.ch\/wp-content\/uploads\/2025\/05\/Bildschirmfoto-2025-05-23-um-10.54.05.png\" alt=\"\" class=\"wp-image-4429\" style=\"width:487px;height:auto\" srcset=\"https:\/\/research.swissdigitization.ch\/wp-content\/uploads\/2025\/05\/Bildschirmfoto-2025-05-23-um-10.54.05.png 610w, https:\/\/research.swissdigitization.ch\/wp-content\/uploads\/2025\/05\/Bildschirmfoto-2025-05-23-um-10.54.05-300x117.png 300w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/figure>\n\n\n\n<p><br><\/p>\n\n\n\n<!--more-->\n\n\n\n<p><br>Hier wird also auf der Wert 160 des Paddles definiert:<br><br>paddle+x(a4)<br>paddle+y(a4)<br><br>Das heisst: Gehe zum &#8222;Object Paddle&#8220; und zur X-Koordinate (das w\u00e4re 12+0) oder eben zur Y-Koordinate, das w\u00e4re dann 12+2<br><br>In einem Array geschrieben (etwa C):<br>variables[12] = 160;<br>variables[14] = 180<br><br>In einer objektorientierten Programmiersprache schriebe man hier:<br>paddle.x<br>paddle.y <br><br>Lustigerweise liest sich das im vorliegenden Fall genauso oder das w\u00e4re zu recherchieren: kam es tats\u00e4chlich so zur heutigen Lesart mit den . statt +<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Im Coden auf alten Computern geht man ja auch r\u00fcckw\u00e4rts in der Geschichte der Programmierung und deren Kultur. Diese Sichtweise ist nat\u00fcrlich meist positivistisch &#8222;im Sinne von&#8220;: Das musste ja so kommen, auch wenn die Zukunft nie geschlossen ist. Aus dem Kommentar von Assembler &#8222;;&#8220; wurde etwa der Abschluss eines Befehls in C (?). Und [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[104,52,36,58],"tags":[],"class_list":["post-4428","post","type-post","status-publish","format-standard","hentry","category-104","category-amiga","category-assembler","category-atarivsamiga"],"_links":{"self":[{"href":"https:\/\/research.swissdigitization.ch\/index.php?rest_route=\/wp\/v2\/posts\/4428","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/research.swissdigitization.ch\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/research.swissdigitization.ch\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/research.swissdigitization.ch\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/research.swissdigitization.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4428"}],"version-history":[{"count":2,"href":"https:\/\/research.swissdigitization.ch\/index.php?rest_route=\/wp\/v2\/posts\/4428\/revisions"}],"predecessor-version":[{"id":4447,"href":"https:\/\/research.swissdigitization.ch\/index.php?rest_route=\/wp\/v2\/posts\/4428\/revisions\/4447"}],"wp:attachment":[{"href":"https:\/\/research.swissdigitization.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4428"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/research.swissdigitization.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4428"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/research.swissdigitization.ch\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4428"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}