আমি আপনার প্রশ্নটি অক্ষরে অক্ষরে নেব এবং বেশিরভাগ মাইক্রোপ্রসেসরগুলি নিয়ে আলোচনা করব, কম্পিউটারগুলি সাধারণভাবে নয়।
সমস্ত কম্পিউটারে কিছু মেশিন কোড থাকে। একটি নির্দেশনায় একটি অপকোড এবং এক বা একাধিক অপারেশন থাকে। উদাহরণস্বরূপ, ইন্টেল 4004 (প্রথম মাইক্রোপ্রসেসর) এর জন্য এডিডি নির্দেশনাটি 1000RRRR হিসাবে এনকোড করা হয়েছিল যেখানে 1000 এডিডি-র জন্য অপকড এবং আরআরআরআর একটি রেজিস্টার নম্বর উপস্থাপন করে।
মেশিনের ভাষায় একটি প্রোগ্রাম তৈরি করতে প্রথম কম্পিউটার প্রোগ্রামগুলি হাতে লেখা, 1 এবং 0 এর হাতে এনকোডিং ছিল। এটি তখন চিপে প্রোগ্রাম করা হয়। প্রথম মাইক্রোপ্রসেসরগুলি রম ব্যবহার করে (কেবল পঠনযোগ্য মেমরি); এটি পরে EPROM (Erasable প্রোগ্রামেবল রম, যা ইউভি আলো দিয়ে মুছে ফেলা হয়েছিল) দ্বারা প্রতিস্থাপিত হয়েছিল ; এখন প্রোগ্রামগুলি সাধারণত EEPROM ( "বৈদ্যুতিন ...- EPROM" , যা অন-চিপ মোছা যায়) বা বিশেষত ফ্ল্যাশ মেমরির মধ্যে প্রোগ্রাম করা হয়।
বেশিরভাগ মাইক্রোপ্রসেসরগুলি এখন র্যামের বাইরে প্রোগ্রামগুলি চালাতে পারে (এটি মাইক্রোকন্ট্রোলার ব্যতীত সকল কিছুর জন্য বেশ মানক) তবে প্রথমে র্যামে প্রোগ্রামটি লোড করার একটি উপায় থাকতে হবে। জবি টাফি তার উত্তরে ইঙ্গিত করার সাথে সাথে এটি আল্টায়ার ৮০৮০ এর জন্য টগল সুইচ দিয়ে করা হয়েছিল, এটি একটি ইন্টেল ৮০৮০ (যা ৪০০৪ এবং ৮০০৮ অনুসরণ করেছে) দ্বারা চালিত হয়েছিল। আপনার পিসি, সেখানে বলা রম একটি বিট বায়োস যা কম্পিউটার শুরু, এবং র্যাম মধ্যে ওএস লোড করতে ব্যবহৃত হয়।
মেশিনের ভাষা ক্লান্তিকর সত্যিকারের দ্রুত হয়ে যায়, সুতরাং এসেম্বলারের প্রোগ্রামগুলি তৈরি করা হয়েছিল যা একটি স্মৃতিচারণী একত্রিত ভাষা গ্রহণ করে এবং এটি সাধারণত নির্দেশ অনুসারে অ্যাসেম্বলি কোডের একটি লাইন মেশিন কোডে অনুবাদ করে। সুতরাং 10000001 এর পরিবর্তে, কেউ এডিডি আর 1 লিখবে।
তবে প্রথম অ্যাসেমব্লার মেশিন কোডে লিখতে হয়েছিল। তারপরে এটি নিজস্ব এসেম্বলারের কোডটিতে আবারও লেখা যেতে পারে এবং মেশিন-ভাষা সংস্করণটি এটি প্রথমবার সংহত করার জন্য ব্যবহৃত হত। এর পরে, প্রোগ্রামটি নিজেই একত্র হতে পারত। এটিকে বুটস্ট্র্যাপিং বলা হয় এবং এটি সংকলকগুলির সাথেও সম্পন্ন হয় - এগুলি সাধারণত প্রথমে এসেম্বলারের (বা অন্য কোনও উচ্চ-স্তরের ভাষা) লেখা হয় এবং তারপরে তাদের নিজস্ব ভাষায় পুনরায় লেখা হয় এবং সংকলক নিজেই সংকলন না করা পর্যন্ত মূল সংকলক সহ সংকলিত হয়।
যেহেতু প্রথম মাইক্রোপ্রসেসরটি মাইনফ্রেমস এবং মিনিকম্পিউটারগুলি প্রায় ছিল তার অনেক পরে তৈরি করা হয়েছিল, এবং 4004 যেভাবেই কোনও এসেমব্লার চালানোর পক্ষে উপযুক্ত ছিল না, তাই ইন্টেল সম্ভবত একটি ক্রস-এসেমব্লার লিখেছিল যা তার বড় কম্পিউটারগুলির মধ্যে একটিতে চলেছিল এবং এসেম্বলি কোডটি অনুবাদ করেছিল 4004 একটি বাইনারি চিত্র যা রম এর মধ্যে প্রোগ্রাম করা যেতে পারে into আবার, এটি একটি সাধারণ কৌশল যা একটি নতুন প্ল্যাটফর্মের (যা ক্রস-সংকলন বলে ) সংকলকগুলি বন্দর করতে ব্যবহৃত হয় ।