Ngaro is 'n draagbare virtuele masjien vir 'n dubbele-stapel argitektuur. Die opdrag stel is in wese 'n subset van Forth. Alhoewel beperk in sy vermoë om met die onderliggende OS, behoort dit voldoende te laat 'n verskeidenheid van programme wat geskryf moet word en loop op dit.
Die pakket sluit 'n paar basiese dokumentasie, volledige bronkode, die masjien uit samesteller, en 'n paar klein voorbeelde.
Gebruik:
./ngaro imagename
Die opdrag stel is minimalistische gehou. Die presiese stel instruksies
veranderinge soms, maar die volgende lys is stabiel vir ongeveer 'n
jaar. (Die laaste drie, wat handel oor die hawe gebaseer I / O-model, is nuwe)
0 NOP doen niks
1 LIT Druk die waarde in die volgende sel om die stapel
2 DUP Dubbele die top
item op die stapel
3 DROP Drop die top item
op die stapel
4 SWAP Exchange die top twee
items op die stapel
5 DRUK Druk die top item op
die stapel om die
adres stapel, daal
TOS
6 POP pop die top-item
die adres stapel af
en sit dit op die
data stapel
7 CALL Call die adres wat
die volgende letterlike
ooreenstem met
8 JUMP Spring na die adres
dat die volgende
letterlike ooreenstem
om
9; Terug te keer na die oproeper,
gebruik met die oproep
10> spring Voorwaardelike spring. Dit
vergelyk TOS en NOS.
11 Shift stukkies reg
25 0; Uitgang (en drop) indien
TOS is 0
26 1+ Vermeerder TOS deur 1
27 1- Trek TOS deur 1
28 IN Lees 'n hawe
29 uit Store om 'n hawe
30 WAG wag vir 'n hawe-gebaseerde
versoek te voltooi
As 'n onondersteunde opcode teëgekom word, is die Interal IP register ingestel om
die einde van die geheue. Uitvoering van die beeld-kode sal stop wanneer dit gebeur.
'N Paar instruksies gebruik maak van 'n die volgende sel adresse bevat of
waardes. Dit is:
1 LIT
7 CALL
8 JUMP
10> spring
11
Wat is nuut in hierdie release:.
- Hierdie weergawe bring opgedateer weergawes van al die implementering en aansienlik opgedateer dokumentasie
- Daar is nou 14 implementering geskryf in Python, Ruby, Perl, Common Lisp, x86 Vergadering, Ans Forth, JavaScript, Retro, Lua, Java, C, C #, F #, en gaan.
Kommentaar nie gevind