ব্যাখ্যা সহ সাধারণ 8086 বিধানসভা ভাষা প্রোগ্রাম

সমস্যাগুলি দূর করার জন্য আমাদের উপকরণটি ব্যবহার করে দেখুন





অ্যাসেম্বলি স্তরের প্রোগ্রামিং নিম্ন-স্তরের পক্ষে খুব গুরুত্বপূর্ণ এম্বেড সিস্টেম ডিজাইনটি হার্ডওয়্যার ম্যানিপুলেট করার জন্য প্রসেসরের নির্দেশাবলী অ্যাক্সেস করতে ব্যবহৃত হয়। এটি একটি সর্বাধিক আদিম মেশিন স্তরের ভাষা এমন দক্ষ কোড তৈরি করতে ব্যবহৃত হয় যা কম সংখ্যক ঘড়ি চক্র গ্রহণ করে এবং এর তুলনায় কম স্মৃতি গ্রহণ করে উচ্চ-স্তরের প্রোগ্রামিং ভাষা । প্রোগ্রামার অবশ্যই এম্বেডড হার্ডওয়্যার সম্পর্কে সচেতন হতে হবে এমন একটি প্রোগ্রাম লিখতে এটি একটি সম্পূর্ণ হার্ডওয়্যার ওরিয়েন্টেড প্রোগ্রামিং ভাষা। এখানে, আমরা সমাবেশ স্তরের 8086 প্রোগ্রামিংয়ের বেসিক সরবরাহ করছি।

সমাবেশ স্তরের প্রোগ্রামিং 8086

সমাবেশ স্তরের প্রোগ্রামিং 8086



সমাবেশ স্তরের প্রোগ্রামিং 8086

দ্য সমাবেশ প্রোগ্রামিং ভাষা স্বল্প স্তরের ভাষা যা স্মৃতিবিদ্যার ব্যবহার করে তৈরি করা হয়। মাইক্রোকন্ট্রোলার বা মাইক্রোপ্রসেসর কেবল 0 বা 1 এর মতো বাইনারি ভাষা বুঝতে পারে তাই এসেমব্লার সমাবেশের ভাষাটিকে বাইনারি ভাষায় রূপান্তর করে এবং কার্য সম্পাদন করার জন্য স্মৃতি সঞ্চয় করে। প্রোগ্রামটি লেখার আগে এম্বেড করা ডিজাইনারদের অবশ্যই নিয়ামক বা প্রসেসরের নির্দিষ্ট হার্ডওয়্যার সম্পর্কে পর্যাপ্ত জ্ঞান থাকতে হবে, তাই প্রথমে আমাদের 8086 প্রসেসরের হার্ডওয়্যার জানতে হবে।


প্রসেসরের হার্ডওয়্যার

প্রসেসরের হার্ডওয়্যার



8086 প্রসেসর আর্কিটেকচার

8086 একটি প্রসেসর যা সিরিয়াল বাস, এবং র‌্যাম এবং রম, আই / ও ডিভাইস ইত্যাদির মতো সমস্ত পেরিফেরাল ডিভাইসের জন্য প্রতিনিধিত্ব করা হয় যা সিস্টেম বাস ব্যবহার করে সিপিইউতে সমস্ত বাহ্যিকভাবে সংযুক্ত থাকে। 8086 মাইক্রোপ্রসেসর রয়েছে সিআইএসসি ভিত্তিক আর্কিটেকচার , এবং এটির পেরিফেরিয়ালগুলি 32 আই / ও এর মতো রয়েছে, সিরিয়াল যোগাযোগ , স্মৃতি এবং কাউন্টার / টাইমার । মাইক্রোপ্রসেসরের ক্রিয়াকলাপগুলি সম্পাদন করার জন্য একটি প্রোগ্রাম প্রয়োজন যা ফাংশনগুলি পড়ার এবং সংরক্ষণের জন্য মেমরির প্রয়োজন।

