atari-home.de - Foren

Software => Coding => Thema gestartet von: guest522 am Mi 18.04.2012, 15:02:11

Titel: PureC asm nach AHCC portieren
Beitrag 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?
Titel: Re: PureC asm nach AHCC portieren
Beitrag von: m0n0 am Mi 18.04.2012, 15:55:33
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 =)
Titel: Re: PureC asm nach AHCC portieren
Beitrag von: guest522 am Mi 18.04.2012, 20:37:23
Hi,

mit Henk bin ich schon in Kontakt und ja, den Supervisor mode habe ich aktiv.  ;)
Dezimal werde ich mal testen.....

Idek
Titel: Re: PureC asm nach AHCC portieren
Beitrag von: simonsunnyboy am Mo 30.04.2012, 13:42:09
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
Titel: Re: PureC asm nach AHCC portieren
Beitrag von: guest522 am Mo 30.04.2012, 19:22:19
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.
Titel: Re: PureC asm nach AHCC portieren
Beitrag von: simonsunnyboy am Mo 30.04.2012, 20:47:37
Sorry fürs Missverständniss, dann gings wohl nur um GEnauigkeiten in der Opcodebenennung.

Hoffe, meine Ausführung oben hilft trotzdem irgendwem noch weiter.
Titel: Re: PureC asm nach AHCC portieren
Beitrag von: guest522 am Mo 30.04.2012, 21:55:34
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.