Verfasst am: Do 05. Mai 2005, 22:49 |
|
|
Eber |
TAP-Guru |

 |
|
Anmeldungsdatum: 07.05.2004 |
Beiträge: 1696 |
Wohnort: Mainz |
|
|
|
 |
 |
 |
|
@Acade:
Nicht schlecht Herr Specht - hätte nicht gedacht das so schnell etwas verwertbares rauskommt. Hut ab !!!
Grüße
Eber |
|
|
|
|
Verfasst am: Do 05. Mai 2005, 22:56 |
|
|
Aldarin |
Timeshifter |

 |
|
Anmeldungsdatum: 06.04.2004 |
Beiträge: 691 |
Wohnort: Wien |
|
|
|
 |
 |
 |
|
Schließ mich an und sag tolle Arbeit.
Jetzt können wir wirklich weiter reden.
Gruß
Aldarin |
|
|
|
|
Verfasst am: Do 05. Mai 2005, 23:14 |
|
|
Acade |
Erfahrener Benutzer |

 |
|
Anmeldungsdatum: 19.04.2005 |
Beiträge: 56 |
Wohnort: Bayern |
|
|
|
 |
 |
 |
|
Danke ! Aber Ihr meint doch sicher auch DeadBeef's Arbeit ?
Bin mir gar nicht so sicher, daß er dazu disasmips gebraucht hat ... ???
Demnächst gibt's eine neue Version mit Unterstützung symbolischer Adressen.
Ciao,
Acade |
|
|
|
|
 | |  |
Verfasst am: So 08. Mai 2005, 21:45 |
|
|
Acade |
Erfahrener Benutzer |

 |
|
Anmeldungsdatum: 19.04.2005 |
Beiträge: 56 |
Wohnort: Bayern |
|
|
|
 |
 |
 |