8086 প্রসেসর আর্কিটেকচার

8086 প্রসেসর আর্কিটেকচার

সমাবেশ স্তরের প্রোগ্রামিং 8086 মেমরির নিবন্ধগুলির উপর ভিত্তি করে। একটি রেজিস্টার হল প্রধান অংশ মাইক্রোপ্রসেসর এবং নিয়ন্ত্রক যা মেমরিতে অবস্থিত যা ডেটা সংগ্রহ এবং সংরক্ষণের একটি দ্রুততর উপায় সরবরাহ করে। আমরা যদি কোনও প্রসেসর বা নিয়ামককে গুণ, সংযোজন ইত্যাদি সম্পাদন করে ডেটা ম্যানিপুলেট করতে চাই, আমরা সরাসরি মেমরিটিতে এটি করতে পারি না যেখানে প্রক্রিয়া করার জন্য এবং তথ্য সংরক্ষণের জন্য রেজিস্টার প্রয়োজন। 8086 মাইক্রোপ্রসেসরে বিভিন্ন ধরণের রেজিস্টার রয়েছে যা তাদের নির্দেশাবলী অনুসারে শ্রেণিবদ্ধ করা যেতে পারে

সাধারণ উদ্দেশ্য নিবন্ধ : 8086 সিপিইউতে 8-সাধারণ উদ্দেশ্য রেজিস্টার রয়েছে এবং প্রতিটি নিবন্ধের নিজস্ব নাম রয়েছে যেমন চিত্র, এক্স, বিএক্স, সিএক্স, ডিএক্স, এসআই, ডিআই, বিপি, এসপি হিসাবে দেখানো হয়েছে। এই সবগুলি 16-বিট রেজিস্ট্রার যেখানে চারটি রেজিস্টর দুটি অংশে বিভক্ত হয় যেমন এক্স, বিএক্স, সিএক্স এবং ডিএক্স যা মূলত সংখ্যাগুলি রাখার জন্য ব্যবহৃত হয়।

বিশেষ উদ্দেশ্যে রেজিস্টার : 8086 সিপিইউতে 2- বিশেষ ফাংশন রেজিস্টার যেমন আইপি এবং পতাকা নিবন্ধগুলি রয়েছে। আইপি রেজিস্টার বর্তমান নির্বাহী নির্দেশকে নির্দেশ করে এবং সর্বদা সিএস সেগমেন্টের রেজিস্ট্রারের সাথে একত্রিত হয়ে কাজ করে। পতাকা নিবন্ধকের প্রধান কাজটি হল যান্ত্রিক ফাংশনগুলি সমাপ্ত হওয়ার পরে সিপিইউ অপারেশনগুলি পরিবর্তন করা এবং আমরা সরাসরি অ্যাক্সেস করতে পারি না
সেগমেন্ট রেজিস্টারস: ৮০86 CP সিপিইউতে সিএস, ডিএস, ইএস, এসএস এর মতো ৪- সেগমেন্টের রেজিস্টার রয়েছে যা মূলত সেগমেন্ট রেজিস্টারে কোনও ডেটা সংরক্ষণের জন্য ব্যবহৃত হয় এবং আমরা সেগমেন্ট রেজিস্টারগুলি ব্যবহার করে মেমরির একটি ব্লক অ্যাক্সেস করতে পারি।


সরল সমাবেশ ভাষা প্রোগ্রাম 8086

সমাবেশ ভাষা প্রোগ্রামিং 8086 এর কিছু বিধি রয়েছে

  • সমাবেশ স্তর প্রোগ্রামিং 8086 কোড অবশ্যই বড় হাতের অক্ষরে লেখা উচিত
  • লেবেলগুলি অবশ্যই একটি কোলন দ্বারা অনুসরণ করা উচিত, উদাহরণস্বরূপ: লেবেল:
  • সমস্ত লেবেল এবং চিহ্ন একটি অক্ষর দিয়ে শুরু করা আবশ্যক
  • সমস্ত মন্তব্য ছোট ক্ষেত্রে টাইপ করা হয়
  • প্রোগ্রামের শেষ লাইনটি অবশ্যই শেষের নির্দেশের সাথে শেষ করা উচিত

