যদি আপনার কোনও প্রসেসরের নির্দেশের সেটটি একবার দেখে থাকে তবে সেগুলি গ্রুপ করার বিভিন্ন উপায় রয়েছে। উদাহরণস্বরূপ, সমস্ত ADD
নির্দেশাবলী একত্রে এবং সমস্ত XOR
নির্দেশাবলী একত্রে গ্রুপিত করা যেতে পারে ।
একই নির্দেশিকার প্রতিটি গ্রুপের মধ্যে, এমন সংস্করণ থাকতে পারে যা মেমরি বা রেজিস্টারগুলিতে কাজ করে। এটি এই উপ-গোষ্ঠীকরণ যা প্রসেসরের যে রেজিস্টারগুলি কার্যকরভাবে সংজ্ঞা দেয়।
একটি 8-বিট অনুমানমূলক উদাহরণ হিসাবে, আসুন আমরা $Ax
নির্দেশাবলী নির্দেশাবলী হতে পারে এবং ADD
নির্দেশাবলী $Cx
হতে পারে XOR
। এই নকশাটি দিয়ে অপারেন্ডগুলি সংজ্ঞায়িত করতে কেবল চারটি বিট বাকি রয়েছে!
- একজনের কেবলমাত্র চারটি সাধারণ উদ্দেশ্যে রেজিস্টার থাকতে পারে এবং একটি সংজ্ঞায়িত করতে দুটি বিট এবং অন্যটিকে সংজ্ঞায়িত করতে দুটি বিট ব্যবহার করতে পারেন।
- অথবা, কেউ "বিবিধ" বৈকল্পিকগুলির মধ্যে পার্থক্য করার জন্য প্রথম বিট ব্যবহার করতে পারে এবং অন্য 3 টি বিট সংযোজকটির সাথে পরিচালিত আটটি রেজিস্ট্রারের মধ্যে কোনটি নির্ধারণ
$x0
করতে পারে ( নিজেই সঞ্চালক হতে পারে)।
- অথবা, একজনের এই সংখ্যার চেয়ে বেশি রেজিস্টার থাকতে পারে - তবে কোন রেজিস্ট্রারগুলি সীমাবদ্ধ তা সীমাবদ্ধ করুন limit
অবশ্যই, আমরা অতীতে 8-বিট নির্দেশিকা সেট করেছি। তবে তবুও, এই যুক্তিটি অতীতে নিবন্ধগুলি নির্ধারণ করতে সহায়তা করেছিল - এটি ভবিষ্যতে এটি চালিয়ে যেতে থাকবে।
সম্পাদনা (অনুরোধ হিসাবে)
শীর্ষ চার বিট নির্দেশ জন্য বলুন, ADD
, SUB
, XOR
, MOV
, CMP
ইত্যাদি 16 সম্ভাবনার এখানে আছে। তারপরে, সেই নির্দেশাবলীর জন্য যেখানে নিবন্ধভুক্ত-নিবন্ধনটি বোঝায় (উদাহরণস্বরূপ ADD Rx,Ry
), আপনাকে নির্দিষ্ট করতে হবে Rx
এবং Ry
। আগামী দুই বিট জন্য বলুন x
, এবং শেষ দুই জন্য হয় y
। এভাবে:
ADD R1, R2 => 'ADD' + 'R1' + 'R2' => $A0 + $04 + $02
এই যেমন একটি রেজিস্টার সংজ্ঞায়িত করার জন্য মাত্র দুটি বিট, আপনার কাছে মোট চারটি নিবন্ধকের জন্য জায়গা রয়েছে!
একদিকে যেমন, আপনি খেয়াল করবেন যে কিছু নিবন্ধের সংমিশ্রণগুলি অর্থবোধ করে না। উদাহরণস্বরূপ, MOV Rx, Rx
(কিছুই করে না) এবং SUB Rx, Rx
(সর্বদা উত্পাদন করে 0
)। এগুলি বিশেষ ক্ষেত্রে নির্দেশাবলী হয়ে উঠতে পারে:
SUB Rx, Rx
হয়ে উঠতে পারে NOT Rx
- একক অপারেন্ড নির্দেশ।
MOV Rx, Rx
এমন MOV
নির্দেশে পরিণত হতে পারে যা তাত্ক্ষণিক মান হিসাবে দ্বিতীয় বাইট নেয়, হিসাবে ব্যাখ্যা করা MOV Rx, #$yy
।
প্রোগ্রামারারের জন্য বৃহত্তর নির্দেশের সেট সরবরাহের জন্য আপনি অন্যথায়-অকেজো বা অ-সংবেদনশীল নির্দেশাবলীর জন্য গর্ত পূরণ করে, নির্দেশের মানচিত্রটি দিয়ে "খেলতে" পারেন can তবে শেষ পর্যন্ত নির্দেশিকাটি রেজিস্টার সেটটিকে সংজ্ঞায়িত করে।