C/asm kerdes
Andras Tantos
andras_tantos at yahoo.com
Thu Feb 5 16:42:15 CET 2004
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 ---------
.file "coef.c"
.globl _Coef
.data
.align 4
_Coef:
.long 782
.long 270
.long 774
Udv,
Tantos Andras
<http://andras.tantos.homedns.org>
----- Original Message -----
From: "VF" <vf at elte.hu>
To: "elektro" <elektro at tesla.hu>
Sent: Thursday, February 05, 2004 4:59 AM
Subject: C/asm kerdes
>
> Hi!
>
> Digitalis szurohoz kene a koefficiensek skalazasat egy kicsit
kenyelmesebbe
> tenni. A muvelet nagyon egyszeru: a float szamot meg kell szorozni egy
> konstanssal (tipikusan 2 hatvany), majd kerekiteni kell, es az egesz
szamot
> tarolni egy tablazatban mondjuk 24 biten az asm progi szamara.
> Sajnos az assembler operatorok csak integer szamokkal tudnak szamolni,
ezert
> ha megvaltoztatom a skalazast, mindig kezzel/szamologeppel ujra ki kell
> szamolnom. Azt talaltam ki, hogy a C forditot hasznalva beirom a
konstansokat
> es a skalafaktort, a C fordito aritmetikaja kiszamolja, azt irom be az
> asm progi tablazataba. (Tehat futtathato C progit nem kell irni,
felesleges,
> csak a C fordito aritmetikajat akarom hasznalni a konstansok
kiszamitasara)
> Hogy celszeru ezt csinalni?
> Esetleg az is jo lenne, hogy asm-bol meghivok egy C fuggvenyt, mely
> letarolja a RAM-ban a tablazatot. Kulonbozo okok miatt eddig is at kellett
> masolnom a flash-bol a RAM-ba, ez meg nem gond.
> De nem tudom hogy lehet meghivni asm-bol C progit. (Forditva megy)
> Termeszetesen startup kod nelkul lenne poen...
>
> --
> Valenta Ferenc <vf at elte.hu> Visit me at http://ludens.elte.h u/~vf/
> Egyetlen atombomba tonkreteheti az egesz napodat!
>
>
>
More information about the Elektro
mailing list