Ngaro একটি ডুয়াল স্ট্যাক আর্কিটেকচারের জন্য একটি পোর্টেবল ভার্চুয়াল মেশিন. নির্দেশ সেট মূলত ঘোষণা একটি উপসেট. অন্তর্নিহিত অপারেটিং সিস্টেমের সাথে যোগাযোগ করার জন্য তার ক্ষমতা সীমিত যদিও, এটা প্রোগ্রামের বিভিন্ন লেখা এবং এটি চালানো করার অনুমতি যথেষ্ট হওয়া উচিত.
প্যাকেজ কিছু মৌলিক ডকুমেন্টেশন, পুরো সোর্স কোড, মেশিন ঘোষণা কম্পাইলার, এবং কয়েকটি ছোট উদাহরণ অন্তর্ভুক্ত করা হয়েছে.
ব্যবহার:
./ngaro imagename
নির্দেশ সেট, minimalistic রাখা হয়. নির্দেশাবলীর সঠিক সেট
মাঝে মাঝে পরিবর্তন, কিন্তু নিম্নলিখিত তালিকায় সম্পর্কে একটি জন্য স্থিতিশীল হয়েছে
বছর. (গত তিন, পোর্ট-বেসড ইনপুট / আউটপুট মডেল সঙ্গে আচরণ, নতুন)
0 NOP কিছুই না
1 মাতাল স্ট্যাক নিম্নলিখিত কক্ষে মান পুশ
2 DUP ডুপ্লিকেট শীর্ষ
স্ট্যাক আইটেমটি
3 ড্রপ শীর্ষ আইটেম
স্ট্যাক
4 সোয়াপ এক্সচেঞ্জ শীর্ষ দুই
স্ট্যাক আইটেম
5 ধাক্কা শীর্ষ আইটেম পুশ
স্ট্যাকের
ঠিকানা স্ট্যাক, ড্রপ
পরিষেবার শর্তাবলীর
6 পপ উপরের আইটেম পপ
ঠিকানা বন্ধ গাদা
এবং এটা করা
তথ্য স্ট্যাক
7 কল কল গ্রাস
নিম্নলিখিত আক্ষরিক
অনুরূপ
ঠিকানায় 8 তিড়িং লাফ ঝাঁপ দাও
তদনুযায়ী
আক্ষরিক অনুরূপ
থেকে
9; আহ্বানকারী ফিরে,
কল সঙ্গে ব্যবহার
10> শর্তাধীন তিড়িং লাফ ঝাঁপ দাও. এটা
TOS এবং টি তুলনা করা হয়.
11 শিফট বিট অধিকার
25 0; প্রস্থান (এবং ড্রপ) যদি
পরিষেবার শর্তাবলীর 0
1 26 1 + বর্ধিত পরিষেবার শর্তাবলীর
1 27 1 হ্রাস পরিষেবার শর্তাবলীর
28 একটি পোর্ট পড়ুন
একটি পোর্টের 29 আউট স্টোর বা দোকান
একটি পোর্ট-বেসড জন্য 30 অপেক্ষা করুন অপেক্ষা
শেষ অনুরোধ
একটি অসমর্থিত opcode সম্মুখীন হয়, interal আইপি নিবন্ধন সেট করা হয়
মেমরি শেষ. যখন এরকম ইমেজ কোড সঞ্চালনের থেমে যাবে.
কয়েক নির্দেশাবলী একটি নিম্নলিখিত সেল ব্যবহার ঠিকানা থাকে না বা
মান. এগুলো:
1 মাতাল
7 কল
8 ঝাঁপ দাও
10> লাফ
11
এই রিলিজে নতুন কি:.
- এই সংস্করণ সব বাস্তবায়নের সংস্করণ এবং যথেষ্ট আপডেট ডকুমেন্টেশন আপডেট এনেছে লি>
<লি> পাইথন, রুবি, পার্ল, প্রচলিত করতে ব্যর্থ, x86- সমাবেশ লেখা 14 বাস্তবায়নের এখন আছে, ঘোষণা দয়া করে জাভাস্ক্রিপ্ট, বিপরীতমুখী, Lua, জাভা, সি, সি #, এফ # উত্তর এবং যান.
পাওয়া মন্তব্যসমূহ না