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