8086 প্রসেসরের ডেটা অ্যাক্সেসের জন্য আরও দুটি নির্দেশনা রয়েছে যেমন ওয়ার্ড পিটিআর - শব্দের জন্য (দুটি বাইট), বাইওয়াইটি পিটিআর - বাইটের জন্য।

অপ-কোড এবং অপেরাড

অপ-কোড এবং অপেরাড

ওপ কোড: একটি একক নির্দেশকে একটি অপ-কোড বলা হয় যা সিপিইউ দ্বারা সম্পাদন করা যায়। এখানে ‘এমওভি’ নির্দেশকে অপ-কোড হিসাবে ডাকা হয়।

অপারেন্ডস: একটি একক টুকরো ডেটা অপারেন্ডস বলা হয় যা অপ-কোড দ্বারা পরিচালিত হতে পারে। উদাহরণস্বরূপ, অপারেশন দ্বারা বিয়োগ অপারেশন অপারেন্ডগুলি দ্বারা সঞ্চালিত হয়।
বাক্য গঠন: এসইউবি বি, সি

8086 মাইক্রোপ্রসেসর সমাবেশ ভাষা প্রোগ্রাম

কীবোর্ড থেকে একটি অক্ষর পড়ার জন্য একটি প্রোগ্রাম লিখুন

মোভ আহ, ১ ঘন্টা // কীবোর্ড ইনপুট সাবপ্রগ্রাম
INT 21 ঘন্টা // অক্ষরের ইনপুট
// অক্ষর আল সংরক্ষণ করা হয়
এমওভি সি, আল // আল্টোর সি থেকে কপির চরিত্র character

একটি চরিত্র পড়ার এবং প্রদর্শন করার জন্য একটি প্রোগ্রাম লিখুন

মোভ আহ, ১ ঘন্টা // কীবোর্ড ইনপুট সাবপ্রগ্রাম
আইএনটি 21 ঘন্টা // আল অক্ষর পড়ুন
এমওভি ডিএল, আল // কপির চরিত্রটি ডিএল করুন
মোভ আহ, ২ ঘন্টা // অক্ষরের আউটপুট সাবপ্রগ্রাম
INL 21 ঘন্টা // dl এর অক্ষর প্রদর্শন করুন

সাধারণ উদ্দেশ্য নিবন্ধগুলি ব্যবহার করে একটি প্রোগ্রাম লিখুন

ওআরজি 100 ঘন্টা
আলভুক্ত করুন, VAR1 // এটিকে AL এ স্থানান্তরিত করে VAR1 এর মান চেক করুন।
এলইএ বিএক্স, ভিএআর 1 // বিএক্সে ভিএআর 1 এর ঠিকানা পান।
মোভ বাইওয়াইটি পিটিআর [বিএক্স], 44 ঘন্টা // ভিএআর 1 এর সামগ্রীগুলি পরিবর্তন করুন ify
আলভুক্ত করুন, VAR1 // এটিকে AL এ স্থানান্তরিত করে VAR1 এর মান চেক করুন।
ডান
ভিএআর 1 ডিবি 22 ঘন্টা
শেষ

লাইব্রেরির ফাংশন ব্যবহার করে স্ট্রিং প্রদর্শনের জন্য একটি প্রোগ্রাম লিখুন

emu8086.inc // ম্যাক্রো ঘোষণা অন্তর্ভুক্ত করুন
ওআরজি 100 ঘন্টা
প্রিন্ট করুন ‘হ্যালো ওয়ার্ল্ড!’
GOTOXY 10, 5
পিইউটিসি 65 // 65 - এটি ‘এ’ এর একটি এসসিআইআই কোড
পিইউটিসি ‘বি’
আরইটি // অপারেটিং সিস্টেমে ফিরে আসুন।
সমাপ্তি // সংকলক বন্ধ করার নির্দেশনা।

