c: hi-tech 9,80, interrupt asm

Andrej Jancura aj.hwlist na gmail.com
Neděle Březen 30 21:37:57 CEST 2014


Na tom nie je co nerozumiet. Premenne a funkcie mate viditelne v ramci toho
asm modulu a aby ich videl aj kod c pomocou extern, musite nieco pri tych,
co ich chcete mat public, nastavit. Ale to si musite zase pozriet v manuali
alebo sa inspirovat tym spomenutym startupom. Ja si to uz do detailov
naozaj nepamatam.

A.


2014-03-30 21:28 GMT+02:00 Miroslav Draxal <evik na volny.cz>:

> Můžete trochu rozvést "spojit asm a C... No skuste pouzivat nejake
> funkcie ci premenne a k tomu este viditelne v ostatnych moduloch... :))) "
>
> Psect - taky moc tomu nehovím. V dokumentaci třeba vůbec není
>
> #asm
>
> PSECT intcode
>
>         GOTO    PROG_START+0x8
>
> PSECT intcodelo
>
>         GOTO    PROG_START+0x18
>
> #endasm
>
> Používá se při přemapování přerušení při použití bootloaderu.  Na ten
> start.as se kouknu.
>
>
>
> *From:* Hw-list [mailto:hw-list-bounces na list.hw.cz] *On Behalf Of *Andrej
> Jancura
> *Sent:* Sunday, March 30, 2014 8:20 PM
>
> *To:* HW-news
> *Subject:* Re: c: hi-tech 9,80, interrupt asm
>
>
>
> Dobry vecer,
>
> spojit asm a C... No skuste pouzivat nejake funkcie ci premenne a k tomu
> este viditelne v ostatnych moduloch... :)))
>
> Ta konstrukcia, ako to prelozit na adresu vektora prerusenia sa robi
> nejako cez psect. To je tiez jedna z veci, ktorej moc nerozumiem. Skuste si
> ale pozriet subor startup.as, ktory sa prilinkuje automaticky. Prekladac
> Vam ho vygeneruje automaticky cez nejake prepinace kompilatora. V tom
> startup.as mate nadefinovane aj tie interrupty a ostatne tips & trick's k
> tejto teme, aspon by tam mali byt. A potom si napiste svoj a prilinkujte.
>
> A.
>
>
>
> 2014-03-30 19:24 GMT+02:00 Miroslav Draxal <evik na volny.cz>:
>
> Spojit asm s C není problém. Pokud chcete ptejte se. Problém je donutit
> překladač aby mi dovolil konstrukci
>
> Void MeInterrupt(void)@0x08
>
> {
>
> Asm("goto"_mojePreruseni");
>
> }
>
> A přeložil to na tu adresu 0x08 a né na 0x00. Míra
>
>
>
> *From:* Hw-list [mailto:hw-list-bounces na list.hw.cz] *On Behalf Of *Andrej
> Jancura
> *Sent:* Sunday, March 30, 2014 6:24 PM
> *To:* HW-news
> *Subject:* Re: c: hi-tech 9,80, interrupt asm
>
>
>
> Dobry den,
>
> s tymto Vasim problemom Vam moc neporadim. Skusal som spojit asm a c
> zdrojaky, ale nejako som to z toho manualu moc nepochopil, a rozchodit sa
> mi to nepodarilo. Tak som to nechal tak. Uplne by stacilo keby Microchip v
> tom manualy dal jednocuchy priklad, ako to urobit.
>
> A.
>
>
>
> 2014-03-29 20:49 GMT+01:00 Miroslav Draxal <evik na volny.cz>:
>
> Dobrý den, založil jsem nové vlákno, ale má návaznost na předchozí vlákno.
>
> Využívám u PICe přerušení s vysokou prioritou pro TMR3. Ovšem kompiler po
> provedení přerušení uklízí zbytečně moc registrů.
>
>   5940  0009FA  CFEA F03B              movff  fsr0h,??_interrupt_high+3
>
>   5941  0009FE  CFE1 F03C              movff  fsr1l,??_interrupt_high+4
>
>   5942  000A02  CFE2 F03D              movff  fsr1h,??_interrupt_high+5
>
>   5943  000A06  CFD9 F03E              movff  fsr2l,??_interrupt_high+6
>
>   5944  000A0A  CFDA F03F              movff  fsr2h,??_interrupt_high+7
>
>   5945  000A0E  CFF3 F040              movff  prodl,??_interrupt_high+8
>
>   5946  000A12  CFF4 F041              movff  prodh,??_interrupt_high+9
>
>   5947  000A16  CFF6 F042              movff  tblptrl,??_interrupt_high+10
>
>   5948  000A1A  CFF7 F043              movff  tblptrh,??_interrupt_high+11
>
>   5949  000A1E  CFF8 F044              movff  tblptru,??_interrupt_high+12
>
>   5950  000A22  CFF5 F045              movff  tablat,??_interrupt_high+13
>
>
>
> V obsluze přerušení s registry nepracuji, tudíš jejich schovávání je
> zbytečné. Úschova a obnova trvá dost dlouho. Rád bych si napsal komplet
> obsluhu přerušení v asm(cca 10 řádků). Celý den nad tím sedím a nedostal
> jsem se ke kloudným výsledkům.
>
>
>
> a/dá se nějak v C podstrčit moje obsluha interuptu? (snad by to mělo jít
> přes PSECT???)
>
> or
>
> b/dá se v C vytvořit funkce, která má začátek v ram pevně daný (uložit na
> 008h goto interruptME)
>
>
>
> díky za případné nakopnutí Míra
>
>
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20140330/7b45ac53/attachment.html>


Další informace o konferenci Hw-list