section id="ff1802.next" xreflabel="next", xref.ff1802.next
Jako první se podíváme na smyčku vnitřního interpretu a rozebereme si ji. Jak jsem již zmínil, tato implemetace FORTHu používá technologii nepřímo zřetězeného kódu a proto vychází z kódu:
next: (ip+)→w jump (w+)
Nyní tedy vlastní kód smyčky. První část, instrukci (ip+)→w
.
000235 0091 ; NEXT INNER INTERPRETER 000236 0091 D3 SEP R3 ; LEAVE RC AT NEXT ; (ip+)→w # store instruction address ; # to w 000237 0092 4A NEXT: LDA RA ; (IP+) 000238 0093 BB PHI RB ; →W.hi 000239 0094 4A LDA RA ; (IP+) 000240 0095 AB PLO RB ; →W.lo
První instrukce není součástí konstrukce získáni adresy dalšího slova, je zde jako součást mechanizmu volání vnitřního interpretu NEXT
a uzavírá smyčku tohoto interpretu. Význam dalších instrukcí je zřejmý z komentářů, přečteme dva bajty tvořící slovo na adrese ukazované IP (RA) a uložíme do registru W (RB). Následující, pokračování dokončuje smyčku vnitřního interpretu.
; (w+)→pc 000241 0096 4B WBR: LDA RB ; (W+) 000242 0097 B3 PHI R3 ; → PC.hi 000243 0098 4B LDA RB ; (W+) 000244 0099 A3 PLO R3 ; → PC.lo 000245 009A 3091 BR NEXT - 1 ; Continue on PC
Čtyři instrukce zajistí operaci (w+)→pc
tedy načtení adresy v poli CF
a její uložení do čítače instrukcí PC
. Po vykonání tohoto kódu registr W
ukazuje na PF
vykonávaného slova. Poslední instrukce realizuje současně uzavření smyčky vnitřního interpretu a převedení řízení (skok) na získanou adresu jenž je uložena PC
.