[#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