====== Používání Návěstí a NameSpaces ====== Kompiler umožňuje používat řády v Návěstích, jako NameSpace. Řády jsou podobně jako u WWW adres oddělené tečkami. Hlavní Návěstí, které určuje NameSpace nezačíná tečkou, a před použitím návěstí druhého řádu (návěstí začínající tečkou) musí být definováno. Příklad: org 32768 Start di ld hl,0 .loop ld de,16384 ld bc,6912 ldir jr .loop {{ :lnxspectrum:scr11.png?nolink|}}V následujícím obrázku vidíme, jaké nám kompiler vytvořil návěstí. Hlavní je návěstí prvního řádu ''Start'', které zároveň definuje NameSpace. Takže každé návěstí druhého řádu (to bude začínat tečkou) bude vždy na začátku obsahovat ''Start''. Když v našem případě napíšeme... jr .loop nebo jr Start.loop ...bude se jednat o stejné návěstí. První ale bude fungovat jen v případě že se nacházejí ve stejném NameSpace. Návěstí i s NameSpacem, tedy Start.loop musíme použít pokuď ho chceme volat z jiného NameSpace: org 32768 Start di ld hl,0 .loop call Posuv.run ;Instrukce call se nachází jr .loop ;v NameSpace "Start" Posuv ;ale ".run" je v NameSpace "Posuv". .run ld de,16384 ld bc,6912 ldir ret Největší výhodou návěstí o více řádech je v tom, že jeho název můžeme použít znovu v novém NameSpace. V následujícím příkladu máme dvě návěstí ''.loop'', ale pokaždé se jedná o úplně jiné návěstí / jinou adresu: org 32768 Label1 .loop nop jr .loop Label2 .loop nop jr .loop ====Víceřádové návěstí==== Je možné používat i více než jeden řád. Díky tomu se dají napsat celé knihovny funkcí. org 32768 call Grafika.cls call Grafika ret Grafika.cls nop ;návěstí prvního a druhého řádu .loop nop ;návěstí třetího řádu djnz .loop ret Grafika.line nop ;návěstí prvního a druhého řádu .loop nop ;návěstí třetího řádu djnz .loop ret Grafika call .line ;Volá Grafika.line ret Všimněte si na konci programu návěstí prvního řádu ''Grafika'', která nepokračuje návěstím druhého řádu, ale protože se shoduje s předchozím návěstím prvního řádu, nemusí ho v ''call .line'' uvádět.