1 Ostatnio edytowany przez Cosi (2008-07-11 15:00:56)

Witam
Mam pytanie do Kolegów cc65'owców :) Mianowicie, jaki jest najprostszy sposób dołączania (dłuższych) wstawek assemblerowych, np. procedur? Czy kompilator cl65 ma opcję dołączania dodatkowych plików .o, czy trzeba to robić po kolei, assemblując i linkując wszystko?
A może istnieje możliwość włączania kodu asma bezpośrednio do programu? (nie mam tu oczywiście na myśli polecenia __asm__)
Będę wdzięczny za wszelkie rady, najlepiej z krótkim wyjaśnieniem.
Pozdrawiam

PS. Ha, ręka szybsza niż głowa :D Napisałem sobie taki skrypcik, może komuś się przyda:

#!/bin/bash
export CC65_INC=C:\\CC65\\INCLUDE
export CC65_LIB=C:\\CC65\\LIB
wine ../bin/ca65.exe -t atari $2.asm
wine ../bin/cc65.exe -t atari $1.c
wine ../bin/ca65.exe -t atari $1.s
wine ../bin/ld65.exe -t atari atari.o $1.o $2.o atari.lib -o $3

Jeżeli ktoś korzysta z windowsowego cc65 pod wine, to ten skrypt elegancko połączy kod w C z kodem w asmie i wrzuci do pliku wynikowego. Wywołanie: link <plik_c_bez_rozszerzenia> <plik_asm_bez_rozszerzenia> <plik_wynikowy>

800 XE + CA 2001; Portfolio; 1040 STfm; Lynx II
Psion Organiser II XP, LZ64; Series 3a, 3c, 5mx; Siena; Workabout; HP 95LX, 200LX, 620LX; Amiga 1200; Amstrad NC100, NC200; Game Boy Color
http://palmtop.cosi.com.pl -- nie tylko o Atari Portfolio

2

ja kompilujac cc65 ustawiam sobie default target "atari" przez co nie trzeba dawac parametru "-t atari"
btw. to co robisz w cl65 powinien zalatwiac...

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

3

a tak przy okazji....

używasz chyba cc65 pod jakiegoś *nixa? tak?  Jeżeli tak to po co do wżywasz wine? przecież jest natywny port pod systemu *nixowe... to czemu w ten sposób? Pytam z czystej ciekawości, bo nie rozumiem po co takie zamieszanie z wine i windowsową wersją :)

pozdrawiam
Seban

4

jellonek: Tak, ale nie wiem jak za pomocą cl65 dołączyć plik .o z asmowymi procedurami. Pewnie to idiotyczny problem, ale nie wpadłem dotąd na inne rozwiązanie - odzwyczaiłem się od kompilatorów przez tych parę ostatnich lat ;)

seban: Wiem, wiem że to dziwacznie wygląda, ale mam alergię na *nixowe źródła "zrób to sam" - pisałem już o tym kiedyś w wątku o atari800. cc65 oczywiście się nie chciał skompilować, mimo że mam wszystkie potrzebne biblioteki.. Doprawdy, nie wiem czy jestem takim nieukiem czy mam po prostu pecha ;)

800 XE + CA 2001; Portfolio; 1040 STfm; Lynx II
Psion Organiser II XP, LZ64; Series 3a, 3c, 5mx; Siena; Workabout; HP 95LX, 200LX, 620LX; Amiga 1200; Amstrad NC100, NC200; Game Boy Color
http://palmtop.cosi.com.pl -- nie tylko o Atari Portfolio