Macro হলো Assembly Language-এ এমন একটি কৌশল যা প্রোগ্রামারদের কোড পুনরায় ব্যবহারযোগ্য এবং সহজভাবে লেখার সুযোগ দেয়। একটি ম্যাক্রো হলো নির্দেশনাসমূহের একটি ব্লক যা একবার সংজ্ঞায়িত করে প্রোগ্রামের বিভিন্ন স্থানে ব্যবহার করা যায়। Macro Definition হলো ম্যাক্রোর সংজ্ঞা এবং Macro Expansion হলো সেই ম্যাক্রো যখন প্রোগ্রামে ব্যবহার করা হয়, তখন তার সম্পূর্ণ কোড স্থাপন করা।
Macro Definition (ম্যাক্রো সংজ্ঞা):
MACRO
কীওয়ার্ড দিয়ে শুরু হয় এবং ENDM
কীওয়ার্ড দিয়ে শেষ হয়।ম্যাক্রো সংজ্ঞার উদাহরণ:
print_msg MACRO msg
MOV DX, msg ; মেসেজের ঠিকানা DX রেজিস্টারে লোড করা
MOV AH, 09h ; ডিসপ্লে ফাংশন কল করার জন্য
INT 21h ; DOS interrupt কল করা
ENDM
ব্যাখ্যা:
print_msg
নামে একটি ম্যাক্রো সংজ্ঞায়িত করা হয়েছে, যা একটি স্ট্রিং প্রদর্শনের জন্য ব্যবহৃত হবে।Macro Expansion (ম্যাক্রো বিস্তার):
ম্যাক্রো বিস্তারের উদাহরণ:
section .data
msg db 'Hello, World!', '$'
section .text
global _start
_start:
print_msg msg ; ম্যাক্রো কল যা প্রোগ্রামের মধ্যে বিস্তার করবে
MOV AH, 4Ch ; প্রোগ্রাম শেষের জন্য DOS interrupt কল করা
INT 21h
বিস্তার কীভাবে কাজ করে:
print_msg msg
ম্যাক্রো কল করা হয়, অ্যাসেম্বলার সেই কলের স্থানে MOV DX, msg
, MOV AH, 09h
, এবং INT 21h
কোড প্রতিস্থাপন করে। এটি এমন মনে হয় যেন সেই কোড সরাসরি লিখিত হয়েছিল।কোড পুনঃব্যবহার:
কোডের সংক্ষিপ্ততা:
কোডের গঠন:
বিস্তৃত কোড সাইজ:
ডিবাগিং জটিলতা:
সারসংক্ষেপ
Macro Definition হলো ম্যাক্রো সংজ্ঞার মাধ্যমে প্রোগ্রামিং সহজ করার উপায়, যেখানে বারবার ব্যবহারযোগ্য কোড একটি নামে সংরক্ষিত হয়। Macro Expansion হলো সেই সংজ্ঞা যখন প্রোগ্রামে ব্যবহার করা হয়, তখন অ্যাসেম্বলার তার পুরো কোড স্থাপন করে। ম্যাক্রো প্রোগ্রামিংয়ে কোড পুনঃব্যবহার, সংক্ষিপ্ততা, এবং গঠন বাড়াতে সাহায্য করে, তবে অনেক ব্যবহার কোড সাইজ বড় করতে পারে এবং ডিবাগিং কিছুটা জটিল হতে পারে।
common.read_more