কী পার্থক্য - মেশিন ভাষা বনাম অ্যাসেম্বলি ভাষা
প্রোগ্রামিং ল্যাঙ্গুয়েজ মানুষকে কম্পিউটারের কাজ সম্পাদনের জন্য নির্দেশনা তৈরি করতে দেয়। প্রোগ্রামিং ভাষার তিনটি বিভাগ রয়েছে যেমন উচ্চ-স্তরের প্রোগ্রামিং ভাষা, সমাবেশ ভাষা এবং মেশিন ভাষা। উচ্চ-স্তরের প্রোগ্রামিং ভাষা মানুষের পক্ষে বোঝা সহজ। কম্পিউটার দ্বারা স্বীকৃত ভাষা মেশিন ভাষা হিসাবে পরিচিত। সমাবেশ ভাষা উচ্চ-স্তরের ভাষা এবং মেশিন ভাষার মধ্যে ভাষা। মেশিন ল্যাংগুয়েজ এবং অ্যাসেম্বলি ল্যাঙ্গুয়েজের মধ্যে মূল পার্থক্য হল, মেশিন ল্যাঙ্গুয়েজ সরাসরি কম্পিউটারের মাধ্যমে এক্সিকিউট করে এবং অ্যাসেম্বলি ল্যাঙ্গুয়েজ সিপিইউ দ্বারা এক্সিকিউট করার জন্য মেশিন কোড বা অবজেক্ট কোডে কনভার্ট করার জন্য অ্যাসেম্বলারের প্রয়োজন।
মেশিন ল্যাঙ্গুয়েজ কি?
মানুষ উচ্চ-স্তরের প্রোগ্রামিং ভাষা বুঝতে পারে। উচ্চ-স্তরের ভাষা ব্যবহার করে প্রোগ্রাম করার জন্য অভ্যন্তরীণ সিপিইউ সম্পর্কে গভীর বোঝার প্রয়োজন নেই। তারা ইংরেজি ভাষার অনুরূপ একটি সিনট্যাক্স অনুসরণ করে। Java, C, C++, Python হল কিছু উচ্চ-স্তরের প্রোগ্রামিং ভাষা। একটি কম্পিউটার মেশিন ভাষা চিনতে পারে কিন্তু উচ্চ-স্তরের ভাষা বুঝতে পারে না। অতএব, সেই প্রোগ্রামগুলিকে কম্পিউটার বোধগম্য মেশিন ভাষায় রূপান্তর করা উচিত। এই অনুবাদটি একটি কম্পাইলার বা একটি দোভাষী ব্যবহার করে করা হয়েছে৷
চিত্র 01: জিরোস এবং ওয়ানের মেশিন ল্যাঙ্গুয়েজ।
একটি মেশিন ল্যাঙ্গুয়েজ বাইনারি ডিজিট নিয়ে গঠিত যা শূন্য এবং একবার। একটি কম্পিউটার একটি ডিজিটাল ইলেকট্রনিক ডিভাইস, তাই এটি অপারেশনের জন্য বাইনারি ব্যবহার করে। একটি সত্য অবস্থা / চালু অবস্থা নির্দেশ করে যখন শূন্য মিথ্যা রাষ্ট্র / বন্ধ অবস্থা নির্দেশ করে। একটি প্রোগ্রামকে হাই-লেভেল ল্যাঙ্গুয়েজ থেকে মেশিন ল্যাঙ্গুয়েজে রূপান্তর করার উপায় নির্ভর করে CPU এর উপর।
সভার ভাষা কি?
সমাবেশ ভাষা উচ্চ-স্তরের প্রোগ্রামিং ভাষা এবং মেশিন ভাষার মধ্যে মধ্যবর্তী ভাষা। এটি মেশিন ভাষার এক স্তরের উপরে। অ্যাসেম্বলি ল্যাঙ্গুয়েজ মেশিন ল্যাংগুয়েজ থেকে বোঝা সহজ কিন্তু হাই-লেভেল প্রোগ্রামিং ল্যাঙ্গুয়েজ থেকে কঠিন। এই ভাষাটি নিম্ন-স্তরের ভাষা হিসাবেও পরিচিত কারণ এটি হার্ডওয়্যার স্তরের কাছাকাছি। অ্যাসেম্বলি ব্যবহার করে কার্যকর প্রোগ্রাম লেখার জন্য, প্রোগ্রামারকে কম্পিউটারের আর্কিটেকচার এবং রেজিস্টার কাঠামো সম্পর্কে ভালো ধারণা থাকতে হবে।অ্যাসেম্বলার নামে পরিচিত একটি বিশেষ কম্পাইলার ব্যবহার করা হয় সমাবেশের ভাষা নির্দেশাবলীকে মেশিন কোড বা অবজেক্ট কোডে রূপান্তর করতে।
সমাবেশের ভাষা বিবৃতিতে চারটি বিভাগ রয়েছে। তারা একটি লেবেল, স্মৃতি, অপারেন্ড, মন্তব্য। লেবেল এবং মন্তব্য ঐচ্ছিক. নিমোনিক হল নির্দেশ চালানোর নির্দেশ এবং অপারেন্ড হল কমান্ডের পরামিতি। সমাবেশ ভাষা ম্যাক্রো সমর্থন করে। একটি ম্যাক্রো একটি নাম সহ নির্দেশাবলীর সেট হিসাবে সংজ্ঞায়িত করা যেতে পারে। এটি প্রোগ্রামের অন্য কোথাও ব্যবহার করা যেতে পারে৷
এসম্বলি ভাষার বিবৃতির কিছু উদাহরণ নিম্নরূপ।
MOV SUM, 50 – এই নির্দেশনা, SUM-এর মান 50 কপি করে।
ADD VALUE1, 20 – এটি VALUE1 ভেরিয়েবলের সাথে 20 যোগ করতে হবে
ADD AH, BH – এই নির্দেশনা হল AH রেজিস্টারের বিষয়বস্তু BH রেজিস্টারে অনুলিপি করা।
INC কাউন্ট - এটি একটি পরিবর্তনশীল COUNT বৃদ্ধি করতে।
এবং VALUE1, 100 - এটি ভেরিয়েবল VALUE1 এবং 100-এ সঞ্চালন এবং অপারেশন করতে হয়৷
MOV AL, 20 – এটি হল মান 20 কে AL রেজিস্টারে কপি করতে
চিত্র 02: সমাবেশের ভাষা ব্যবহার করে লেখা একটি প্রোগ্রাম
অ্যাসেম্বলি স্টেটমেন্টের সেট একটি অ্যাসেম্বলি প্রোগ্রাম। এটি দেখা যায় যে সমাবেশের ভাষা মেশিন ভাষার চেয়ে সহজ। এটি ইংরেজি ভাষার অনুরূপ একটি সিনট্যাক্স আছে। অ্যাসেম্বলি ভাষায় প্রায় ত্রিশটি নির্দেশ রয়েছে। প্রয়োজনীয় মেমরি এবং কার্যকর করার সময় উচ্চ-স্তরের ভাষার তুলনায় সর্বনিম্ন।
রিয়েল-টাইম সিস্টেমে, এমন ইভেন্ট হতে পারে যার জন্য অবিলম্বে CPU অ্যাকশন প্রয়োজন। এই ইভেন্টগুলিকে ইন্টারাপ্ট সার্ভিস রুটিন (ISR) বলা হয় বিশেষ সাবরুটিন। অ্যাসেম্বলি ল্যাঙ্গুয়েজ আইএসআর প্রোগ্রামিংয়ের জন্য উপযোগী।
মেশিন ল্যাংগুয়েজ এবং অ্যাসেম্বলি ল্যাঙ্গুয়েজের মধ্যে মিল কী?
মেশিন ভাষা এবং সমাবেশ ভাষা উভয়ই হার্ডওয়্যার স্তরের সাথে সম্পর্কিত৷
মেশিন ল্যাঙ্গুয়েজ এবং অ্যাসেম্বলি ভাষার মধ্যে পার্থক্য কী?
মেশিন ল্যাঙ্গুয়েজ বনাম অ্যাসেম্বলি ল্যাঙ্গুয়েজ |
|
মেশিন ভাষা হল সর্বনিম্ন স্তরের প্রোগ্রামিং ভাষা যেখানে নির্দেশাবলী সরাসরি সিপিইউ দ্বারা কার্যকর হয়। | অ্যাসেম্বলি ভাষা হল একটি নিম্ন-স্তরের প্রোগ্রামিং ভাষা যা মেশিন কোড/অবজেক্ট কোডে রূপান্তর করতে একজন অ্যাসেম্বলারের প্রয়োজন হয়। |
বোধগম্যতা | |
মেশিন ল্যাঙ্গুয়েজ শুধুমাত্র কম্পিউটারে বোধগম্য। | সমাবেশের ভাষা মানুষের পক্ষে বোধগম্য৷ |
সিনট্যাক্স | |
একটি মেশিন ল্যাঙ্গুয়েজ বাইনারি ডিজিট নিয়ে গঠিত। | সমাবেশের ভাষা ইংরেজি ভাষার অনুরূপ একটি সিনট্যাক্স অনুসরণ করে। |
নির্ভরতা | |
প্ল্যাটফর্মের উপর নির্ভর করে মেশিনের ভাষা পরিবর্তিত হয়। | সমাবেশের ভাষা নির্দেশাবলীর একটি আদর্শ সেট নিয়ে গঠিত। |
আবেদন | |
মেশিন ভাষা হচ্ছে মেশিন কোড। | অ্যাসেম্বলি ভাষা মাইক্রোপ্রসেসর-ভিত্তিক, রিয়েল-টাইম সিস্টেমের জন্য ব্যবহার করা হচ্ছে। |
সারাংশ – মেশিন ভাষা বনাম অ্যাসেম্বলি ভাষা
মেশিন ল্যাংগুয়েজ এবং অ্যাসেম্বলি ল্যাঙ্গুয়েজের মধ্যে পার্থক্য হল যে মেশিন ল্যাঙ্গুয়েজ সরাসরি কম্পিউটার দ্বারা এক্সিকিউট করা হয় এবং অ্যাসেম্বলি ল্যাঙ্গুয়েজ হল একটি নিম্ন-স্তরের প্রোগ্রামিং ল্যাঙ্গুয়েজ যার জন্য একজন অ্যাসেম্বলারকে অবজেক্ট কোড বা মেশিন কোডে রূপান্তর করতে হয়।অ্যাসেম্বলি ল্যাংগুয়েজ মেশিন ল্যাঙ্গুয়েজ থেকে এক ধাপ এগিয়ে। অ্যাসেম্বলি ভাষা মাইক্রোকন্ট্রোলার ভিত্তিক সিস্টেম প্রোগ্রাম করার জন্য একটি আদর্শ ভাষা। এই ভাষাটি সিপিইউ কীভাবে কাজ করছে এবং কম্পিউটারের অভ্যন্তরীণ উপাদানগুলি সম্পর্কে একটি ভাল ধারণা দেয়৷
মেশিন ল্যাঙ্গুয়েজ বনাম অ্যাসেম্বলি ল্যাঙ্গুয়েজের PDF ভার্সন ডাউনলোড করুন
আপনি এই নিবন্ধটির PDF সংস্করণ ডাউনলোড করতে পারেন এবং উদ্ধৃতি নোট অনুসারে অফলাইন উদ্দেশ্যে এটি ব্যবহার করতে পারেন। অনুগ্রহ করে এখানে পিডিএফ সংস্করণ ডাউনলোড করুন মেশিন ভাষা এবং সমাবেশ ভাষার মধ্যে পার্থক্য
ছবি সৌজন্যে:
1.’মেশিন ল্যাঙ্গুয়েজ’By Turkei89 – নিজস্ব কাজ, (CC BY-SA 3.0) Commons Wikimedia এর মাধ্যমে
2.’Zstr গণনা x86 সমাবেশ’ OldCodger2 দ্বারা, (পাবলিক ডোমেন) কমন্স উইকিমিডিয়ার মাধ্যমে