|
Acade hat folgendes geschrieben:: |
Demnächst gibt's eine neue Version mit Unterstützung symbolischer Adressen.
|
Ist jetzt auf meiner Webpage (s. Signatur) abzuholen.
Hier noch ein paar Macros, um ein Mapfile zu erzeugen:
Code: |
#define SYMBOL(a, b) (sprintf (buf, "%08lx\t%s\n", (a), (b)), \
TAP_Hdd_Fwrite (buf, strlen (buf), 1,
fp))
#define TEXT(a) {extern void (a)(); SYMBOL ((a), #a);}
#define DATA(a) {extern const char (a)[]; SYMBOL ((a), "@"#a);}
#define PTR(a) (SYMBOL
(&(a), "@"#a), SYMBOL ((a),
#a))
|
Damit können z.B. die Symbole aus der libtap.a durch ein Dump-TAP
ausgegeben werden. PTR ist speziell für die API-Funktionspointer.
Mehr Beschreibung gibt's jetzt nicht, aber wer damit nicht zurecht kommt, wird sowieso Schwierigkeiten haben ...
Ciao,
Acade |
|
|
|
|
 | |  |
Verfasst am: Mo 09. Mai 2005, 12:50 |
|
|
Erdnussnase |
Dauerglotzer |

|
|
Anmeldungsdatum: 24.11.2004 |
Beiträge: 273 |
|
|
|
|
 |
 |
 |
|
DeadBeef hat folgendes geschrieben:: | @Erdnussnase:
Die Länge der aktuellen Aufnahme wird an folgenden Stellen im Speicher abgelegt:
....
|
Man, da ist man mal ein paar Tage auf Dienstreise und da werden einem hier die tollsten Dinge präsentiert.
Spitze
Besten Dank für die Info, Mach mich gleich mal dran das umzusetzen... |
|
|
|
|
 | |  |
Verfasst am: Di 17. Mai 2005, 20:36 |
|
|
Acade |
Erfahrener Benutzer |

 |
|
Anmeldungsdatum: 19.04.2005 |
Beiträge: 56 |
Wohnort: Bayern |
|
|
|
 |
 |
 |
|
Und
wieder ist der Disassembler ein bißchen schlauer geworden, er erkennt
jetzt absolute Sprungadressen als Symbole (natürlich nur die aus den
Symboltabellen, diese jetzt auch mit Symbolkommentar beispielsweise für
Aufrufparameter) und außerdem Stringreferenzen, z.B. den Formatstring
hier drin:
Code: |
}{XCMD_HEAPINFO:
: 0 : "(null)"
0r 80100ca4: 27bdffd0 addiu $sp,$sp,-48
4r 80100ca8: afbf002c sw $ra,44($sp)
8r 80100cac: 27a40020 addiu $a0,$sp,32=0x0020
cr 80100cb0: 27a50024 addiu $a1,$sp,36=0x0024
10r 80100cb4: 27a60028 addiu $a2,$sp,40=0x0028
14r 80100cb8: 0c0008ca
jal 0x80002328
# getHeapInfo
18r 80100cbc: 00000000 nop
1cr 80100cc0: 8fa50020 lw $a1,32($sp)
20r 80100cc4: 8fa60024 lw $a2,36($sp)
24r 80100cc8: 8fa70028 lw $a3,40($sp)
28r 80100ccc: 3c048028 lui $a0,0x8028
2cr 80100cd0: 2484f240
addiu $a0,$a0,-3520=0xf240 # 8027f240
"heapSize=%d,freeHeapSize=%d,availHeapSize=%d"
30r 80100cd4:
0c02b0db jal 0x800ac36c
# printf_RS232
34r 80100cd8: 00000000 nop
38r 80100cdc: 8fbf002c lw $ra,44($sp)
3cr 80100ce0: 27bd0030 addiu $sp,$sp,48
40r 80100ce4: 03e00008 jr $ra
44r 80100ce8: 00000000 nop
|
Ist doch eigentlich schon fast Klartext, wie einem die Aufrufe mit den 3 Pointern ins Auge hüpfen, oder?
Obige Funktion stammt übrigens aus Deadbeef's Liste der erweiterten CLI-Funktionen, s. DebugCmds-Thread.
Ciao,
Acade |
|
|
|
|
 | |  |
Verfasst am: Di 17. Mai 2005, 21:36 |
|
|
Eber |
TAP-Guru |

 |
|
Anmeldungsdatum: 07.05.2004 |
Beiträge: 1696 |
Wohnort: Mainz |
|
|
|
 |
 |
 |
|
@acade:
So allmählich könntest Du mal Topfield mitteilen, wo sich die noch vorhandenen Bugs im C-Code verstecken und wie die zu
beheben sind
Man kommt aus dem Staunen nicht heraus....
Grüße
Eber |
|
|
|
|
Verfasst am: Mi 18. Mai 2005, 15:46 |
|
|
hagge |
TV-Junkie |

|
|
Anmeldungsdatum: 12.10.2004 |
Beiträge: 120 |
Wohnort: Stuttgart |
|
|
|
 |
 |
 |
|
Sehe
den Thread leider erst gerade eben. Eigentlich ist doch in der
TAP-Programmierumgebung mit den ganzen MIPS-Tools schon ein
Disassembler enthalten: mips-objdump.exe. Wenn man da die Option -d
angibt, dann wird der Code disassembliert. Warum dann noch dieses
Extra-Tool?
Tschau,
Hagge |
|
|
|
|
 | |  |
Verfasst am: Mi 18. Mai 2005, 17:17 |
|
|
Acade |
Erfahrener Benutzer |

 |
|
Anmeldungsdatum: 19.04.2005 |
Beiträge: 56 |
Wohnort: Bayern |
|
|
|
 |
 |
 |
|
@Eber:
(Bin aber mit Deinem SmartEPG auch ganz happy! )
@hagge:
Der mips-objdump.exe ist ja schon nicht schlecht, aber nur, wenn Du
auch Objectfiles hast und nicht einen FW-Dump ohne all die Zusatzinfos.
Außerdem kann er keine selbst erstellten Symboltabellen verwerten, um seinen Output wesentlich zu verbessern.
Und auch das Disassemblat ist z.T. unverständlich, z.B. in Sachen
Branchtarget bei mehreren Funktionen im selben Objectfile: Ab der 2.
Funktion ist der Offset von Branchinstruktionen nicht mehr synchron zur
linken Spalte mit der aktuellen Adresse ...
disasmips ist genau für Raw Code gedacht, und an einigen Stellen
(z.B. die oben erwähnten Stringreferenzen) bereits jetzt (etwas)
intelligenter.
Ciao,
Acade |
|
|
|
|
 | |  |
Verfasst am: Do 19. Mai 2005, 21:46 |
|
|
F_Klemm |
Vielfrager |

|
|
Anmeldungsdatum: 16.08.2004 |
Beiträge: 18 |
|
|
|
|
 |
 |
 |
|
Aldarin hat folgendes geschrieben:: |
Ich verstehe die ganze Diskusion nicht, ob Korea damit
einverstanden sein soll oder nicht. Dekompilieren einer Software ist
doch keine illegale Strafhandlung.
|
Im "modernen" Recht nennt sich das Reverse Engineering und ist meist strafbar.
Zitat: |
Wenn man Sie verändert oder publiziert schon.
Ich möchte einmal hier den ersten erleben, der etwas brauchbares aus
der Erkenntnis vom Dekompilat zustande bringt. Dann reden wir weiter.
|
Wenn Chinesen das kopieren wollen, setzen sie 20 geeignete Personen für 6 Monate ran und
zieht das Ding durch. Ob hier ein paar kleine
Hinweise stehen, interessiert eher wenig bis
überhaupt nicht.
Ansonsten ist man meistens ohnehin wesentlich
schneller, wenn man die Funktionsweise aus
Sicht des Users sich ansieht, die schwersten
Mängel analysiert und alles vom Scratch an
neuprogrammiert. Das, was bei solchem
Vorgehen rauskommt, ist erst mal altlastenfrei
und man ist häufig dadurch in den ersten 1 bis 2 Jahren wesentlich agilier als die Komkurrenz.
Fehlende Betriebsblindheit kommt dann noch
dazu. |
|
|
|
|
 | |  |
Verfasst am: Fr 20. Mai 2005, 9:20 |
|
|
DeadBeef |
Erfahrener Benutzer |

|
|
Anmeldungsdatum: 28.03.2005 |
Beiträge: 90 |
Wohnort: am Schwäbischen Meer |
|
|
|
 |
 |
 |
|
F_Klemm hat folgendes geschrieben:: | Im "modernen" Recht nennt sich das Reverse Engineering und ist meist strafbar.
|
Das, was wir tun oder vorhaben, kann meiner Meinung nach keinen
Strafbestand darstellen (zumindest nicht in Deutschland). Denn,
erstens, haben wir keine Softwarelizenzen sondern ein Produkt erworben,
ohne einen Lizenzvertrag zu unterschreiben, und, zweitens, umgehen wir
keine Kopierschutzmaßnahmen oder Ähnliches, sondern versuchen, das
bestehende Produkt zu erweitern bzw. zu verbessern.
Gruß
DeadBeef |
|
|
|
|
 | |  |
Verfasst am: Sa 21. Mai 2005, 16:29 |
|
|
Acade |
Erfahrener Benutzer |

 |
|
Anmeldungsdatum: 19.04.2005 |
Beiträge: 56 |
Wohnort: Bayern |
|
|
|
 |
 |
 |
|
@F_Klemm:
Wie Du schon schreibst: "Ob hier ein paar kleine Hinweise stehen, interessiert eher wenig bis überhaupt nicht."
Mehr ist für Amateure doch sowieso nicht drin, es wäre ein
gewaltiger Aufwand, die ganze FW (mindestens 5000 Funktionen) zu
interpretieren und das will ja auch gar keiner. Außerdem, wo wäre der
Schaden für Topfield, die verkaufen die Hardware, und mit unseren TAPs
/ SW-Verbesserungen auf keinen Fall weniger, sondern mehr!
Ciao,
Acade
Ach ja, die neueste Version von disasmips kann jetzt auch HTML-Output erzeugen  |
|
|
|
|
 | |  |
Verfasst am: Sa 21. Mai 2005, 18:33 |
|
|
DeadBeef |
Erfahrener Benutzer |

|
|
Anmeldungsdatum: 28.03.2005 |
Beiträge: 90 |
Wohnort: am Schwäbischen Meer |
|
|
|
 |
 |
 |
|
Hi Acade!
Die Umsetzung meiner Vorstellungen ist Dir super gelungen! Jetzt steige ich um!
Ich habe noch folgende Punkte/Verbesserungsvorschläge (die natürlich nur "nice to have" sind):
o In der generierten index.htm Datei fehlt noch ein Slash nach "URL=file:/".
o Es wäre nett, wenn die
Coprozessor-Anweisungen auch dekodiert werden. Meistens handelt es sich
um "move to coprocessor register" (mtc0) und "move from coprocessor
register" (mfc0) Anweisungen.
o (bin)101111* sind "cache" Anweisungen.
o Die doppelte Darstellung von
numerischen Operanden ist sehr praktisch (vor allem bei negativen
Zahlen). Zur besseren Übersicht sollte man die zweite Darstellung
hinter einem Kommentar verstecken.
o Manche Index-Operationen
werden über Register ausgeführt, die vorher nur mit "lui" geladen
wurden (d.h. die untere Hälfte wird gar nicht nachgeladen). Dies könnte
man auch als eine zusammengesetzte Adresse darstellen, wie bereits in
anderen Fällen (natürlich soweit es sich erkennen läßt).
Code: | lui $t0,0x8019
lw $a0,0x1234($t0) # 80191234
|
o Um eine 8-stellige Hex-Zahl
zu ermitteln, werden im Disassembler offensichtlich nur zwei
aufeinanderfolgende Befehle ausgewertet. Denn wenn die zweite Hälfte
einer Zahl einen oder mehrere Befehle später auftaucht, gibt es keine
Ausgabe im Kommentar.
Code: | acr 80198d88: 3c198019 lui $t9,0x8019
b0r 80198d8c: 3c0f8019 lui $t7,0x8019
b4r 80198d90: 8f392794 lw $t9,10132($t9)
b8r 80198d94: 25ef2594 addiu $t7,$t7,9620=0x2594 |
Man könnte versuchen, diese "Mustersuche" über mehrere Befehle
auszuweiten. Der Inhalt des Registers, das vorher geladen wurde, wird
gemerkt, bis die untere Hälfte nachgeladen wird oder das Register
anderweitig benutzt wird.
o jr $31 bedeutet nich immer,
dass eine Funktion zu Ende ist (siehe z.B. 0x8019f7ac-0x8019f858).
Besonders in den Fällen, wo kein Stack benötigt wird, kann ein "return"
mittendrin auch auf "jr $31" abgebildet werden. Ich bin mir aber nicht
sicher, ob man dafür eine Lösung finden kann, ohne viel Aufwand
reinzustecken.
o Bei größeren Funktionen wäre
es auf jeden Fall hilfreich, wenn die relativen Adressen innerhalb der
Funktion auch mit Hyperlinks ausgestattet werden. Dann kann man im
Browser leichter hin und zurückspringen.
o Mein Windows XP hat Probleme
mit dem Sortieren der Dateinamen in aufsteigender (Adress-)Reihenfolge.
Dies erschwert die direkte Suche der passenden Datei. Vielleicht liegt
es an den Hexadezimalform der Namen. Ich glaube, es würde helfen, wenn
man ein Präfix mit fortlaufenden Zahlen in Dateinamen voranstellt (z.B.
A0001_8000000.htm).
Danke nochmal fürs tolle Tool.
Gruß
DeadBeef |
|
|
|
|
 | |  |
Verfasst am: So 22. Mai 2005, 0:04 |
|
|
Acade |
Erfahrener Benutzer |

 |
|
Anmeldungsdatum: 19.04.2005 |
Beiträge: 56 |
Wohnort: Bayern |
|
|
|
 |
 |
 |
|
Hi DeadBeef,
schön, wenn's Dir gefällt und danke für Deine Anmerkungen!
Dazu Folgendes (ich numerier' die Punkte durch, dann gibt's zukünftig keine Verwirrungen):
A1. file:// ist jetzt drin
(und bleibt natürlich weg, wenn's ein relativer Pfad ist). Allerdings
muß ein absoluter Pfad (zumindest bei Firefox) unter Windoof auch den
LW-Buchstaben beinhalten. Ich meinte, mit file:/ ging's auch so, war
aber evtl. doch nicht.
A2. mtc0 und mfc0 ist jetzt dekodiert (bitte bei -t das "ambiguous" ignorieren).
A3. cache ist rudimentär dekodiert (kommt aber auch nur 2x vor in den 2 MB).
A4. Die doppelte Darstellung von numerischen Operanden möchte ich
wie sie ist lassen, ein #Kommentar soll eine "besondere Erkenntnis"
darstellen.
A5. Die Erkennung von Speicheradressen über mehrere Befehle hinweg
ist noch recht primitiv und wird noch verbessert, kann aber dauern
(Wochen?). Auch der lui ohne addiu wird dann erkannt werden.
A6. jr $31 erzeugt ja eigentlich auch nur eine Leerzeile und die
ist auch dann nicht verkehrt an dieser Stelle, wenn die Fkt. noch
weitergeht
A7. Hyperlinks für Branchadressen kann ich irgendwann nachrüsten, halte
ich aber jetzt nicht für so wichtig. Evtl. wäre das mit HTML auch noch
schöner zu lösen ...
A8. Die HTML-Dateinamen haben ja keinen Anfangsbuchstaben. Wenn das
das Problem löst, setz ich einfach ein A_ davor (ohne Zusatz-Index).
Kannst Du ausprobieren, ob's dann funzt? Ich habe das Problem hier
nicht (kein XP), wann passiert das denn genau?
Noch ein Bonbon: Jetzt wird auch noch eine Aufruf-Statistik
erzeugt, damit kannst Du sehen, welche Funktionen sich richtig lohnen
Viel Spaß,
Acade
Bin die nächsten Tage nicht im Lande, bis später! |
|
|
|
|
 | |  |
Verfasst am: Di 31. Mai 2005, 0:57 |
|
|
Acade |
Erfahrener Benutzer |

 |
|
Anmeldungsdatum: 19.04.2005 |
Beiträge: 56 |
Wohnort: Bayern |
|
|
|
 |
 |
 |
|
Hi DeadBeef,
hier die neuesten disasmips-Features (ich antworte hier im Thread, weil das evtl. auch andere interessiert):
A8: HTML-Dateinamen sind jetzt (richtig sortiert natürlich) in
symbols.htm eingearbeitet, somit besteht kein Grund mehr, die Files
über einen OS-Explorer aufzumachen. Außerdem strukturiert dies die
symbols.htm, man sieht also gleich die Aufteilung der Funktionen und
Daten in die Files.
A9: Die Aufrufstatistik ist jetzt 500 Einträge lang.
A10: Die Stringreferenzen berücksichtigen jetzt auch eingebettete \t, \r und \n. Diese werden in Blanks konvertiert.
A11: Für die COP0-Befehle habe ich nur das mips.pdf-File, in dem
die Befehle mtc0 und mfc0 mit den Bits 11..15 (rd, die 32
COP0-Register) und 0..2 (sel) dargestellt werden. Daraus mache ich
rd.sel. Hast Du eine bessere COP0-Doku?
Und jetzt kommen die richtigen Schmankerln :
A12: Die Adressen in den Mapfiles (-m) können aus (beliebigen!)
Summen von Hexwerten und schon definierten Symbolen bestehen, z.B.:
Code: |
80000000 RAM Beginn des RAMs # absolutes Symbol
RAM+180 START Beginn des Codes # relatives Symbol
|
A13: In den Mapfiles (-m) können mit dem Spezialsymbol // Adressen
mit Befehls-Kommentaren gekennzeichnet werden, ohne daß ein Symbol eine
neue Funktion einleitet, allerdings nur im Code, nicht in den Daten
(die bekommen sowieso ein "richtiges" Symbol mit evtl.
Symbol-Kommentar), also z.B.
Code: |
80002328 getHeapInfo
getHeapInfo+4 // save s0
|
führt zu
Code: |
}{getHeapInfo:
0r 80002328: 27bdffc8 addiu $sp,$sp,-56
4r 8000232c: afb00018
sw $s0,24($sp) // save s0
|
A14: Jetzt kommt's: Als Spezialkommentar kann ein Wert für $gp
vorgegeben werden, der ab dieser Adresse für die Zugriffe auf die
globalen Daten verwendet wird, z.B.
Code: |
82190600 __gnu_compiled_c
8219ac00 @_tap_gotStart
__gnu_compiled_c // $gp=_tap_gotStart
|
führt zu
Code: |
}{__gnu_compiled_c:
0r 82190600:
27bdffd0 addiu $sp,$sp,-48 //
$gp=_tap_gotStart
...
54r 82190654: 8f830120
lw $v1,288($gp) # 8219ad20 ->
@TAP_Hdd_Delete -> TAP_Hdd_Delete
|
$gp kann für verschiedene Codebereiche auch immer neu definiert
werden und auch wieder ganz abgeschaltet werden ($gp=0 oder
$gp=unauswertbarer_string).
So, damit dürfte Dein Problem mit den globalen Variablen deutlich
reduziert sein, und für verschiedene FW-Versionen braucht man eh
verschiedene Mapfiles.
Viel Spaß damit,
Acade |
|
|
|
|
 | |  |
Verfasst am: Mi 01. Jun 2005, 0:48 |
|
|
DeadBeef |
Erfahrener Benutzer |

|
|
Anmeldungsdatum: 28.03.2005 |
Beiträge: 90 |
Wohnort: am Schwäbischen Meer |
|
|
|
 |
 |
 |
|
Hi Acade!
Es klingt super! Ich werde die neuen Features demnächst austesten.
Heute habe ich nur den Standardmodus mit den existierenden Map-Dateien
benutzt.
Danke für Deine Unterstützung.
Gruß
DeadBeef
PS: Die MIPS CPU/COP0 Befehlsbeschreibung im PDF-Format habe ich
über Google gefunden. Die rd Dekodierung scheint noch nicht ganz zu
stimmen. Das sel Feld wird laut mehreren Quellen eher selten
unterstützt. |
|
|
|
|
 | |  |
Verfasst am: Do 02. Jun 2005, 22:56 |
|
|
Acade |
Erfahrener Benutzer |

 |
|
Anmeldungsdatum: 19.04.2005 |
Beiträge: 56 |
Wohnort: Bayern |
|
|
|
 |
 |
 |
|
DeadBeef hat folgendes geschrieben:: |
...
PS: Die MIPS CPU/COP0 Befehlsbeschreibung im PDF-Format habe ich über
Google gefunden. Die rd Dekodierung scheint noch nicht ganz zu stimmen.
Das sel Feld wird laut mehreren Quellen eher selten unterstützt. |
Hi,
mfc0/mtc0 ist jetzt ok, war ein Bug drin (rt statt rd). sel wird jetzt
nur angegeben, wenn != 0. Außerdem gibt's als Kommentar den
Registernamen.
Als nächstes geht's A5 an den Kragen
Ciao,
Acade |
|
|
|
|
 | |  |
Verfasst am: Mi 08. Jun 2005, 22:20 |
|
|
Acade |
Erfahrener Benutzer |

 |
|
Anmeldungsdatum: 19.04.2005 |
Beiträge: 56 |
Wohnort: Bayern |
|
|
|
 |
 |
 |
|
Hi,
es gibt Neues von der Disassembler-Front:
A5.1: Alle Doppelbefehls-Speicherreferenzen vom Typ "lui + addi /
ori / load / store" werden jetzt komplett erkannt. Dies bringt
erheblich mehr Kommentare in den Output!
A5.2: Die Erkennung von Speicheradressen über mehr als 2 Befehle
hinweg ist leider nicht so einfach zu realisieren und wird noch länger
dauern.
Ciao,
Acade |
|
|
|
|
 | |  |
Verfasst am: Mo 13. Jun 2005, 19:07 |
|
|
DeadBeef |
Erfahrener Benutzer |

|
|
Anmeldungsdatum: 28.03.2005 |
Beiträge: 90 |
Wohnort: am Schwäbischen Meer |
|
|
|
 |
 |
 |
|
Hi Acade!
mit der neuen FW (beta vom 10.06.05) hat die letze Disassembler-Version ein "zyklisches" Problem:
24r 800a9124: af8083ec sw $zero,-31764($gp) # 8039c024 -> 8039c024 -> 8039c024 -> ...
In der Textausgabe hört der Disassembler an dieser Stelle auf,
nachdem er die Adresse ein paar tausend mal ausgegeben hat. In der
HTML-Ausgabe geht es in der nächsten Datei weiter, als ob nichts wäre
(die Adresse wird aber auch entsprechend oft ausgegeben, wodurch die
HTML-Datei nicht interpretierbar wird).
Ich werde ältere Versionen ausprobieren, die nichts von $gp Adressierung wissen.
Gruß
DeadBeef
PS: Ansonsten ist alles super! |
|
|
|
|
 | |  |
Verfasst am: Mo 13. Jun 2005, 22:55 |
|
|
Acade |
Erfahrener Benutzer |

 |
|
Anmeldungsdatum: 19.04.2005 |
Beiträge: 56 |
Wohnort: Bayern |
|
|
|
 |
 |
 |
|
DeadBeef hat folgendes geschrieben:: | ...
mit der neuen FW (beta vom 10.06.05) hat die letze Disassembler-Version ein "zyklisches" Problem:
...
|
Hi DeadBeef,
Problem ist gefixt: Rekursionstiefe auf 5 beschränkt, bei direkten
Selbstreferenzen (also Zykluslänge 1) wird gleich nach der ersten
Wiederholung abgebrochen (damit man die Selbstreferenz noch erkennen
kann).
Nutzt Du jetzt eigentlich auch die Möglichkeit, per $gp adressierte
Variable mit relativen Symbolen darzustellen? (Für den FW-Wechsel
praktisch!)
Ciao,
Acade |
|
|
|
|
TOPFIELD.de Board Foren-Übersicht » TAP
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst Deine Beiträge in diesem Forum nicht bearbeiten. Du kannst Deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Alle Zeiten sind GMT + 2 Stunden
Seite 2 von 3
Gehe zu Seite Zurück 1, 2, 3 Weiter
|
|
|
 |
|
|
|