C/asm kerdes
VF
vf at elte.hu
Thu Feb 5 21:24:41 CET 2004
Thus spake Andras Tantos <andras_tantos at yahoo.com>:
> Ilyesmire gondolsz?
>
> ------ coef.c ---------
>
> int Coef[] = {
> 0.7643 * 1024,
> 0.2643 * 1024,
> 0.7563 * 1024
> };
>
> Az en GCC-m (PC-n) ezt generalja belole (gcc -S coef.c):
>
> ------ coef.s ---------
Halas koszonetem, majdnem pont ez kell nekem.
Illetve __flash long coef.., kulonben RAM-ba tenne az init kod, amit
nem hajtok vegre :)
Valamint en 24 biten szeretnem tarolni az adatokat, olyan tipus alapbol
nincs a C-ben. Mi lenne ha definialnek egy 24 bites tipust, es abbol
csinalnek igy konstanst? Hogy is kell? :)
Egyebkent megcsinaltam ugy is hogy futas kozben szamolja ki, vegul is
mukodik. Csak a szamolas utan az asm progi elszall, mert a C mindent
felulir meg elallit stb...
Tovabbra is erdekelne, hogy hogyan lehet asm-bol C progit hivni.
Most ott tartok, hogy ha minden optimalizacio kikapcsolva, akkor az
r17:r16-ban tudom megadni a cimet ahova a tablazatot pakolja.
Ha optimalizacio van, akkor a belso RAM legelejen, 01xx cimen varja.
Az asm progibol termeszetesen nem latom hogy eppen hova szeretne a
parametert a C.
Munkateruletkent, ha jol lattam, szinten a memoria elejet hasznalja,
de pakolgat valamit az Y regiszter kornyekere is, csokkeno sorrendben.
Jo lenne tudni, hogy pontosan mit kell elokesziteni, hogy a C fuggveny
normalisan lefusson.
> Tantos Andras
--
Valenta Ferenc <vf at elte.hu> Visit me at http://ludens.elte.h u/~vf/
"Honnan tudod, hogy jol erzed magad, ha mas eszre sem veszi?"
More information about the Elektro
mailing list