Ngaro egy hordozható virtuális gép egy dual-stack építészet. Az utasításkészlet lényegében egy részhalmaza Forth. Bár korlátozott az a képessége, hogy befolyásolja a mögöttes OS, meg kell lennie ahhoz, hogy a különböző programok írandó, és fut rajta.
A csomag tartalmaz néhány alapvető dokumentációval, forráskóddal, a gép oda-fordító, és néhány apró példa.
Használat:
./ngaro ImageName
Az utasításkészlet tartják minimalista. A pontos utasítások halmaza
változások alkalmanként, de az alábbi listában évek óta állandó, körülbelül egy
évben. (Az utolsó három, egyrészt a port-alapú I / O modell, új)
0 NOP Nem csinál semmit
1 LIT Tolja az értéket a következő cellában a stack
2 DUP Ismétlődő tetejére
elemet a verem
3 csepp csepp a felső elem
A stack
4 SWAP Tőzsde két felső
tételeket a stack
5 Nyomja Nyomja meg a felső elem
a köteget, hogy a
cím verem, csepp
TOS
6 POP pop a felső tétel
A cím verem le
és tedd a
adatok stack
7 Hívás A cím,
a következő szó
megfelel
8 JUMP Ugrás a címét
hogy a következő
szó megfelel
hogy
9; Térjen vissza a hívó,
használható CALL
10> Ugorj Feltételes ugrás. Azt
összehasonlítja TOS és NOS.
11 bit Shift jobbra
25 0; Exit (and drop), ha
TOS jelentése 0
26 1+ növekménye TOS 1
27 1- Csökkentés TOS 1
28 Olvassa el a port
29 OUT Store egy port
30 várj egy port-alapú
kérheti, hogy befejezze
Ha nem támogatott műveleti kód fordul elő, a interal IP regiszter értéke
a végén a memóriát. Végrehajtási a kép kód leáll, ha ez megtörténik.
Néhány utasításokat vehetik a következő sejt tartalmaz címek vagy
értékeket. Ezek:
1 LIT
7 CALL
8 JUMP
10> ugrás
11
Mi az új ebben a kiadásban:
- Ez a verzió hozza frissített változatai minden alkalmazás és jelentősen frissített dokumentáció.
- Jelenleg 14 megvalósítások írt Python, Ruby, Perl, Common Lisp, x86 Assembly, ANS Forth, JavaScript, Retro, Lua, Java, C, C #, F #, és a Go.
Hozzászólás nem található