প্রোগ্রামিং ভাষা →পাট-৫
ক্ষুদ্র লেখক।
বিষয়ঃ♦নিম্নস্তরের অ্যাসেম্বলি ভাষা।
অ্যাসেম্বলি ভাষা (Assemble Language)
যে ভাষার সাহায্যে বিভিন্ন ধরনের সংকেত বা নেমোনিক কোড ব্যবহার করে যে প্রোগ্রাম রচনা করা হয় তাকে অ্যাসেম্বলি ভাষা বলে। এই ভাষা সাংকেতিক ভাষাও বলা হয়।এই ভাষার ক্ষেত্রে নির্দেশ ও তথ্যের অ্যাড্রেস বাইনারি বা হেক্সাডেসিমেল সংখ্যার সাহায্যে না দিয়ে সংকেতের সাহায্য দেয়া হয়।
এ সংকেতকে বলা হয় সাংকেতিক বা নেমোনিক কোড। নেমোনিক এর সাহায্যে কোন বড় সংখ্যা বা কথাকে সহজে মনে রাখা যায়। যথা Load Accumulator এর নেমোনিক হচ্ছে LDA অর্থাৎ অ্যাকিউমুলেটরে রাখা।
♦অ্যাসেম্বলি ভাষার সম্পূর্ন নির্দেশ নিচে আলোচনা করা হলোঃ
১,লেবেল ফিল্ড (Level Field)
২,অপকোড (Opcode)
৩,অপারেন্ড (Oparend)
৪,মন্তব্য (Command)
অপকোড ফিল্ড ছাড়া অন্য ফিল্ডগুলো সব সময় ব্যবহার নাও হতে পারে।
♦ ১,লেবেল ফিল্ডঃ এ ফিল্ড দিয়ে সাংকেতিক অ্যাড্রেসকে বুঝানো হয়। যেমন Jump ইন্সট্রাকশনের পরবর্তী ইন্সট্রাকশনের অ্যাড্রেস লেবেলের মাধ্যমে দেয়া হয়। লেবেলের শুরুতে অবশ্যই অক্ষর থাকতে হবে।
♦ ২,অপকোডঃ অপকোড বা অপারেশন কোড দিয়ে বুঝানো হয় কি অপারেশন বা কাজ করতে হবে। যেমন Sum এই অপকোড দিয়ে যোগের কাজ বুঝানো হয়।
♦ ৩,অপারেন্ডঃ এখানে সাধারণত আলফানিউমেরিক বর্ণের দ্বারা অপারেডের অবস্থানের অ্যাড্রেস বোঝানো হয়।যেমনঃ X,Y,A,B ইত্যাদি।
♦ ৪,মন্তব্যঃ মন্তব্য ব্যবহার করা হয় প্রোগ্রামের নিজের সুবিধার জন্য। মন্তব্য অসলে প্রত্যেক নির্দেশের ব্যাখ্যা যাতে ভবিষ্যতে প্রোগ্রামার বা অন্য কেই প্রোগ্রামের সঠিক অর্থ সহজেই বুঝতে পারে। এছাড়াও প্রোগ্রামের শুরুতেও প্রোগ্রাম ব্যাখ্যা করে মন্তব্য দেওয়া হয়।অপারেড ফিল্ডের পরে কোলন(:) বা সেমিকোলন (;) দিয়ে মন্তব্য লেখা হয়।
♦অ্যাসেম্বলি ভাষার প্রোগ্রাম নির্বাহ করার প্রক্রিয়াঃ
এই ভাষায় লিখিতত প্রোগ্রাম কম্পিউটার সরাসরি বুঝতে পারে না। কারণ এই ভাষায় সাংকেতিক চিহ্ন ব্যবাহার করে লেখা হয়। তাই এটিকে মিশিন ভাষায় রূপান্তরের জন্য অ্যাসেম্বলারের (Assembler) প্রয়োজন হয়।
যেমনঃAssembly Language →Assembler→Object Program
♦ অ্যাসেম্বলি ভাষার সুবিধাসমূহঃ
১,এই ভাষার প্রোগ্রাম দক্ষ ও সংক্ষিপ্ত হয়।
২,মেমরির জন্য অ্যাসেম্বলি শব্দের ব্যবহারের ফলে প্রোগ্রাম রচনার জন্য মেমরি অ্যাড্রেসের বিবরণের প্রয়োজন হয় না।
৩,এ ভাষার প্রোগ্রাম রচনায় ভুলের পরিমান কম এবং সহজে তার নির্ণেয় ও সংশোধন করা যায়।
৪,অ্যাসেম্বলি ভাষায় লিখিত প্রোগ্রাম ব্যবহারের জন্য মেশিনের আভ্যন্তরীণ গঠন সম্পর্কে ভালভাবে জানতে হয়।
♦আসুন এবার অ্যাসেম্বলি ভাষার অসুবিধা জেনে নেইঃ
১,ছোট আকৃতির কম্পিউটারে অ্যাসেম্বলি ভাষা নির্বাহ করা সম্ভব হয় না।
২,মেশিন ভাষার তুলনায় সহজ হলেও যথেষ্ট কষ্টকর এবং সময় সাপেক্ষ।
৩,মেশিন নির্ভর হওয়ায় মেশিনের অভ্যন্তরীণ সংগঠনের ধারণা ছাড়া প্রোগ্রাম রচনা সম্ভব হয় না।
৪, এ ভাষায় লেখা প্রোগ্রাম মেশিন সরাসরি বুঝতে পারে না। এজন্য মেশিন ভাষার অনুবাদের জন্য অনুবাদক প্রোগ্রামের প্রয়োজন হয়। অর্থাৎ,মেশিন ভাষায় অনুবাদের জন্য অ্যাসেম্বলারের প্রয়োজন হয়।
♦অ্যাসেম্বলি ভাষায় ব্যবহৃত কিছু নেমোনিক কোডঃ
১,LDA, যা নির্দেশ করে Load Accumulator, বর্ণনা বা অর্থ হলোঃমেমরি থেকে ডেটা অ্যাকিউমুলেটর রেজিস্টারে জমা করে।
২,STA, যা নির্দেশ করে Store Accumulator, বর্ণনা বা অর্থ হলোঃ অ্যাকিউমুলেটর ডেটাকে অন্য কোন চলকে সংরক্ষন করে।
৩,ADD, যা নির্দেশ করে Addition, বর্ণনা বা অর্থ হলোঃ যোগ করার কমান্ড বা নির্দেশ।
৪,SUB, যা নির্দেশ করে Subtraction, বর্ণনা বা অর্থ হলোঃ বিয়োগ করার কমান্ড বা নির্দেশ।
৫,MUL, যা নির্দেশ করে Multiplication, বর্ণনা বা অর্থ হলোঃ গুণ করার কমান্ড বা নির্দেশ।
৬, DIV, যা নির্দেশ করে Division, বর্ণনা বা অর্থ হলোঃ ভাগ করার কমান্ড বা নির্দেশ।
৭,CLR, যা নির্দেশ করে Clear, বর্ণনা বা অর্থ হলোঃ অ্যাকিউমুলেটর শূণ্য বা ফাঁকা করার কমান্ড বা নির্দেশ।
৮,JMP, যা নির্দেশ করে Jump, বর্ণনা বা অর্থ হলোঃপরবর্তী নির্দেশের জন্য কোনো লেবেলে যাওয়ার নির্দেশ।
♦আপাততো সবাই ভালো থাকুন, সুস্থ থাকুন। আল্লাহ্র কাছে সবসময় এই দোয়াই করি। আল্লাহ্ হাফেজ…
ক্ষুদ্র লেখক।
বিষয়ঃ♦নিম্নস্তরের অ্যাসেম্বলি ভাষা।
অ্যাসেম্বলি ভাষা (Assemble Language)
যে ভাষার সাহায্যে বিভিন্ন ধরনের সংকেত বা নেমোনিক কোড ব্যবহার করে যে প্রোগ্রাম রচনা করা হয় তাকে অ্যাসেম্বলি ভাষা বলে। এই ভাষা সাংকেতিক ভাষাও বলা হয়।এই ভাষার ক্ষেত্রে নির্দেশ ও তথ্যের অ্যাড্রেস বাইনারি বা হেক্সাডেসিমেল সংখ্যার সাহায্যে না দিয়ে সংকেতের সাহায্য দেয়া হয়।
এ সংকেতকে বলা হয় সাংকেতিক বা নেমোনিক কোড। নেমোনিক এর সাহায্যে কোন বড় সংখ্যা বা কথাকে সহজে মনে রাখা যায়। যথা Load Accumulator এর নেমোনিক হচ্ছে LDA অর্থাৎ অ্যাকিউমুলেটরে রাখা।
♦অ্যাসেম্বলি ভাষার সম্পূর্ন নির্দেশ নিচে আলোচনা করা হলোঃ
১,লেবেল ফিল্ড (Level Field)
২,অপকোড (Opcode)
৩,অপারেন্ড (Oparend)
৪,মন্তব্য (Command)
অপকোড ফিল্ড ছাড়া অন্য ফিল্ডগুলো সব সময় ব্যবহার নাও হতে পারে।
♦ ১,লেবেল ফিল্ডঃ এ ফিল্ড দিয়ে সাংকেতিক অ্যাড্রেসকে বুঝানো হয়। যেমন Jump ইন্সট্রাকশনের পরবর্তী ইন্সট্রাকশনের অ্যাড্রেস লেবেলের মাধ্যমে দেয়া হয়। লেবেলের শুরুতে অবশ্যই অক্ষর থাকতে হবে।
♦ ২,অপকোডঃ অপকোড বা অপারেশন কোড দিয়ে বুঝানো হয় কি অপারেশন বা কাজ করতে হবে। যেমন Sum এই অপকোড দিয়ে যোগের কাজ বুঝানো হয়।
♦ ৩,অপারেন্ডঃ এখানে সাধারণত আলফানিউমেরিক বর্ণের দ্বারা অপারেডের অবস্থানের অ্যাড্রেস বোঝানো হয়।যেমনঃ X,Y,A,B ইত্যাদি।
♦ ৪,মন্তব্যঃ মন্তব্য ব্যবহার করা হয় প্রোগ্রামের নিজের সুবিধার জন্য। মন্তব্য অসলে প্রত্যেক নির্দেশের ব্যাখ্যা যাতে ভবিষ্যতে প্রোগ্রামার বা অন্য কেই প্রোগ্রামের সঠিক অর্থ সহজেই বুঝতে পারে। এছাড়াও প্রোগ্রামের শুরুতেও প্রোগ্রাম ব্যাখ্যা করে মন্তব্য দেওয়া হয়।অপারেড ফিল্ডের পরে কোলন(:) বা সেমিকোলন (;) দিয়ে মন্তব্য লেখা হয়।
♦অ্যাসেম্বলি ভাষার প্রোগ্রাম নির্বাহ করার প্রক্রিয়াঃ
এই ভাষায় লিখিতত প্রোগ্রাম কম্পিউটার সরাসরি বুঝতে পারে না। কারণ এই ভাষায় সাংকেতিক চিহ্ন ব্যবাহার করে লেখা হয়। তাই এটিকে মিশিন ভাষায় রূপান্তরের জন্য অ্যাসেম্বলারের (Assembler) প্রয়োজন হয়।
যেমনঃAssembly Language →Assembler→Object Program
♦ অ্যাসেম্বলি ভাষার সুবিধাসমূহঃ
১,এই ভাষার প্রোগ্রাম দক্ষ ও সংক্ষিপ্ত হয়।
২,মেমরির জন্য অ্যাসেম্বলি শব্দের ব্যবহারের ফলে প্রোগ্রাম রচনার জন্য মেমরি অ্যাড্রেসের বিবরণের প্রয়োজন হয় না।
৩,এ ভাষার প্রোগ্রাম রচনায় ভুলের পরিমান কম এবং সহজে তার নির্ণেয় ও সংশোধন করা যায়।
৪,অ্যাসেম্বলি ভাষায় লিখিত প্রোগ্রাম ব্যবহারের জন্য মেশিনের আভ্যন্তরীণ গঠন সম্পর্কে ভালভাবে জানতে হয়।
♦আসুন এবার অ্যাসেম্বলি ভাষার অসুবিধা জেনে নেইঃ
১,ছোট আকৃতির কম্পিউটারে অ্যাসেম্বলি ভাষা নির্বাহ করা সম্ভব হয় না।
২,মেশিন ভাষার তুলনায় সহজ হলেও যথেষ্ট কষ্টকর এবং সময় সাপেক্ষ।
৩,মেশিন নির্ভর হওয়ায় মেশিনের অভ্যন্তরীণ সংগঠনের ধারণা ছাড়া প্রোগ্রাম রচনা সম্ভব হয় না।
৪, এ ভাষায় লেখা প্রোগ্রাম মেশিন সরাসরি বুঝতে পারে না। এজন্য মেশিন ভাষার অনুবাদের জন্য অনুবাদক প্রোগ্রামের প্রয়োজন হয়। অর্থাৎ,মেশিন ভাষায় অনুবাদের জন্য অ্যাসেম্বলারের প্রয়োজন হয়।
♦অ্যাসেম্বলি ভাষায় ব্যবহৃত কিছু নেমোনিক কোডঃ
১,LDA, যা নির্দেশ করে Load Accumulator, বর্ণনা বা অর্থ হলোঃমেমরি থেকে ডেটা অ্যাকিউমুলেটর রেজিস্টারে জমা করে।
২,STA, যা নির্দেশ করে Store Accumulator, বর্ণনা বা অর্থ হলোঃ অ্যাকিউমুলেটর ডেটাকে অন্য কোন চলকে সংরক্ষন করে।
৩,ADD, যা নির্দেশ করে Addition, বর্ণনা বা অর্থ হলোঃ যোগ করার কমান্ড বা নির্দেশ।
৪,SUB, যা নির্দেশ করে Subtraction, বর্ণনা বা অর্থ হলোঃ বিয়োগ করার কমান্ড বা নির্দেশ।
৫,MUL, যা নির্দেশ করে Multiplication, বর্ণনা বা অর্থ হলোঃ গুণ করার কমান্ড বা নির্দেশ।
৬, DIV, যা নির্দেশ করে Division, বর্ণনা বা অর্থ হলোঃ ভাগ করার কমান্ড বা নির্দেশ।
৭,CLR, যা নির্দেশ করে Clear, বর্ণনা বা অর্থ হলোঃ অ্যাকিউমুলেটর শূণ্য বা ফাঁকা করার কমান্ড বা নির্দেশ।
৮,JMP, যা নির্দেশ করে Jump, বর্ণনা বা অর্থ হলোঃপরবর্তী নির্দেশের জন্য কোনো লেবেলে যাওয়ার নির্দেশ।
♦আপাততো সবাই ভালো থাকুন, সুস্থ থাকুন। আল্লাহ্র কাছে সবসময় এই দোয়াই করি। আল্লাহ্ হাফেজ…