Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
elektronik:z8671:basic_debug [2021/11/18 11:55] – [Literatur] volkerpelektronik:z8671:basic_debug [2022/08/04 06:37] (aktuell) – ↷ Links angepasst, weil Seiten im Wiki verschoben wurden volkerp
Zeile 15: Zeile 15:
 Das Basic orientiert sich sehr stark an das TINY-BASIC von Tom Pittman (http://www.ittybittycomputers.com/ittybitty/tinybasic/). Das Basic orientiert sich sehr stark an das TINY-BASIC von Tom Pittman (http://www.ittybittycomputers.com/ittybitty/tinybasic/).
 Literatur und Programme zu den dort beschriebenen BASICs für 1802, 6502, 6800-Controller passen auch zum BASIC/DEBUG des Z8671. Literatur und Programme zu den dort beschriebenen BASICs für 1802, 6502, 6800-Controller passen auch zum BASIC/DEBUG des Z8671.
 +
 +11/2021: Tom Pittman hat mir bestätigt, dass er dieses BASIC Ende der 70er im Auftrag von Zilog programmiert hat.
 +
  
 ===== Downloads ===== ===== Downloads =====
Zeile 24: Zeile 27:
   * {{ :elektronik:z8671:tb_pittman.zip |}} Quellen der Tiny-BASIC-Versionen von T.Pittman (für RCA1802, 6502, 6800) sowie die aufbereiteten IL zwecks Vergleich   * {{ :elektronik:z8671:tb_pittman.zip |}} Quellen der Tiny-BASIC-Versionen von T.Pittman (für RCA1802, 6502, 6800) sowie die aufbereiteten IL zwecks Vergleich
  
-zur Anpassung an andere Systeme und andere Adressen sowie Erweiterungen s. [[tiny:basic_debug|]]+zur Anpassung an andere Systeme und andere Adressen sowie Erweiterungen s. [[tiny:es40:basic_debug]]
 ===== Aufbau ===== ===== Aufbau =====
  
Zeile 487: Zeile 490:
 </code> </code>
  
-Aufgrund der Beschränkungen bei LN (nur Werte 00xxh möglich) muss bei LIST ohne Parameter ein wenig gezaubert werden: Die Werte auf dem Stack werden durch Manipulation in kleinste und größtmögliche Zeilennummer gewandelt. Das entspricht dann dem Aufruf "LIST 1,32535".+Aufgrund der Beschränkungen bei LN (nur Werte 00xxh möglich) muss bei LIST ohne Parameter ein wenig gezaubert werden: Die Werte auf dem Stack werden durch Manipulation in kleinste und größtmögliche Zeilennummer gewandelt. Das entspricht dann dem Aufruf "LIST 1,32767".
  
 Die Division ist nur als vorzeichenlose 16-Bit-Division implementiert. Deshalb muss in der IL die Fallunterscheidung bzgl. Vorzeichen und Division durch 0 erfolgen. Die Division ist nur als vorzeichenlose 16-Bit-Division implementiert. Deshalb muss in der IL die Fallunterscheidung bzgl. Vorzeichen und Division durch 0 erfolgen.
  
-Um Bytes zu sparen, wurden Unterprogramme verlegt und Codes zusammengeführt. Das erzeut leider auch schwerer lesbaren Spaghetti-Code, aber nur so passt der gesamte Basic-Interpreter in 2kByte.+Um Bytes zu sparen, wurden Unterprogramme verlegt und Codes zusammengeführt. Das erzeugt leider auch schwerer lesbaren Spaghetti-Code, aber nur so passt der gesamte Basic-Interpreter in 2kByte.
  • elektronik/z8671/basic_debug.1637236545.txt.gz
  • Zuletzt geändert: 2021/11/18 11:55
  • von volkerp