Hi, ich bin gerade dabei einen Assemblercode auf eine andere Entwicklungsumgebung zu portieren. ----------------------- Quelle: Assemblercode: bz $+6 Doku: ? ----------------------- ----------------------- Ziel: Assemblercode: ? Doku: Doku: Note bncond denotes an instruction that effects control ranches under opposite conditions, for example, bnz for bz or ble for bgt. ----------------------- Für jeden Hilfestellung bin ich sehr dankabr.
Nun ja, etwas mehr Info zu Prozessortyp und verwendeten Assembler wären vielleicht angebracht. Und wenn du das rausgefunden hast, beantworten sich auch deine Fragen alle von selber. Dazu stellt sich die Frage, was das im gcc-Forum zu suchen hat. Ansonsten wird "bz +6" sowas wie "branch on zero" bedeuten, mit Sprung um 6 Speicherstellen nach vorne. Wenn dir das jetzt nichts sagt, vergiß das Projekt. Oliver
Danke für die Info. Im Assembler Handbuch steht folgendes: Instruction Meaning: jarl Jump and register link jarl22 Jump and register link [V850E2] jarl32 Jump and register link [V850E2] jcond Conditional branch jmp Unconditional branch jmp32 Unconditional branch (jump) [V850E2] jr Unconditional branch (PC relative) jr22 Unconditional branch (PC relative) [V850E2] jr32 Unconditional branch (PC relative) [V850E2] Einer von diesen Befehlen müsste ich wahrscheinlich verwenden.
So ist es. Aber vorher wäre ein Grundkurs in Assembler angesagt. Zumindest die allereinfachsten Grundlagen und Konzepte sollte man für solch ein Projekt schon kennen. Oliver
Da ich diesen Assemblerbefehl "bz" nicht in der Doku von der Entwicklungsumgebeung (Quelle) finden kann, weiss ich auch nicht welchen Befehl ich oben nehmen müsste.
"branch on zero" ist ein "Conditional branch". Und das wird niemals nicht nur eine andere Entwicklungsumgebung sein. Du portierst anscheinend auf einen völlig anderen Prozessor, dazu von einer Quelle, die absolute Adressierungen in Sprüngen verwendet (Hex-Dump???). Und das alles ohne jede Ahnung von Assemblerprogrammierung. Viel Spaß. Oliver
Ich hab bereits alles andere schon portiert. Nur diese Anweisung "bz $+6" macht mir halt noch Probleme. Ich vermute das der Befehl "jcond" in Frage kommt.
John fragte:
>> Weiss vielleicht jemand was das Dollerzeichen bedeutet?
Ja, das sehe ich in den Augen Deines Auftraggebers, weil er nur auf den
Stundensatz und nicht auf den Betrag unter dem Strich schielt!
Bernhard
John schrieb: > Ich hab bereits alles andere schon portiert. Nur diese Anweisung "bz > $+6" > macht mir halt noch Probleme. Ich vermute das der Befehl "jcond" in > Frage kommt. Das ist doch alles sinnlos. Wenn man ein Assemblerprogramm von einer Plattform A nach einer Plattform B portiert, muss man beide Plattformen aus dem FF beherrschen. Ansonsten erleidet man unweigerlich Schiffbruch. Und da ist das finden einer Entsprechung für einen Zero-Branch noch eine der harmlosesten Übungen überhaupt. Das Erkennen, Finden und Umsetzen von Logiken, die darauf beruhen, dass manche Anweisungen die Flags beeinflussen und manche nicht und wie sich das dann 5 Befehle später auswirkt wenn sie es tun, kann da schon viel eher zu einem Albtraum ausarten. Was du gerade machst ist das Übersetzen von Russisch ins Englische, wobei du weder Russisch noch Englisch kannst und dein einziges Hilfsmittel ein Wörterbuch ist. Trotzdem muss die Übersetzung gut genug sein um damit den Pulitzerpreis gewinnen zu können. Und zwar ohne dass ein Lektor irgendwelche Rechtschreibfehler korrigiert oder Formulierungen umstellt. Bei Programmen geht es nämlich nicht darum, dass ein Amerikaner den Sinn schon irgendwie erraten wird. Bei Programmen muss jedes Detail 100% stimmen.
>Was du gerade machst ist das Übersetzen von Russisch ins Englische, >wobei du weder Russisch noch Englisch kannst und dein einziges >Hilfsmittel ein Wörterbuch ist. Und zwar eins Frau-Deutsch ;-)
>Ich hab bereits alles andere schon portiert. Nur diese Anweisung "bz >$+6" macht mir halt noch Probleme. Ja nee, is klar... In JEDEM Assemblerprogramm ist minimal jeder zehnte Befehl ein "bxx $+yy". Und das hast du schon alles portiert, bis auf diesen einen, und fragst jetzt erst, was das $ bedeutet? Das passt doch alles nicht zusammen. Oliver
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.