ঐটা মেশিনে হার্ডকোডেড ছিলো।
প্রথমদিকের কম্পিউটারে কার্ড পাঞ্চ করে ইনস্ট্রাকশন দেওয়া হতো। কার্ডে ফুটা / ফুটা না এর দ্বারা বাইনারী ডাটা ইনপুট দেওয়া যেতো। তারপরে আস্তে আস্তে মেশিন ল্যাঙ্গুয়েজ, এটা ইউজ করে এসেম্বলি, এসেম্বলি ইউজ করে সি।এভাবে আগের জেনারেশন এর ল্যাঙ্গুয়েজ ব্যাবহার করে পরেরগুলা তৈরি হয়েছে।
ধরা যাক নতুন কোন অর্কিটেকচার বা ইন্স্ট্রাকশন সেট এর প্রসেসর আসলো, তাহলে প্রথমে যে কাজ করা হয় তা হচ্ছে সেই আর্কিটেকচার এর জন্য এসেম্বলার তৈরি করা, যা এসেম্বলি ল্যানগুয়েজকে সেই প্রসেসরের ইন্স্ট্রাকশন সেট অনুযায়ী বাইনারি কোডে পরিবর্তন করে এক্সিকিউট করতে পারবে।
দ্বিতীয় স্টেপে সেই এসেম্বলি ল্যানগুয়েজের জন্য কম্পাইলার তৈরি করা হয় যা কোন হাইলেভেল ল্যাঙ্গুয়েজকে এসেম্বলি কোডে পরিবর্তন করতে পারবে। যেমন C কম্পাইলার যদি লেখা হয় সেটা যেকোন C ল্যাঙ্গুয়েজ কে এসেম্বলি কোডে কনভার্ট করতে পারবে তারপর এসেম্বলার সেটাকে বাইনারি কোডে কনভার্ট করে সেই প্রসেসরে চলতে পারবে। তাহলে যেটা হবে, এখন যত এপ্লিকেশন C তে লেখা আছে তার সবই সেই নতুন প্রসেসরে চলবে।
কোন প্রসেসর বানালে সেটি শুধুমাত্র বাইনারি কোড বুঝতে পরে অর্থাৎ শুধু 0 আর ১ মানে পাওয়ার আছে পাওয়ার নেই। এভাবে প্রসেসরের প্রতিটা পিনে পাওয়ার অন অফ করে করে ইন্স্ট্রকশন দিয়ে কাজ করানো হয়। কিন্তু এভাবে ০/১ দিয়ে কোড লেখা প্রায় অসম্ভব। তাই ছোট কিছু ইন্স্ট্রকশন লেখা হয় যাকে বলা হয় এসেম্বলি লেঙ্গুয়েজ যেমন: ADD 1 5 অর্থাৎ ১ আর ৫ যোগ কর। প্রসেসরের জন এসেম্বলার লেখা হয় যেটা এই ইন্স্ট্রাকশনকে বাইনারি কোডে কনভার্ট করে প্রসেসরে পাঠায়। তারপর প্রসেসর ১ আর ৫ যোগ করে। এখন এসেম্বলি ভাষায় কোড লেখা কিছুটা সহজ, কিন্তু সেটা দিয়েও বড় কোড লেখা প্রায় অসম্ভব। তাই কোড লেখার কাজকে আরও সহজ করার জন্য কম্পাইলার লেখা হয় যা C/C++ এর মত হায় লেভেল লেঙ্গুয়েজ কে এসেম্বলিতে কনভার্ট করতে পারে।
প্রথম যখন প্রসেসর বানানো হয় তখন প্রথমে সুইচ চেপে বাইনারী ইনপুট দিয়েই কাজ করা হতো, তারপর এই বাইনারি দিয়ে এসেম্বলার বানানো হয়, তারপর এসেম্বলি ইন্স্ট্রাকশন পাঞ্চ কার্ড দিয়ে দেওয়া হতো। তারপর এই এসেম্বলার দিয়ে কম্পাইলার বানানো হয় যা হায় লেভেল ভাষাকে কম্পাইল করে এসেম্বলিতে কনভার্ট করতে পরে। এভাবেই ধাপে ধাপে প্রোগ্রামিং এসেছে।
#collected