Floating-Point Arithmetic এবং Comparison Operations

Computer Programming - অ্যাসেম্বলি প্রোগ্রামিং (Assembly Programming) Assembly এ Floating-Point Operations (Floating-Point Operations in Assembly) |
270
270

Assembly Language-এ Floating-Point Arithmetic এবং Comparison Operations প্রোগ্রামিংয়ে জটিল গাণিতিক এবং লজিকাল অপারেশন করার জন্য ব্যবহৃত হয়। এ ধরনের অপারেশনগুলো সাধারণত FPU (Floating Point Unit) বা Coprocessor দ্বারা সম্পাদিত হয়, যা বিশেষভাবে ডিজাইন করা হয় ফ্লোটিং-পয়েন্ট সংখ্যা পরিচালনার জন্য। নিচে Floating-Point Arithmetic এবং Comparison Operations সম্পর্কে বিস্তারিত আলোচনা করা হলো:


Floating-Point Arithmetic Operations:
Floating-point অপারেশনগুলো সংযুক্তি, বিয়োগ, গুণ, এবং ভাগ অপারেশন করতে ব্যবহৃত হয়। এ ধরনের অপারেশন সম্পাদনের জন্য Assembly Language-এ বিশেষ FPU Instructions ব্যবহার করা হয়, যা x86 আর্কিটেকচারের জন্য x87 FPU নির্দেশনাসমূহ।

  • FLD: একটি ফ্লোটিং-পয়েন্ট মান লোড করে স্ট্যাকের টপে।
  • FADD: স্ট্যাকের শীর্ষ দুটি উপাদানকে যোগ করে।
  • FSUB: স্ট্যাকের শীর্ষ দুটি উপাদানকে বিয়োগ করে।
  • FMUL: স্ট্যাকের শীর্ষ দুটি উপাদানকে গুণ করে।
  • FDIV: স্ট্যাকের শীর্ষ দুটি উপাদানকে ভাগ করে।
  • FST এবং FSTP: স্ট্যাকের শীর্ষ উপাদানকে নির্দিষ্ট মেমোরি লোকেশনে সংরক্ষণ করে এবং FSTP অপারেশন স্ট্যাকের শীর্ষ থেকে পপ করে।

উদাহরণ:

FLD num1       ; num1 লোড করা স্ট্যাকের টপে
FLD num2       ; num2 লোড করা স্ট্যাকের টপে
FADD           ; num1 এবং num2 যোগ করে স্ট্যাকের টপে ফল সংরক্ষণ
FSTP result    ; ফলাফল result এ সংরক্ষণ এবং স্ট্যাক থেকে পপ করা

Floating-Point Comparison Operations:
Floating-point সংখ্যা তুলনা করতে Assembly Language-এ FCOM এবং FCOMP নির্দেশনা ব্যবহার করা হয়। এগুলি স্ট্যাকের শীর্ষ দুটি উপাদান তুলনা করে এবং ফলাফল বিভিন্ন ফ্ল্যাগে সংরক্ষণ করে।

  • FCOM: স্ট্যাকের শীর্ষ উপাদানকে পরবর্তী উপাদানের সাথে তুলনা করে।
  • FCOMP: একই কাজ করে, তবে পরবর্তী উপাদানটি স্ট্যাক থেকে পপ করে।
  • FSTSW AX: স্ট্যাটাস ওয়ার্ডকে AX রেজিস্টারে সংরক্ষণ করে।
  • SAHF: AH রেজিস্টারের মান ফ্ল্যাগ রেজিস্টারে সংরক্ষণ করে।

ফ্ল্যাগের ব্যাখ্যা:

  • C0, C2, C3 ফ্ল্যাগগুলোর মাধ্যমে তুলনার ফলাফল নির্দেশ করা হয়:
    • C0: যদি প্রথম উপাদান বড় হয়, তবে সেট করা হয়।
    • C3: যদি উপাদান সমান হয়, তবে সেট করা হয়।
    • C0 এবং C3: যদি দ্বিতীয় উপাদান বড় হয়, তবে C0 এবং C3 রিসেট করা হয়।

উদাহরণ:

FLD num1          ; num1 লোড করা স্ট্যাকের টপে
FLD num2          ; num2 লোড করা স্ট্যাকের টপে
FCOM              ; num1 এবং num2 তুলনা করা
FSTSW AX          ; স্ট্যাটাস ওয়ার্ড AX রেজিস্টারে সংরক্ষণ করা
SAHF              ; AH এর মান ফ্ল্যাগ রেজিস্টারে সংরক্ষণ করা
JZ equal_label    ; যদি সমান হয়, তাহলে equal_label এ জাম্প করা

Floating-Point Operations এর ব্যবহার এবং সুবিধা

  • উচ্চ গাণিতিক কার্যকারিতা: Floating-point অপারেশনগুলো গণনার জন্য উচ্চ কার্যকারিতা প্রদান করে, যা জটিল এবং বৃহৎ সংখ্যার সঠিক অপারেশন নিশ্চিত করে।
  • বিশ্বস্ত ফলাফল: স্ট্যাক-ভিত্তিক FPU ব্যবহার করে ফ্লোটিং-পয়েন্ট অপারেশন প্রোগ্রামে গণনার নির্ভুলতা এবং বিশ্বস্ততা নিশ্চিত করে।
  • Comparison Operations: তুলনা অপারেশন বিভিন্ন গণিত এবং লজিক্যাল অপারেশনের সিদ্ধান্ত নেওয়ার জন্য সহায়ক।

সারসংক্ষেপ

Floating-Point Arithmetic এবং Comparison Operations Assembly Language-এ জটিল গাণিতিক অপারেশন এবং তুলনার জন্য ব্যবহৃত হয়। FLD, FADD, FSUB, FMUL, এবং FDIV এর মতো FPU নির্দেশনা গণনার জন্য ব্যবহৃত হয়, এবং FCOM এবং FCOMP নির্দেশনা সংখ্যা তুলনা করতে ব্যবহৃত হয়। এই অপারেশনগুলি প্রোগ্রামের কার্যকারিতা উন্নত করতে এবং নির্ভুল গণনার জন্য বিশেষভাবে উপযোগী।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion