MPASM a CBLOCK

Hfmcons hfmcons@seznam.cz
Úterý Prosinec 4 22:42:12 CET 2007


Duplicitní názvy nejspíš nepůjdou přeložit.
S pozdravem,
                        Miloš Dašek
  ----- Original Message ----- 
  From: Bitovod
  To: HW-news
  Sent: Monday, December 03, 2007 11:57 PM
  Subject: Re: MPASM a CBLOCK


  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
------------- další část ---------------
HTML příloha byla odstraněna...
URL: http://list.hw.cz/pipermail/hw-list/attachments/20071204/55d082af/attachment-0002.htm 


Další informace o konferenci Hw-list