Ngaro on kannettava varten oleva virtuaalinen kone kahden pinon arkkitehtuuri. Ohjeisto on pohjimmiltaan osajoukko Forth. Vaikka rajalliset kykynsä vuorovaikutuksessa taustalla käyttöjärjestelmä, olisi oltava riittävä, jotta erilaisia ohjelmia on kirjoitettu, ja ajaa sitä.
Paketti sisältää joitakin perusasioita asiakirjat, täysi lähdekoodi, kone ulos kääntäjä, ja muutamia pieniä esimerkkejä.
Käyttö:
./ngaro imagename
Käskykanta pysyy minimalistinen. Tarkka ohjesarja
muutokset joskus, mutta seuraavassa luettelossa on pysynyt vakaana noin
vuosi. (Kolme viimeistä, jossa käsitellään satama-pohjainen I / O-malli, ovat uusi)
0 NOP Onko mitään
1 LIT Työnnä lisäarvoa seuraavilla solun pino
2 DUP Monista alkuun
item pinoon
3 DROP Drop top kohde
pinoon
4. VAIHTO Exchange kaksi parasta
kohteita pinoon
5 PUSH Työnnä alkuun kohde
pinon
osoitteen pino, drop
TOS
6 POP Pop top erä
osoitteen pino pois
ja laita se
data pino
7 CALL Call osoite, joka
seuraavia kirjaimellinen
vastaa
8 JUMP Siirry osoitteeseen
että seuraavat
kirjaimellinen vastaa
että
9; Paluu soittajalle,
käytetään CALL
10> JUMP Ehdollinen hyppy. Se
vertaa TOS ja NOS.
11 Shift bittiä oikealle
25 0; Exit (ja pudottamalla), jos
TOS on 0
26 1+ Increment TOS 1
27 1- Vähennä TOS 1
28 IN Lue satamaan
29 OUT Store satamaan
30 WAIT Odota porttipohjainen
pyytää loppuun
Jos ei tueta opcode kohdataan, interal IP rekisteri on asetettu
lopussa muistiin. Suorittamisen kuvan koodi pysäyttää, kun tämä tapahtuu.
Muutama ohjeet käyttävät seuraavat solu sisältää osoitteita tai
arvot. Näitä ovat:
1 LIT
7 CALL
8 JUMP
10> hyppy
11
Mikä on uusi tässä julkaisussa:
- Tämä versio tuo päivitetyt versiot kaikkien toteutusten ja huomattavasti päivitetyllä dokumentointi.
- Tällä hetkellä 14 toteutuksia kirjoitettu Python, Ruby, Perl, Common Lisp, x86 Assembly, ANS Forth, JavaScript, Retro, Lua, Java, C, C #, F #, ja Go.
Kommentteja ei löytynyt