Für eine Ausstellung wäre es gut, die verschiedenen Aspekte vermutlich tabellarisch zu erfassen. Also wie haben sich die Dinge entwickelt.
Coding
Konstrukt | 8Bit (Assembler) 6502 | 16Bit(Assembler) 68000 | C# |
Möglichkeiten | 8 Datenregister zum Rechnen D0-D8 | 8 Datenregister (B,W oder L) | Diverse Datentypen: Bool Int Float Double String Objekte, Klassen |
Add/Sub | add #4,d1 Problem: über 255 sub #4,d1 Problem: unter 0 | add.b #1,d0 add.w #1,d0 add.l #1,d0 | d++ d=d+1 d+=1 Überfläufe werden kontrolliert. |
Multiplikation | nur mit Bitshifting > < *2 / 2 | nur mit Bitshifting > < *2 / 2 | Floating etc |
Vergleich | cmp #5,d0 bne not5 ; code not5: Problem: – Control bits – 2er oder 10er System – Max. Sprungweite! – Kein copy-paste ohne Anpassung >Fehleranfällig | cmp.l #5,d0 bne not5 ; code not5: Problem: – Kein copy-paste ohne Anpassung >Fehleranfällig | if (d==5) { } |
For-Next | move #0,d0 f010: inc d0 cmp #5,d0 bne f010 | move.l #5,d0 f010: dbra d0,f010 | for (int i=0;i<5;i++) { } |
Objekt-Verwaltung | Simulation von Objekten durch Listen ; objekt id,x,y dc.b 1,5,10 dc.b 4,30,90 Probleme: x>255 | Simulation von Objekten durch Listen ; objekt id,x,y dc.w 1,5,10 dc.w 4,30,90 | Class GObject { int id = 1; int x = 100; int y = 30; } GObject[] arrObs = new GObject[3]; Verwaltung der Objekte auch oft über die Objekte im Szenentree |
// Weitere Beispiele von Komplexität und Auswirkungen in der Praxis