Ngaro ay isang portable na virtual machine para sa isang architecture dual-stack. Ang pagtuturo set ay mahalagang isang subset ng balik. Kahit na limitado sa kanyang kakayahan upang makipag-ugnayan sa mga pinagbabatayan OS, ito ay dapat na sapat upang payagan ang isang iba't ibang mga programa na nakasulat at tumakbo sa mga ito.
Ang pakete ay nagsasama ng ilang mga pangunahing mga babasahin, buong source code, ang makina balik compiler, at ilang maliliit na mga halimbawa.
Usage:
./ngaro imagename
Ang pagtuturo set ay pinananatiling minimalistic. Ang eksaktong set ng mga tagubilin
pagbabago paminsan-minsan, ngunit ang mga sumusunod na listahan ay matatag para sa tungkol sa isang
taon. (Ang huling tatlong, pakikitungo sa mga port-based modelo I / O, mga bago)
0 NOP wala ba
1 LIT Itulak ang halaga sa mga sumusunod cell sa stack
2 DUP Duplicate tuktok
item sa stack
3 Drop Drop tuktok item
sa stack
4 SWAP Exchange ang dalawang top
bagay sa stack
5 PUSH Itulak ang top item sa
ang stack sa
address stack, drop
TOS
6 POP Pop tuktok item ng
ang address stack off
at ilagay ang mga ito sa
stack data
7 CALL Tawagan ang address na iyon
ang mga sumusunod na literal
tumutugon sa
8 Tumalon Tumalon sa address
na ang mga sumusunod
literal tumutugma
sa
9; Bumalik sa tumatawag,
gamitin sa CALL
10> Tumalon Kondisyon tumalon. Ito
pinagkukumpara TOS at Nos.
11 Shift bits karapatan
25 0; Exit (at drop) kung
TOS ay 0
26 1+ pagdaragdag TOS ng 1
27 1- TOS ng pagbawas ng 1
28 IN Basahin ang isang port
29 OUT Store sa isang port
30 WAIT Maghintay para sa isang base port-
humiling upang matapos
Kung ang isang hindi suportadong opcode ay nakaranas, ang interal IP register ay nakatakda sa
ang dulo ng memory. Pagpapatupad ng code sa imahe ay tumigil kapag nangyari ito.
Gumawa ng ilang mga tagubilin ng paggamit ng isang sa mga sumusunod na cell na naglalaman ng mga address o
values. Ang mga ito ay:
1 naiilawan
7 CALL
8 JUMP
10> jump
11
Ano ang bago sa release na ito.
- Ang bersyon na ito Pinagsasama-update na mga bersyon ng lahat ng pagpapatupad at malaki-update babasahin
- May mga ngayon 14 pagpapatupad nakasulat sa Python, Ruby, Perl, Karaniwang pagkabulol, x86 Assembly, ANs balik, JavaScript, Retro, Lua, Java, C, C #, F #, at Go.
Mga Komento hindi natagpuan