ACME Frage zu !if PO

  • Moin,


    ich versuche den !if PseudoOpcode zur Überprüfung der Größe meines Variablenfeldes zu benutzen. Ich weiß, dass Defines & Labels im Ergebnis keinen großen Unterschied machen und ich auch die auskommentierten Labels anstatt der Defines nutzen könnte, allerdings werden mir dann diese eben im Sourcecodebrowser vom Gedit an der falschen Stelle angezeigt, was ich umständlich finde.
    Damit ich direkt merke, wenn ich mich irgendwo mit der Anzahl vertue (wenn ich noch Diverses einfüge oder wieder lösche), wollte ich dass am Anfang des Codes ein BRK statt einem SEI kompiliert wird, falls es Unstimmigkeiten gibt.
    Irgendwie läuft das schief und es wird *immer* BRK statt SEI kompiliert.


    Ich hab in der Label-Export Datei schon geguckt, ob wirklich alles stimmen müsste. Es ist bg_sav = $e97 und vars_end=$e98, dementsprechend müsste doch vars_end-bg_sav+1=0 und damit die else Bedingung erfüllt sein, oder?!?


    acme ist auch aktuell: This is ACME, release 0.94.6 ("Zarquon"), 14 Jan 2014


    Hier mal die entsprechenden Codeauszüge:

    Code
    vars            = $0e80freq_sav        = varsscreen_cols     = freq_sav+3spritex         = screen_cols+3spritey         = spritex+8bd_sav          = spritey+8bg_sav          = bd_sav+1; ... *= vars;freq_sav:  !byte $ff, $ff, $ff;screen_cols:  !byte black, light_grey, $00;spritex:  !byte startx  !byte startx+24  !byte startx+48  !byte startx+80  !byte startx+80+24  !byte startx+80+48  !byte $00, $00;spritey:  !fi 6, $6b  !byte $00, $00;bd_sav:  !byte $00;bg_sav:  !byte $00vars_end:; ...*= code_start!if (vars_end-bg_sav+1) != 0 {   brk  } else {  sei  }


    EDIT:
    Jaja, wieder so ein Thread, den ich mal zur Belustigung drin lasse =) Warum fallen mir die offensichtlichen Fehler immer direkt nach dem Drücken des Absenden Buttons auf?!? *grr*
    Es muss natürlich vars_end-bg_sav-1 statt +1 heißen ... dann geht es auch.