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