Hi, eine kurze Anfängerfrage, weil weder das Motorola PM noch Google noch Forensuche mir weiterhelfen konnten: Was ist der Unterschied zwischen jmp LABEL und jmp >LABEL bzw. jsr LABEL und jsr >LABEL Hab das in den Sourcen für ein Vectrex Spiel gefunden. Vielen Dank, n0ize
n0ize schrieb: > Hi, > > eine kurze Anfängerfrage, weil weder das Motorola PM noch Google noch > Forensuche mir weiterhelfen konnten: > > > Was ist der Unterschied zwischen > > jmp LABEL und jmp >LABEL > > bzw. > > jsr LABEL und jsr >LABEL ">" Longjump Gruesse, Michael
Hallo n0ize, im Anhang findest du ein PDF-Dokument zum 6809-Assembler. Dort solltest du eine Erklärung finden ( short,long Adressierung). Gruß Rainer
Die Syntax ist mir unbekannt. Erwähnen die Sourcen, für welchen Assembler sie gedacht sind? Beim Crossassembler XASM wird diese Syntax nur für x86 verwendet:
1 | The '>' and '<' prefix's also have special meaning in JMP and |
2 | CALL instructions: |
3 | |
4 | JMP label NEAR 16 bit RELATIVE jump |
5 | JMP <label NEAR 8 bit RELATIVE jump |
6 | JMP >LABEL NEAR INDIRECT jump through LABEL |
Aber das ist beim 6809 anders gelöst. JSR adressiert absolut, BSR bzw. LBSR sind die relativen Varianten mit 8- bzw. 16-Bit-Offset. Die relativen Äquivalente von JMP sind BRA bzw. LBRA. Denkbar wäre, daß sich hinter der merkwürdigen Syntax nur eine Alternativschreibweise zu den "echten" 6809-Mnemonics. Achso, nochwas, es könnte auch 8-Bit-Sprünge innerhalb der "direct page" geben, aber daran kann ich mich im Detail nach 20 Jahren nicht mehr genau erinnern.
Vielen Dank für die Antworten ;) @Rufus: Nein, in den Sourcen steht nichts, ich habe den Quelltext angehängt. Es gibt allerdings eine weitere Version der Sourcen, die für AS09 von Frank A. Vorstenbosch geschrieben ist, da taucht die Syntax nicht auf. Gruß, n0ize
> Es gibt allerdings eine weitere Version der Sourcen, die für > AS09 von Frank A. Vorstenbosch geschrieben ist, da taucht die Syntax > nicht auf. Da wird ein direkter Vergleich der betreffenden Stellen sicherlich aufschlussreich.
@Rufus: Done, die gleichen jmp und jsr Befehle, aber ohne ">". Außerdem werden Variablen anders initialisiert: SHOT_SPEED EQU #$08 vs. SHOT_SPEED EQU $08 ; AS09 Syntax @Rainer: Danke für das PDF, auch die anderen PDFs der Uni Ulm sind ja eine wahre Quelle der Weisheit und genau das, was ich gesucht habe, endlich eine anfängergerechte Einführung in den 6809 ;)
Die as09-Syntax ist die mir aus meinen 09er-Zeiten vertraute. Ist lange her, aber trotzdem der schönste aller 8-Bit-Prozessoren. Steckte in meinem ersten Selbstbau-Rechner. Was genau machst Du damit?
Ich möchte meinen Vectrex programmieren, eigentlich ist C++ Spieleprogrammierung meine Heimat und hab mit LowLevel Programmierung bisher nicht viel zu tun gehabt, aber ich betrachte das mal als neue Herausforderung. Hier gibts ein paar Sourcen und Manuals zu der alten Kiste: http://www.playvectrex.com/ ->Design It
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.