MPASM a CBLOCK

Martin Šaněk sanek.martin@volny.cz
Pondělí Prosinec 3 07:21:51 CET 2007


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

2. prosince 2007, 15:26:33, napsal jste:

> Zdravim,

> mam dalsi zacatecnicky dotaz:

> V MPLABu si hraju s PIC v ASM a v prikladech jsem narazil na direktivu
> CBLOCK a bud blbe hledam, nebo neco nechapu. V prikladech je pouzivana,
> vyrozumel jsem z toho, ze to je nejaka rezervace mista pro 
> promenne/registry, ale v manualu se nejak nechytam. Napriklad:

>      cblock 0x20
> Delay1           ; Assign an address to label Delay1
> Delay2
> Display          ; define a variable to hold the diplay
>      endc

> Kde vezmu ono cislo, zde v prikladu 0x20? Z ceho to spocitam?
> Diky za postrceni.

> Pavel Kutina 

> _______________________________________________
> 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