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 

 CCPLUS auf Version 2 Kategorie: Programmierung CC-Plus (von Dietmar, Homepage - 9.11.2005 14:32)
 Als Antwort auf Re: C-Control I 2,0 von Henrik - 9.11.2005 13:19
Dietmar nutzt:  CC1-M-Unit V1.1, Advanced CC1-Unit, Open-Micro, Open-Mini

Hallo miteinander

> > "Die neue M Unit 2 ist sehr günstig (29,95 Eur) und kann selbst in CCPlus programmiert werden."
> Stefans Aussage ist richtig. Auch CCPlus generiert nichts anderes als Tokencode, der selbstverständlich auch auf der V2.x lauffähig ist.

Warum werden hier laufend ungeprüfte Behauptungen aufgestellt? Nicht einmal der Entwickler der C-Control-1 Version 2.0 (DIE HARD) behauptet, CCPLUS wäre auf den neuen Conrad-Controls lauffähig. CCPLUS und einige CCBASIC-Programme benötigen das Stackhandling der C-Control-1 Version 1.1 zur fehlerfreien Ausführung.

Hier nur einmal ein Beispiel, wo CCPLUS das Stackhandling der 1.1er benutzt, um ein paar Byte Programmspeicher und Ausführungsgeschwindigkeit einzusparen. Es wird von CCPLUS intern verwendet, um Zahlen auf dem LCD darzustellen.

00c3: 17 0a       PUSH WORD[11]
00c5: 38          ABS
00c6: 1a 0a       POP WORD[11]
00c8: 14 27 10    PUSH 10000
00cb: 3d          TEST ABOVE OR EQUAL (>=)
00cc: 04 00 d2    IF NOT STACK THEN 00d2


Im "TEST ABOVE OR EQUAL" wird auf der "neuen" C-Control ein nicht existierender Stackeintrag gelesen. Der Decompiler CCTOKBAS kennzeichnet das mit einem "Stack Underflow". Der vom Decompiler erzeugte CCBASIC-Sourcecode müßte auf der 2.0er an dieser Stelle nachbearbeitet werden. Auf der 1.1er reicht es aus, den Decompiler mit dem Parameter "-autoccplus" zu starten.

wordvar11=ABS(wordvar11)
IF STACKUVL>=10000 THEN GOTO adr246   'in dieser Zeile tritt ein Stack Underflow au


Diese Einschränkungen gelten natürlich für alle "neuen" C-Controls (M-Unit 2.0, Station 2.0 und Conrad-Micro) und soweit mir bekannt auch für alle 1.2er. Die Open-Control benutzt dagegen wieder das bewährte Stackhandling der 1.1er. Bisher sind Open-Micro und Open-Mini erschienen.

Gruß
Dietmar

Meine Homepage: http://ccintern.dharlos.de

 Antwort schreiben

Bisherige Antworten: