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