Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Umgebungsvariablen des RedDebugers
#21
Nein, an den Cachebefehl habe ich nichts gemacht im reddebugger code....
Hab nur gesehen das der Befehl dort auch verwendung findet...

ich kanns trotzdem nicht compilieren...
Zitieren
#22
Thomas,
schick mir doch mal bitte deinen Source und den Compiler zu damit ich ausschließen kann das ich hier einen fehler gemacht habe
Zitieren
#23
@Bernd
So ich habe mir den orginal Sourcecode angesehen aber ich werde daraus nicht schlau, hast du den orginal asm source oder soll ich ihn dir zuschicken damit du das vergleichen kannst?

@Blackbird

Ok ich schicke dir gleich den Compiler mit Sourcecode sowie den Sourcecode des geänderten Debuggers.
Zitieren
#24
Ok, danke !

Habs gefunden, f ist nicht float sondern ein Long :oops:
Nun kompiliert alles

Ich überarbeite nochmal den Source und schick ihn dir dann.
Zitieren
#25
tomsmart1 schrieb:@Bernd
So ich habe mir den orginal Sourcecode angesehen aber ich werde daraus nicht schlau, hast du den orginal asm source oder soll ich ihn dir zuschicken damit du das vergleichen kannst?

@Blackbird

Ok ich schicke dir gleich den Compiler mit Sourcecode sowie den Sourcecode des geänderten Debuggers.

wenns im original auch nicht geht, dann nutzt der original eh nix. man muss es komplett implementieren. in 8e3c will ich das nicht dazubauen, um keine Risiko wegen nebenwirkung zu haben. im 8e3c sieht man dass das lokal zu global so geht. proceduremode 1 zeigt an, dass der dim in einer lokalen funktion aufgerufen wird. also muss man in dem falle das so machen

LEA firstglob,A2
BSR.w findvariable2

der name firstglob ist entweder falsch, oder wenn procedurmode 0 ist, dann ist es in einer funktion. muss man ausprobieren

CLR.w varmode
MOVE.w proceduremode,D1
BNE.w JL_0_8F4E
LEA varbase,A2
LEA ptr_parameterstore,a0
CMP.b #$22,(a0)
BNE JL_0_8E5E
MOVEQ #0,d0
JMP error

JL_0_8E5E:
BSR.w findvariable
........

JL_0_8F4E:
LEA firstglob,A2
BSR.w findvariable2

und shared variable finden scheint so zu gehen.

LEA sharebase,a2
MOVEQ #$f+4,d7
BSR.w findlab ;find var

jetzt muss man die passenden listen durchsuchen ob die var schon da ist
Zitieren
#26
Bernd ich schick dir doch mal den Orginalsource vom Compiler da sieht man ehr was die Funktionen machen sollen wegen den Kommentaren , Konversion bei den Befehlen ist "do_dim" alt "dodim" usw. Die Subroutine/Funktion 8E3C heißt "fetchvar" im Orginal vielleicht hilft dir das. Wir müssen auch aufpassen wenn Dim benutzt wird um die größe einen vorhanden Array zu verändern also ein ReDim gemacht wird.
Zitieren
#27
achso ja, man muss dann checken, ob der datentyp anders ist und dann halt entweder in der lokalen oder globalen liste suchen. ginge dann also nicht die func fetchvar zu erweitern

im original source ist dann 8f4e also für local vars. ich copiere die old source labels und kommentare im neuen source dazu. komisch wieso er in der globalen liste sucht. unten bei .hendrix sucht er in der localen. naja muss man mit testprogram ausprobieren, wie es genau funktioniert

macht er also auch im originalsource, dass er für locale vars in der globalen liste sucht. wahrscheinlich ist varbase die Liste der globalen variablen und firstglob die liste der shared variablen die auch in einer funktion gelten

fvarlocal lea firstglob,a2
bsr findvar
.more bne .hendrix
move.b flagmask+1,d1
move.b 7(a2),d3
eor.b d3,d1
beq fvarfound
bsr findlab
bra .more
.hendrix move #-1,varmode
move varoff,-(a7)
move locvaroff,varoff
lea firstlocal,a2
bsr fvarback
move varoff,locvaroff
move (a7)+,varoff
rts
Zitieren
#28
Sehr gut kopier die Labels und Komentare mit , ich hatte ja mal vor einer Ewigkeit damit angefangen die Disasm-Labels wieder in ihren Orginalnamen umzubennen und die Kommentare einzufügen das sollten wir mal wieder angehen das erleichert ungemein den umgang mit dem Sourcecode und verbessert die Übersicht ;-)
Zitieren
#29
Dank des Checks beim Dim hab ich auch unter Perfectpaint gleich einen Fehler gefunden. Die variable T3D war doppelt vergeben, einmal als String, und einmal als float Cry
Zitieren
#30
Seit ihr schon weitergekommen wegen den Variablencheck in Functions und Statements ?

ist etwas nervig wenn man seinen Source nicht kompilieren kann Big Grin
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste