www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Arm9 assembler v c projekt

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
georg
Neznanec
Neznanec



Pridružen-a: Sre 24 Mar 2010 23:58
Prispevkov: 1
Aktiv.: 0.01

PrispevekObjavljeno: Čet Mar 25, 2010 12:11 am    Naslov sporočila:  Arm9 assembler v c projekt Odgovori s citatom

Zivjo, sem bolj zacetnik pri teh ARM9. Uporabljam program winIdea ( za solo pac ).

Imam sledec problem. Kodo imam ze spisano v asemblerju (delujoca).
Sedaj pa imam navodila..

Program iz prejšnje naloge dodajte v projekt v c-ju. Program
preuredite v podprogram z imenom produkt16:
.global produkt16, _produkt16
produkt16:
_produkt16:

mov pc, r14
Podprogram sme spremeniti vrednost registrom r0 – r3. Če uporablja še druge registre, jih shranite na sklad in na koncu obnovite.

V datoteki main.c dodajte vrstico:
extern int produkt16(int a, int b);

sedaj lahko iz funkcije main() pokličete funkcijo produkt16:
int a;
a = produkt16(2009, 12345);

Za klicanje funkcij se uporablja APCS (ARM Procedure Call Standard). Med drugim določa, da se prvi štirje parametri funkcije prenesejo v registrih r0 - r3, rezultat pa se vrača preko registra r0.



Torej ce kdo ve kako se tega lotit, vsaj idejno, ker res ne vem kaj kam in kako dat. Z googlom si pa tudi zal nisem znal veliko pomagat glede tega.
Lp
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 498 dni


Powered by phpBB © 2001, 2005 phpBB Group