
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
Hallo Arne, natürlich ist es zulässig mit GOTO aus einem IF herausspringen. Im folgenden einmal die ausführliche Disassemblierung des vom Compiler OCBASIC erzeugten Tokencodes. Ich habe jeweils den zugehörigen Quellcode daneben geschrieben. Bitte schicke mir Deinen gesamten Sourcecode per E-mail zusammen mit einer Fehlerbeschreibung. Sinnvoll wäre es, wenn Du das Problem auf einen kleinen Sourcecode reduzieren könntest, bei dem der Kontroller nicht das macht, was Du beabsichtigen willst. Auf jeden Fall benötige ich auch die von Dir verwendeten Definitionen. 0004: 0a 01 PUSH BITPORT[2] if (Licht = OFF) then 0006: 01 PUSH OFF 0007: 40 TEST EQUAL (=) 0008: 04 00 18 IF NOT STACK THEN 0018 000b: 01 PUSH OFF LED = OFF 000c: 0d 03 POP BITPORT[4] repeat 000e: 0a 01 PUSH BITPORT[2] 0010: 13 PUSH ON 0011: 40 TEST EQUAL (=) 0012: 04 00 0e IF NOT STACK THEN 000e until (Licht = ON) 0015: 03 00 29 GOTO 0029 Goto Schritt end if 0018: 0a 01 PUSH BITPORT[2] if (Licht = ON) then 001a: 13 PUSH ON 001b: 40 TEST EQUAL (=) 001c: 04 00 29 IF NOT STACK THEN 0029 001f: 13 PUSH ON LED = ON 0020: 0d 03 POP BITPORT[4] repeat 0022: 0a 01 PUSH BITPORT[2] 0024: 01 PUSH OFF 0025: 40 TEST EQUAL (=) 0026: 04 00 22 IF NOT STACK THEN 0022 until (Licht = OFF) end if 0029: ff END end Grüße Dietmar Meine Homepage: http://ccintern.dharlos.de |
| Antwort schreiben |