Re: C kérdés

Andras Tantos andras at tantosonline.com
Sat Jun 16 01:41:50 CEST 2007


Hali!

Ha nem .s, hanem .S kiterjesztest hasznalsz (azaz nagybetus S), akkor a GCC 
elobb le fogja futtatni a C preprocesszort, es csak utana az assemblert. Igy 
tudod hasznalni a C-s #define-okat ASM-ban is. Mas megoldast nem tudok.

Udv,
Tantos Andras

----- Original Message ----- 
From: "hg12345" <hg12345 at freemail.hu>
To: "elektro" <elektro at tesla.hu>
Sent: Friday, June 15, 2007 8:56 AM
Subject: C kérdés


Hi!

Hogyan oldható meg, hogy a C-ben generált "konstansok" pl.:
#define...  meghatározva, elérhetőek legyen az ASM (.s)
programokban.  (GNU  4.01).  A .s már hibát nem jelez a #define-ra, de
nem alkalmazza mert nem ismeri, csak ponttal kezdödő
vezérlő ,utasításokat fogad. Az .s -ben .equ és tsa. lehet, csak ilyen
konstansokat lehet definálni.

Hogyan oldható meg, hogy csak egy header file legyen és ha lehetőleg
csak egy definició. (igy kevesebb a hiba)

Egy megoldást találtam, de nem nem megfelelöje, csak alternativájak

#define   AAA  120L
const long cAAA=AAA;

ez tartalmazza a "C" és ez a program területre leteszi a konstansokat,
így pointerrel az ASM programban beolvasható.

 .extern  cAAA;

     mov.w   #cAAA,w0
     mov.w   [w0],w0

Amit szeretnék az így nézne ki:

      mov.w  #AAA,w0     ;egyből a konstanst tölteném be...

  Üdv


35% kedvezmény az Osiris Kiadó köteteire. TÉRjen be: egész héten várjuk 
programjainkkal az Alexandra Könyvtéren, a pécsi Széchenyi téren.
http://ad.adverticum.net/b/cl,1,6022,176377,235993/click.prm

-----------------------------------------
          elektro[-flame|-etc]





More information about the Elektro mailing list