[#1] DICE, funkcje inline i asm
No właśnie. Da się w DICE zrobić tak, żeby funkcje (np. mnożenie 32bit)były wrzucane do kodu jako inline, a nie wywoływane jako podprogramy?

I jeszcze takie insze pytanko: jak w DICE używać asemblera? tzn, jak np. odwoływać się za jego pomocą do zmiennych? Czytałem doc'e, ale nic nie znalazłem :(
[#2] Re: DICE, funkcje inline i asm

@shg, post #1

Chłopie, skąd się urwałeś, że jeszcze DICE używasz???

[#3] Re: DICE, funkcje inline i asm

@shg, post #1

A1200 + 4MB FAST

No ale dobra, zostawmy tego DICE'a.

Ściągnąłem vbcc, co mi załatwia sprawę funkcji inline.

Ale dalej pozostaje problem asemblera, jak moge zrobić np. coś takiego?:

ADDQ.L #1, zmienna

Wiem, że to jest głupi przykład, bo jak napiszę w C "zmienna++;", to wygeneruje mi się dokładnie to samo, ale chodzi mi ogólnie o mieszanie asm i C, jakiś przykład.
[#4] Re: DICE, funkcje inline i asm

@shg, post #3

Chcesz w kod źródłowy w C wstawić kod w ASM? Wiem jak to zrobić w GCC, ale na Twoim konfigu GCC nie ma szans się uruchomić. W każdym razie powinieneś się przekopać przez dokumentację kompilatora to znajdziesz jak tego dokonać.

Drugie wyjście to napisać tę funkcję w jakimś asemblerze, skompilować do obiektówki a potem zlinkować z obiektem z C. Odwołanie z C do funkcji ASM robi się przez zdefiniowanie prototypu funkcji ASM ze specyfikacją rejestrów dla argumentów a potem normalnie się wywołuje takąfunkcję jak każdą inną.

[#5] Re: DICE, funkcje inline i asm

@shg, post #1

Hmmm znalazłem coś takiego
LONG addq(__reg("d0") LONG) = "tADDQ.Lt#1,td0n";
no i używa się tego tak:
x=addq(x);
bez optymalizacji to wychodzi z tego szajs, ale już po zastosowaniu dowolnej optymalizacji jest tak jak chciałem.

Ale mam teraz inny problem.
Funkcja działa tak, że kod pomiędzy " i " jest wstawiany w źródło .asm, tylko, jak bym chciał coś więcej napisać, to linia z definicją musiała by być niesamowicie długa :(
Wybaczcie takie lamerskie pytanie:
Czy da się w C "połamać" stałą łańcuchową na więcej linii?
Np. tak jak to się w E robi:
str:="bardzo "+
"długi łańcuchn"

Jacku, możesz pokazać jak się to w GCC robi?
Przekopałem doc'e z vbcc, znalazłem tylko to, co powyżej, nie ma czegoś takiego, co widziałem w jakimś pecetowym C, czyli:
asm {
mov oko billa, #kij
}

w ostateczności zostaje linkownie, chociaż to mało dla mnie wygodne, bo się w E przyzwyczaiłem do mieszania składni E z asm
[#6] Re: DICE, funkcje inline i asm

@shg, post #5

W C stringi łamie się dając na końcu linii.

[#7] Re: DICE, funkcje inline i asm

@jrzeuski, post #6

Dzięki wielkie, śmiga, aż miło
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem