MPASM a CBLOCK
Martin Šaněk
sanek.martin@volny.cz
Úterý Prosinec 4 20:33:36 CET 2007
... no to ne... takhle si z kompilatoru utahovat nemůžete :-)
ono to jde jen když to chce ten nejvyšší tzn Microchip - třeba u
OPTION registru.
Pokud to možné je, tak potom se omlouvám - co na to hned druhý po
nejvyšším tedy Jirka?
:-)
S pozdravem,
Martin Šaněk
mailto:sanek.martin@volny.cz
3. prosince 2007, 23:57:00, napsal jste:
> Diky obema, omlouvam se, nemohl jsem zareagovat rychleji.
> Ono mi to pak pri studiu ruznych datasheetu a ruznych prikladu docvaklo, ze
> by to mohlo takhle byt. Takze, chapu-li to spravne, protoze v kazde bance
> kousek mista zbyva pro registry, muzu si rozstrkat registry na konkretni
> mista v konkretnich bankach? Zatim to pri blikani LEDkama tedy nevidim jako
> nutnost, ale asi by se to mohlo hodit.
> A jeden poddotaz - je mozne mit stejne pojmenovany registr ve vice bankach?
> Ted to nemam na cem vyzkouset, ale je mozna takovato definice:
> CBLOCK 0x20
> Promenna1
> endc
> CBLOCK 0xA0
> Promenna1
> endc
> S tim, ze bych pristupoval k stejne pojmenovanemu registru, ale podle
> aktualni banky by mel pokazde jiny obsah?
> Pavel Kutina
> ----- Original Message -----
> From: "Jiri Bezstarosti" <jiri@bezstarosti.cz>
> To: "HW-news" <hw-list@list.hw.cz>
> Sent: Monday, December 03, 2007 10:36 AM
> Subject: Re: MPASM a CBLOCK
> No a k druhe casti dotazu. Kazdy PIC ma v PDF mapu pameti/registru (u
> PIC je pamet RAM oznacovana jako registry, protoze se s ni jako s
> registry pracuje) a tam zjistim, ktere registry (jaky rozsah adres) mohu
> pouzivat pro sve promenne. Takze to 0x20 je treba zacatek pameti pro
> vseobecne pouzitelne registry, tedy ty, ve kterych si muzete delat co
> chcete a neovladaji zadnou periferii, tedy nemaji zadny specialni
> vyznam. V dokumentaci (PDF) je najdete v mape pameti/registru pod nazvem
> "General Purpose Register".
> --
> Jiri Bezstarosti
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
> Dobrý den,
> doufám, že se nepletu ale CBLOCk znamená, že se paměť začně adresovat
> od 0x20 a všechny další registry budou přibývat od této hodnoty. Má
> to význam v případě, kdy chcete mít registry nějak srovnané za sebou
> (z nejakého důvodu, nebo prostě jen pro přehled) a nechcete u každého
> vypisovat jeho přesné obsazení. Příklad:
> klasicky:
> Delay1 EQU 0x20h
> Delay2 EQU 0x21h
> Delay3 EQU 0x22h
> a teď za pomoci makra:
> CBLOCK 0x20h
> Delay1
> Delay2
> Delay3
> ENDC
> Význam bude pořád ten samý. Pokud potom přidáte do makra další
> registr (třeba mezi Delay1 a 2) tak se ty pod Delay1 prostě v
> obsazení paměti "šoupnou"níže. U klasiky by jste musel přepisovat
> všechny na jinou hodnotu.
> S pozdravem,
> Martin Šaněk
> mailto:sanek.martin@volny.cz
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list