আমি কিছু গেম কোড চালানোর জন্য একটি ভার্চুয়াল মেশিনটিকে প্ল্যাটফর্মের স্বতন্ত্র উপায় হিসাবে তৈরি করতে চাইছি (মূলত স্ক্রিপ্টিং)।
গেমগুলিতে আমি যে ভার্চুয়াল মেশিনগুলি সম্পর্কে সচেতন সেগুলি বরং এটি পুরানো: ইনফোকমের জেড-মেশিন , লুকাশাস্তা'র এসসিইউএমএম , আইডি সফটওয়্যারটির ভূমিকম্প 3 । । নেট বিকাশকারী হিসাবে, আমি সিএলআরের সাথে পরিচিত এবং আপনি ভিএম স্তরে (বনাম ভাষা স্তর) আসলে কী প্রয়োগ করেন সে সম্পর্কে একটি সংক্ষিপ্তসার পেতে সিআইএল নির্দেশাবলীর দিকে নজর রেখেছি । আমি গত বছরে 6502 এসেম্ব্লারকেও কিছুটা ছুঁড়েছি ।
জিনিসটি হ'ল, এখন যেহেতু আমি একটি বাস্তবায়ন করতে চাই, আমাকে কিছুটা গভীর খনন করতে হবে। আমি জানি যে ভিত্তিক ভিএমগুলি স্ট্যাক ভিত্তিক এবং নিবন্ধভুক্ত রয়েছে, তবে কোনটি কোনটিতে ভাল এবং কোনটি আরও বা হাইব্রিড পদ্ধতির সাথে থাকলে তা সত্যই আমি জানি না। আমাকে মেমরি পরিচালনার সাথে ডিল করতে হবে, কোন নিম্ন স্তরের প্রকারগুলি ভিএম এর একটি অংশ তা সিদ্ধান্ত নিতে হবে এবং কেন ldstr এর মতো স্টাফগুলি সেভাবে কাজ করে তা বুঝতে হবে।
আমার একমাত্র রেফারেন্স বই (জেড-মেশিনের জিনিসগুলি বাদে) সিএলআই অ্যানোটেটেড স্ট্যান্ডার্ড , তবে আমি ভাবছি ভিএমএসের জন্য আরও ভাল, আরও সাধারণ / মৌলিক বক্তৃতা আছে কিনা? মূলত ড্রাগন বুকের মতো কিছু , তবে ভিএমদের জন্য? আমি ডোনাল্ড নুথের আর্ট অফ কম্পিউটার প্রোগ্রামিং সম্পর্কে অবগত যা একটি রেজিস্টার-ভিত্তিক ভিএম ব্যবহার করে তবে আমি এখনও নিশ্চিত নই যে এই সিরিজটি এখনও কতটা প্রযোজ্য, বিশেষত যেহেতু এটি এখনও অসম্পূর্ণ?
স্পষ্টকরণ: লক্ষ্যটি একটি বিশেষায়িত ভিএম তৈরি করা। উদাহরণস্বরূপ, ইনফোকমের জেড-মেশিনে ব্যাকগ্রাউন্ড কালার সেট করতে বা একটি শব্দ বাজানোর জন্য ওপকোড রয়েছে। সুতরাং আমাকে ওপিসোড বনাম হিসাবে একটি ভিএম এর মধ্যে কতটা যায় তা নির্ধারণ করা দরকার the সংকলক যা একটি স্ক্রিপ্ট নেয় (ভাষা টিবিডি) এবং এটি থেকে বাইকোড উত্পন্ন করে, তবে তার জন্য আমি বুঝতে পারি যে আমি আসলে কী করছি।
¹ আমি জানি, আধুনিক প্রযুক্তি আমাকে উড়ে যাওয়ার জন্য একটি উচ্চ স্তরের স্ক্রিপ্টিং ভাষার ব্যাখ্যার অনুমতি দেয়। তবে তাতে মজা কোথায়? :) গুগল করাও কিছুটা কঠিন কারণ ভার্চুয়াল মেশিনগুলি আজকাল প্রায়শই ভিএমওয়্যার-টাইপ ওএস ভার্চুয়ালাইজেশনের সাথে সম্পর্কিত ...
do { switch(opcode) {case OP1: ... case OP2: ...} while (nextop);
তারপরে সম্ভবত একটি সংকলক ... এবং তারপরে মজা শুরু হয় - এটিকে বাস্তবে কাজ করতে
Quake 3
ভার্চুয়াল মেশিন ঠিক কেমন ?