HeadlinesBriefing favicon HeadlinesBriefing.com

x86 অনির্দিষ্ট নির্দেশ ud2 কেন নামকরণ করা হয়েছে?

Hacker News •
×

ud2 নির্দেশটি x86-এ একটি আর্কিটেকচারালভাবে অনির্দিষ্ট অপকোড যা বিশ্বস্তভাবে একটি "অবৈধ অপকোড" এক্সেপশন উত্পন্ন করে। কম্পাইলাররা এটি "অপ্রাপ্য" কোড চিহ্নিত করতে ব্যবহার করে, যাতে এক্সিকিউশন যদি কখনো সেখানে পৌঁছায় তবে ক্র্যাশ হয়। মূলত কোনো অফিসিয়াল অনির্দিষ্ট নির্দেশ ছিল না, তাই প্রোগ্রামাররা 0F FF বা 0F B9 এর মতো বাইট সিকোয়েন্সের উপর নির্ভর করত এক্সেপশন ট্রিগার করার জন্য। এই সিকোয়েন্সগুলো অভ্যন্তরীণভাবে দুটি অনব্যবহৃত প্যারামিটারসহ নির্দেশ হিসেবে ডিকোড হত। যখন Intel পরিবর্তন আনায় যা 0F FF-কে ভাঙে দিল, তখন সেটিতে নির্ভরশীল সফ্টওয়্যারها ব্যর্থ হয়ে গেল, যা হাইরামের নিয়মকে চিত্রিত করে। একটি স্থিতিশীল সমাধান প্রদানের জন্য, Intel অফিসিয়ালি ud2 তৈরি করল এবং পুরনো ভেরিয়েন্টগুলোকে rückwirkendভাবে ud0 এবং ud1 নামে নামকরণ করল। এর পূর্ববর্তীদের বিপরীতে, ud2 একটি পরিষ্কার দু-বাইট নির্দেশ যাতে কোনো প্যারামিটার নেই, যা ডিকোডিং সমস্যা এড়িয়ে চলে যা অপ্রত্যাশিত অ্যাক্সেস ভায়োলেশন বরং অবৈধ অপকোড এক্সেপশন সৃষ্টি করতে পারে। এটি ud2-কে ইচ্ছাকৃত ক্র্যাশ ট্রিগার করার জন্য সुसঙ্গত এবং সুপারিশকৃত পছন্দ করে তোলে।

নামকরণই ইতিহাসকে প্রতিফলিত করে: 0F FF হল ud0, 0F B9 হল ud1, এবং নতুন অফিসিয়াল নির্দেশটির নাম রাখা হল ud2ud2-র মূল সুবিধা হল এর আর্কিটেকচারাল গ্যারান্টি, যা মেমরি পেজের উপস্থিতি বা প্রসেসর ইমপ্লিমেন্টেশন ডিটেইলস নির্বিশেষে পূর্বানুমানযোগ্য আচরণ নিশ্চিত করে।