পাটিগণিত এবং যুক্তি সংক্রান্ত নির্দেশাবলী

পাটিগণিত এবং যুক্তি ইউনিটের 8086 প্রক্রিয়াগুলি তিনটি গ্রুপে বিভক্ত হয়েছে যেমন সংযোজন, বিভাগ এবং বৃদ্ধি ক্রিয়াকলাপ। সর্বাধিক পাটিগণিত এবং যুক্তি সংক্রান্ত নির্দেশাবলী প্রসেসরের স্থিতি রেজিস্টারকে প্রভাবিত করুন।

অ্যাসেম্বলি ল্যাঙ্গুয়েজ প্রোগ্রামিং ৮০ m m মিমোনমিকস এমওভি, এমএলইউ, জেএমপি এবং আরও অনেকগুলি অপ-কোড আকারে রয়েছে, যা অপারেশন সম্পাদন করতে ব্যবহৃত হয়। সমাবেশ ভাষা প্রোগ্রামিং 8086 উদাহরণ

সংযোজন
ORG0000 ঘন্টা
মোভ ডিএক্স, # 07 এইচ // রেজিস্টার এএক্স // এ মানটি সরান //
মোভ এএক্স, # 09 এইচ // মান 9 সঞ্চয়ের এক্সএক্স এ সরান //
এএক্স যোগ করুন, 00 এইচ // আরএস মান সহ সিক্স মান যুক্ত করুন এবং ফলাফলটি এক্স এর মধ্যে সঞ্চয় করে //
শেষ
গুণ
ORG0000 ঘন্টা
মোভ ডিএক্স, # 04 এইচ // রেজিস্টার ডিএক্স // এ মান 4 সরান
মোভ এএক্স, # 08 এইচ // মান 8 সঞ্চয়ের এএক্স // এ সরান
মুল এএক্স, 06 এইচ // গুণিত ফলাফল সংগ্রহকারী এএক্স // এ সংরক্ষণ করা হয়
শেষ
বিয়োগ
ORG 0000 ঘন্টা
মোভ ডিএক্স, # 02 এইচ // ডিএক্স রেজিস্ট্রেশন করতে মান 2 সরান //
মোভ এএক্স, # 08 এইচ // মান 8 সঞ্চয়ের এএক্স // এ সরান
এসইউবিবি এএক্স, 09 এইচ // ফলাফল মান একিউমুলেটর এ এক্স // এ সঞ্চয় করা আছে
শেষ
বিভাগ
ORG 0000 ঘন্টা
মোভ ডিএক্স, # 08 এইচ // ডিএক্স রেজিস্ট্রেশন করতে 3 মানটি সরান //
এমওভিএক্স, # 19 এইচ // মান 5 টি সংযোজক এএক্স // এ সরান
ডিআইভি এএক্স, 08 এইচ // চূড়ান্ত মান একিউমুলেটর এএক্স // এ সংরক্ষণ করা হয়
শেষ

অতএব, এটি হ'ল অ্যাসেম্বলি লেভেল প্রোগ্রামিং ৮০86৮, ৮০8686 প্রসেসর আর্কিটেকচার সাধারণ উদাহরণস্বরূপ প্রোগ্রামগুলি ৮৮ process process প্রসেসর, পাটিগণিত এবং লজিক নির্দেশাবলী।এছাড়া, এই নিবন্ধ বা ইলেক্ট্রনিক্স প্রকল্প সম্পর্কিত যে কোনও প্রশ্ন আপনি নীচের মন্তব্য বিভাগে মন্তব্য করে আমাদের সাথে যোগাযোগ করতে পারেন।