Der Nachfolger des WDR-Computerclub mit Wolfgang Back und Wolfgang Rudolph - ...und immer ein Bit übrigbehalten!


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: 6 / 2 (1+2) ist = ? [PEMDAS - Paradox] Kategorie: Verschiedenes (von das |_ Team, Homepage - 18.08.2020 19:07)
 Als Antwort auf Re: 6 / 2 (1+2) ist = ? [PEMDAS - Paradox] von Dietmar - 18.08.2020 10:30
das |_ Team nutzt:  CC1-Unit V1.1, CC1-M-Unit V1.1, CC1-Station V1.1, Advanced CC1-Unit, Open-Micro, Open-Mini, Open-Midi, Open-Macro, Open-Maxi, Open-Mini M-Unit, Open-Mini Station
Hallo Dietmar,

> OCBASIC interpretiert genauso wie etablierte BASIC-Programmiersprachen "PRINT 1 2 3" als "PRINT 1;2;3". Wenn man die Ausgabe per Tabulatoren formatieren möchte, kann man "PRINT 1,2,3" verwenden. Hier gibt es keinen Unterschied zu CCBASIC.
 
> Es sind 4 zusätzliche Bytes:

0008: 1f 0d 0a 00 PRINT 13,10,0

Jetzt sehe ich es auch: Ein Token "&h1f" zur Einleitung des PRINT-Befehls, ein Byte "CR", ein Byte "LF", sowie die abschließende Null, welche die PRINT-Routine des OS als Endemarkierung der Zeichenkette erwartet. Also in diesem Fall 100% Overhead für die Ausgabe der beiden Nutzbytes. Macht insgesamt 4 Bytes.

> Es wird insgesamt nur ein Stackeintrag benötigt. Es wird gePUSHt und das PRINT STACK enthält ein POP. Es können also beliebig viele Variablen oder Zahlen per PRINT ausgegeben werden.

Ja, dort machte ich einen Denkfehler. Nach Print STACK nimmt der Stackpointer ja wieder den vorherigen Wert an.


Heute unternahm ich ein virtuelle "Museumstour". Dazu habe ich mal wieder den TVLC angeschmissen, einige 8-bit Emulatoren gestartet, und das folgende BASIC-Beispiel eingegeben:

PRINT 1 2 3 4 5 6 7 8 9
PRINT 1,2,3,4,5,6,7,8,9


Hier ein Bildschirmfoto davon
 
Zu sehen sind 5 Emulationen. Um welche Emulation es sich jeweils handelt, steht in der Titelleiste  Ti des jeweiligen Fensters, bzw. bei dem mittleren Fenster in der rechten Bildschirmhälfte handelt es sich um  BBC-BASIC



Ich gehe hier davon aus, dass die Emulationen das Verhalten der damaligen Hard- und Software akkurat widerspiegeln. Das konnte ich aber leider nicht überprüfen.


Wie man sieht, es gab schon damals leichte Unterschiede auch bei der Formatierung von Bildschirmausgaben. Je nach verwendeter BASIC-Version. Beispielsweise das einzelne führende Leerzeichen zu sehen mit BASIC-80 in der Revision 5.2 von Microsoft.




Für mich unerwartet ist die im folgenden Bild sichtbare Fehlermeldung beim APPLE ][ BASIC aus dem Jahre 1979:

 

Kann mir jemand den technischen Hintergrund erklären, weshalb ohne Kommata nur 5 Zahlenwerte nach PRINT richtig ausgegeben wurden,  während es mit Kommaseparierung funktioniert??

Vielen Dank im voraus!

Dirk, von L-Team

Meine Homepage: http://visit.ghn-sensorik.de/L-Team/Lvm/

 Antwort schreiben

Bisherige Antworten:

Homecomputer (von Dietmar - 18.08.2020 19:26)
    Re: Homecomputer (von das |_ Team - 18.08.2020 20:21)