atari-home.de - Foren
Software => Coding => Thema gestartet von: guest522 am Mi 18.04.2012, 15:02:11
-
Hi,
ich möchte folgenden PureC asm Code in AHCC übersetzen:
move.w sr,d1
or.w #$700,sr
Erhalte dann aber eine undefined reference.
Offensichtlich kennt AHCC den move.w für sr nicht.
Mit
move sr,d1
klappts, aber das or.w bekomme ich so nicht unter Kontrolle. Any ideas?
-
Hallo, melde dich bei Henk Robbers bzw. poste im support thread bei atari-forum.com und dir wird mit sicherheit geholfen bzw. wenn's ein bug in AHCC ist - dann wird der wohl schnell behoben. Ist meine Erfahrung.
or.w #$700,sr
derweilen könntest du auch einfach folgendes probieren:
- anstatt $700 den dezimalwert verwenden
.... moment, da fällt mir was auf - den sr kann man doch nur im super visor modus beschreiben, oder? Hast Du in den Optionen angecheckt das der code für den super visor mode ist? evt....
aber naja, warte lieber auf Henk's Antwort =)
-
Hi,
mit Henk bin ich schon in Kontakt und ja, den Supervisor mode habe ich aktiv. ;)
Dezimal werde ich mal testen.....
Idek
-
Was genau ist das Problem? Kannst Du Dein Assemblerunterprogramm nicht ansprechen?
Dann muss man das wie folgt formulieren:
a) Im .s file das Symbol exportieren (geht auch für Daten)
EXPORT meine_fkt
meine_fkt:
...
rts
b) Ein entsprechendes Headerfile anlegen, welches die Funktion mit Prototyp bekannt macht:
extern void meine_fkkt(void);
Ggfs Parameterübergaben müssen noch deklariert werden, dabei werden Werte als d0 und d1 allokiert, Pointer als a0 und a1 übergeben.
Rückgabewert ist d0 für Werte, a0 für Pointer.
Also z.B.
/* .h Header: */
extern long meine_addition(long a, long b);
; Assemblerqueltext .s
EXPORT meine_addition
meine_addition:
add.l d1,d0
rts
-
Was genau ist das Problem? Kannst Du Dein Assemblerunterprogramm nicht ansprechen?
Das Problem habe ich im ersten Post beschrieben: AHCC akzeptiert den PureC asm Code nicht.
Den originalen Code
move.w sr,d1
or.w #$700,sr
kann man aber durch
move sr,d1
ori #$700,sr
ersetzen. Damit bekomme ich das zumindest durch den Compiler.
-
Sorry fürs Missverständniss, dann gings wohl nur um GEnauigkeiten in der Opcodebenennung.
Hoffe, meine Ausführung oben hilft trotzdem irgendwem noch weiter.
-
Klar.....danke für Deine Tips, bin ja auch kein 68K asm Crack. Und so lern ich auch noch was dazu. ;)
Henk arbeitet nun daran den AHCC asm kompatibler zum PureC Compiler machen.