Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

Přístup do globální proměnné z ASM - VYŘEŠENO

 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Pejsvidek



Založen: May 10, 2006
Příspěvky: 200
Bydliště: Plzeň

PříspěvekZaslal: út květen 17 2011, 16:14    Předmět: Přístup do globální proměnné z ASM - VYŘEŠENO Citovat

Zdravím,
mám napsaný program v C a na zápočet potřebuji mít část i v ASM, problém je, že potřebuji přistoupit na globální proměnnou. Programuji to v CodevisionAVR a ten asi nezná příkaz EXTERN. Píše mi to, že nezná proměnnou bCekej100, přitom podle různých zdrojů se dá přistupovat ke globálním normálně i bez příkazu extern. Nevíte někdo jak to vyřešit ? do přílohy dám txt s kódem.

Děkuji



asm.txt
 Komentář:

Stáhnout
 Soubor:  asm.txt
 Velikost:  1.91 kB
 Staženo:  125 krát



Naposledy upravil Pejsvidek dne ne květen 22 2011, 15:37, celkově upraveno 1 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Andrea



Založen: Sep 07, 2007
Příspěvky: 9340

PříspěvekZaslal: út květen 17 2011, 16:23    Předmět: Citovat

A kde máš tu proměnnou definovanou?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Pejsvidek



Založen: May 10, 2006
Příspěvky: 200
Bydliště: Plzeň

PříspěvekZaslal: út květen 17 2011, 16:25    Předmět: Citovat

V kódu nad tim, mám to definovaný takhle:

unsigned char bCekej100;
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Andrea



Založen: Sep 07, 2007
Příspěvky: 9340

PříspěvekZaslal: út květen 17 2011, 16:26    Předmět: Citovat

Tak to tam asi nemá být ten IMPORT, pokud je to vložený assembler a ne oddělený překlad.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Pejsvidek



Založen: May 10, 2006
Příspěvky: 200
Bydliště: Plzeň

PříspěvekZaslal: út květen 17 2011, 16:28    Předmět: Citovat

Je to vložený asembler, ale bez EXTERN to zase píše:
Undefined symbol bCekej100
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Andrea



Založen: Sep 07, 2007
Příspěvky: 9340

PříspěvekZaslal: út květen 17 2011, 16:30    Předmět: Citovat

Dyť píšeš, že to EXTERN nezná.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Pejsvidek



Založen: May 10, 2006
Příspěvky: 200
Bydliště: Plzeň

PříspěvekZaslal: út květen 17 2011, 16:33    Předmět: Citovat

No však, EXTERN to nezná vůbec. Tam prej vůbec nemusí být, tak sem ho smazal. Ale bCekej100 to stejnak nepozná, nevim jestli při tý deklaraci to nemam ještě nějak jinak zapsat. Podle manuálu by to mělo takhle fungovat, ale nefunguje.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mtajovsky



Založen: Sep 19, 2007
Příspěvky: 3698
Bydliště: Praha

PříspěvekZaslal: út květen 17 2011, 17:05    Předmět: Citovat

Možná pomůže tohle.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
AB1



Založen: Nov 23, 2009
Příspěvky: 312

PříspěvekZaslal: st květen 18 2011, 5:52    Předmět: Citovat

V asm má proměnná před sebou podtržítko.
kód:
unsigned char var1 = 5;
void main(void)
{
    #asm
    lds r0, _var1
    #endasm

Pokud je v konfiguraci zatrženo "Automatic Register Allocation",
proměnná musí být deklarována jako volatile.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zmije



Založen: Jun 30, 2005
Příspěvky: 1570
Bydliště: Pardubický kraj

PříspěvekZaslal: st květen 18 2011, 22:36    Předmět: Citovat

Zajímavé! Já do teď o téhle možnosti nevěděl. Myslel sem si, že existují dva způsoby a) inline assembler v GASu nebo b) libovolný assembler co umí generovat .obj a pak se poprat s make, aby to linker dal dohromady. Jak to vlastně funguje? To preprocesor pomocí maker převede na GAS, nebo to kompiluje jiným assemlerem, nebo nějakým kouzlem přepne as na intel syntaxi?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Burajko



Založen: Aug 21, 2009
Příspěvky: 1811

PříspěvekZaslal: čt květen 19 2011, 1:20    Předmět: Citovat

To sa ti nechce citat manual od kompileru? Rolling Eyes Rolling Eyes Rolling Eyes Rolling Eyes
Toto budu inzinieri... Cry

_________________
Už druhý krát strihám a furt je to krátke
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
AB1



Založen: Nov 23, 2009
Příspěvky: 312

PříspěvekZaslal: čt květen 19 2011, 4:58    Předmět: Citovat

Zmije:
Tady se bavíme o překladači CodeVisionAVR.
Ten nemá s GAS nic společného.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
AB1



Založen: Nov 23, 2009
Příspěvky: 312

PříspěvekZaslal: čt květen 19 2011, 21:30    Předmět: Citovat

K Burajkovi bych pododkl jenom toto:
Ukaž mi, kde v manuálu Cvavr jsi našel odpověď na tuto otázku.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Burajko



Založen: Aug 21, 2009
Příspěvky: 1811

PříspěvekZaslal: pá květen 20 2011, 4:04    Předmět: Citovat

No ja som ho necital,ale urcite existuje manual.Aspon hitech,zilog,texas ma taku dobru zvyklost.
_________________
Už druhý krát strihám a furt je to krátke
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Pejsvidek



Založen: May 10, 2006
Příspěvky: 200
Bydliště: Plzeň

PříspěvekZaslal: ne květen 22 2011, 8:28    Předmět: Citovat

Díky moc AB1, chybělo mi tam jenom to podtržítko
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.12 sekund