User manual
28
Cím
Parancs
Adatok
Megjegyzés
69 54 7A 59 26 35
14. kilistázás: Invertálás
12
Ugrások és elágazások
Eddig csak egy egyszerû ugrásról volt szó (3. parancs), amely maximum 15 címig nyúlt
vissza. Most egy abszolút ugrás (Jump) jön hozzá. Mivel az ugrási cél csak 4 bittel adható
meg, van egy kiegészítõ parancs, amely a cím legmagasabb helyértékû nibblejét határozza
meg. Ezáltal a címtartományunk 0–255. Ez több, mint amire szükség van, mivel a kontroller
EEPROM-ja csak 128 byte-ot fog át, tehát a 00 - 7F (decimális 0 - 127) tartományt. A memória
ezzel gyakorlatilag nyolc oldalra, a 0 - 7 oldalra (Page 0–7) van beosztva. Egy abszolút ugrás
elõtt meg kell határozni az ugrás céljának az oldalát.
Két számlálóhurok a C és a D változóval ugyancsak abszolút ugrást hajt végre, amikor itt is,
mint korábban, meg kell határozni a cím oldalát.
A feltételes ugrások skip-parancsként (kihagyás, átugrás) mûködnek. Ha a mindenkori feltétel
igaz, egy cím átugrásra kerül. Ott állhatna pl. egy ugrás-parancs vagy akár egy számítási
parancs. Feltételként állhatnak rendelkezésre az A és B közötti összehasonlítások, valamint a
bemeneti port közvetlen lekérdezései.
Ezenkívül van még egy alprogram-felhívás (Call) és a hozzátartozó visszaugrási parancs
(Return). Bár több alprogram van engedélyezve, de egy alprogramból nem szabad további
alprogramot felhívni, mert az értelmezõ program mindig csak egy visszaugrási címet jegyez
meg.
80–8F: Adr-high = 0–15
90–0F: közvetlen ugrás (Jump) az Adr-high, Adr-low-ra (0–15)
A0–AF: számlálóhurok C-szer Adr-high, Adr-low (0–15)
B0–BF: számlálóhurok D-szer Adr-high, Adr-low (0–15)
C1–CF: feltételes ugrás: ha (feltétel 1–15) akkor átugrani
C1: if A > B then Adr = Adr + 1
C2: if A < B then Adr = Adr + 1
C3: if A = B then Adr = Adr + 1
C4: if Din.0 = 1 then Adr = Adr + 1