وضاحت کے ساتھ آسان 8086 اسمبلی زبان پروگرام

مسائل کو ختم کرنے کے لئے ہمارے آلے کو آزمائیں





اسمبلی سطح کا پروگرامنگ کم سطح تک بہت اہم ہے سرایت نظام ہارڈ ویئر کو جوڑتوڑ کرنے کے ل design پروسیسر کی ہدایات تک رسائی کے ل design ڈیزائن کا استعمال کیا جاتا ہے۔ یہ ایک انتہائی قدیم مشین کی سطح کی زبان کو موثر کوڈ بنانے کے لئے استعمال کیا جاتا ہے جو گھڑی کے چکروں کی تعداد کم استعمال کرتا ہے اور اس کے مقابلے میں کم میموری لیتا ہے اعلی سطحی پروگرامنگ زبان . پروگرام لکھنے کے لئے یہ ایک مکمل ہارڈ ویئر اورینٹڈ پروگرامنگ لینگویج ہے پروگرامر کو ایمبیڈڈ ہارڈ ویئر سے آگاہ ہونا چاہئے۔ یہاں ، ہم اسمبلی سطح کے پروگرامنگ 8086 کی بنیادی باتیں فراہم کر رہے ہیں۔

اسمبلی لیول پروگرامنگ 8086

اسمبلی لیول پروگرامنگ 8086



اسمبلی لیول پروگرامنگ 8086

اسمبلی پروگرامنگ زبان ایک نچلی سطح کی زبان ہے جو میمونکس کے استعمال سے تیار کی گئی ہے۔ مائکروکنٹرولر یا مائکرو پروسیسر صرف بائنری زبان کو 0 یا 1 کی طرح سمجھ سکتا ہے لہذا جمع کرنے والا اسمبلی زبان کو بائنری زبان میں تبدیل کرسکتا ہے اور اس کام کو انجام دینے کے لئے میموری کو اسٹور کرتا ہے۔ پروگرام لکھنے سے پہلے ایمبیڈڈ ڈیزائنرز کو کنٹرولر یا پروسیسر کے مخصوص ہارڈ ویئر پر کافی معلومات ہونی چاہئیں ، لہذا پہلے ہمیں 8086 پروسیسر کے ہارڈ ویئر کو جاننے کی ضرورت ہوگی۔


پروسیسر کا ہارڈ ویئر

پروسیسر کا ہارڈ ویئر



8086 پروسیسر فن تعمیر

8086 ایک پروسیسر ہے جس کی نمائندگی تمام پردیی آلات جیسے سیریل بس ، اور رام اور ROM ، I / O ڈیوائسز اور اسی طرح کے طور پر ہوتا ہے جو سسٹم بس کا استعمال کرکے سی پی یو سے بیرونی طور پر جڑے ہوتے ہیں۔ 8086 مائکرو پروسیسر ہے CISC پر مبنی فن تعمیر ، اور اس میں 32 I / O جیسے مضافات ہیں ، سیریل مواصلات ، یادیں اور کاؤنٹر / ٹائمر . مائکرو پروسیسر کو کام انجام دینے کے لئے ایک پروگرام کی ضرورت ہوتی ہے جس میں افعال کو پڑھنے اور محفوظ کرنے کے لئے میموری کی ضرورت ہوتی ہے۔

8086 پروسیسر فن تعمیر

8086 پروسیسر فن تعمیر

اسمبلی سطح کا پروگرامنگ 8086 میموری رجسٹروں پر مبنی ہے۔ ایک رجسٹر اس کا بنیادی حصہ ہے مائکرو پروسیسرز اور کنٹرولرز جو میموری میں واقع ہیں جو ڈیٹا اکٹھا کرنے اور اسٹور کرنے کا تیز رفتار راستہ مہیا کرتے ہیں۔ اگر ہم ضرب ، اضافی وغیرہ کو انجام دے کر کسی پروسیسر یا کنٹرولر کے ساتھ ڈیٹا میں ہیرا پھیری کرنا چاہتے ہیں تو ہم براہ راست میموری میں ایسا نہیں کرسکتے ہیں جہاں عمل کرنے اور ڈیٹا کو اسٹور کرنے کیلئے رجسٹروں کی ضرورت ہوتی ہے۔ 8086 مائکرو پروسیسر میں مختلف قسم کے رجسٹر ہوتے ہیں جن کو ان کی ہدایات کے مطابق درجہ بندی کیا جاسکتا ہے جیسے

عمومی مقصد کے اندراجات : 8086 سی پی یو میں 8 عمومی مقصد کے اندراجات شامل ہیں اور ہر رجسٹر کا اپنا نام ہے جیسا کہ اعداد و شمار میں دکھایا گیا ہے جیسے AX ، BX ، CX ، DX ، SI ، DI ، BP ، SP۔ یہ سب 16 بٹ رجسٹر ہیں جہاں چار رجسٹر دو حصوں جیسے AX ، BX ، CX ، اور DX میں تقسیم ہیں جو بنیادی طور پر نمبر رکھنے کے لئے استعمال ہوتے ہیں۔

خصوصی مقصد کے اندراجات : 8086 سی پی یو میں 2- خصوصی فنکشن رجسٹرز شامل ہیں جیسے آئی پی اور پرچم رجسٹر۔ آئی پی رجسٹر موجودہ عمل درآمد کی ہدایت کی نشاندہی کرتا ہے اور ہمیشہ سی ایس سیگمنٹ رجسٹر کے ساتھ جمع کرنے کے لئے کام کرتا ہے۔ فلیگ رجسٹرز کا بنیادی کام مکینیکل افعال مکمل ہونے کے بعد سی پی یو کی کارروائیوں میں ترمیم کرنا ہے اور ہم براہ راست رسائی نہیں کرسکتے ہیں
سیگمنٹ رجسٹر: 8086 سی پی یو میں 4- طبقہ کے رجسٹر شامل ہیں جیسے سی ایس ، ڈی ایس ، ای ایس ، ایس ایس جو بنیادی طور پر کسی بھی ڈیٹا کو سیگمنٹ رجسٹر میں محفوظ کرنے کے لئے استعمال کیا جاتا ہے اور ہم سیگمنٹ رجسٹروں کا استعمال کرتے ہوئے میموری کے ایک بلاک تک رسائی حاصل کرسکتے ہیں۔


اسمبلی زبان میں آسان پروگرام 8086

اسمبلی زبان پروگرامنگ 8086 کے کچھ اصول ہیں جیسے

  • اسمبلی کی سطح پروگرامنگ 8086 کوڈ کو اوپری کیس حروف میں لکھا جانا چاہئے
  • لیبلز کے بعد بھی بڑی آنت ہونی چاہئے ، مثال کے طور پر: لیبل:
  • تمام لیبل اور علامتیں ایک خط کے ساتھ شروع ہونی چاہئیں
  • تمام تبصرے چھوٹے معاملات میں ٹائپ کیے جاتے ہیں
  • پروگرام کی آخری لائن اختتامی ہدایت کے ساتھ ختم ہونی چاہئے

8086 پروسیسرز کے پاس ڈیٹا تک رسائی کے لئے دو دیگر ہدایات ہیں ، جیسے WORD PTR - لفظ (دو بائٹس) ، BYTE PTR - بائٹ کے لئے۔

اختیاری کوڈ اور کام

اختیاری کوڈ اور کام

اختیاری کوڈ: ایک واحد ہدایات کو او پی کوڈ کہا جاتا ہے جسے سی پی یو کے ذریعہ عمل میں لایا جاسکتا ہے۔ یہاں 'MOV' ہدایات کو اوپ کوڈ کے نام سے پکارا جاتا ہے۔

آپریشنز: سنگل پیس ڈیٹا کو اوپرینڈز کہا جاتا ہے جو آپ کوڈ کے ذریعہ چل سکتا ہے۔ مثال کے طور پر ، گھٹاؤ آپریشن اوپیراینڈ کے ذریعہ انجام دیا جاتا ہے جو اوپیندرڈ کے ذریعہ منقطع ہوتے ہیں۔
نحو: ایس بی بی ، سی

8086 مائکرو پروسیسر اسمبلی زبان کے پروگرام

کی بورڈ سے کریکٹر پڑھنے کے لئے ایک پروگرام لکھیں

MOV آہ ، 1h // کی بورڈ ان پٹ سب پروگگرام
INT 21h // کردار ان پٹ
// کردار ال میں محفوظ ہے
MOV c ، al // کاپی کردار الٹو c سے

ایک کردار پڑھنے اور اس کی نمائش کے لئے ایک پروگرام لکھیں

MOV آہ ، 1h // کی بورڈ ان پٹ سب پروگگرام
INT 21h // پڑھ کریکٹر الف
MOV dl ، al // کاپی کردار dl کرنے کے لئے
MOV آہ ، 2h // کیریکٹر آؤٹ پٹ سب پروگگرام
INL 21h // dl میں ڈسپلے کردار

عام مقصد کے اندراجات کا استعمال کرتے ہوئے ایک پروگرام لکھیں

ORG 100h
MOV AL ، VAR1 // AL میں منتقل کرکے VAR1 کی قیمت چیک کریں۔
ایل ای اے بی ایکس ، VAR1 // BX میں VAR1 کا پتہ حاصل کریں۔
MOV BYTE PTR [BX] ، 44h // VAR1 کے مندرجات میں ترمیم کریں۔
MOV AL ، VAR1 // AL میں منتقل کرکے VAR1 کی قیمت چیک کریں۔
ٹھیک ہے
VAR1 DB 22h
ختم

لائبریری کے افعال کا استعمال کرتے ہوئے اسٹرنگ کو ظاہر کرنے کے لئے ایک پروگرام لکھیں

emu8086.inc // میکرو اعلان شامل کریں
ORG 100h
پرنٹ ‘ہیلو ورلڈ!’
GOTOXY 10، 5
PUTC 65 // 65 - ‘A’ کا ASCII کوڈ ہے
PUTC ‘B’
آپریٹنگ سسٹم میں RET // واپسی۔
اختتام // مرتب کو روکنے کی ہدایت۔

ریاضی اور منطق کی ہدایات

ریاضی اور منطق یونٹ کے 8086 عمل تین گروہوں جیسے الگ ، تقسیم ، اور انکریمنٹ آپریشن میں الگ ہوگئے ہیں۔ سب سے زیادہ ریاضی اور منطق کی ہدایات پروسیسر کی حیثیت کے رجسٹر کو متاثر کریں.

اسمبلی زبان پروگرامنگ 86 80ne86 یادداشتیں آپ کوڈ کی شکل میں ہیں ، جیسے MOV ، MUL ، JMP ، اور اسی طرح ، جو کام انجام دینے کے لئے استعمال ہوتی ہیں۔ اسمبلی زبان پروگرامنگ 8086 مثالوں

اضافہ
ORG0000h
MOV DX ، # 07H // قدر 7 کو رجسٹر AX میں منتقل کریں //
MOV AX ، # 09H // ویلیو 9 کو اکولیٹر AX میں منتقل کریں //
AX ، 00H // R0 ویلیو کے ساتھ CX ویلیو شامل کریں اور AX // میں اسٹورز کو نتیجہ میں شامل کریں۔
ختم
ضرب
ORG0000h
MOV DX، # 04H // قیمت 4 کو رجسٹر میں منتقل کریں DX //
MOV AX ، # 08H // قدر 8 کو اکولیٹر AX میں منتقل کریں //
مل ایکس ، 06 ایچ // ضرب والا نتیجہ اکومیولیٹر ایکس میں محفوظ کیا گیا ہے //
ختم
گھٹانا
ORG 0000h
MOV DX ، # 02H // DX کو رجسٹر کرنے کے لئے 2 قدر کو منتقل کریں //
MOV AX ، # 08H // قدر 8 کو اکولیٹر AX میں منتقل کریں //
SUBB AX ، 09H // نتائج کی قیمت اکومولیٹر A X میں محفوظ ہے۔
ختم
ڈویژن
ORG 0000h
MOV DX ، # 08H // DX کو اندراج کرنے کیلئے 3 قدر منتقل کریں //
MOV AX ، # 19H // قیمت 5 کو اکولیٹر AX میں منتقل کریں //
ڈی آئی وی ایکس ، 08 ایچ // حتمی قیمت اکومولیٹر ایکس ایکس // میں محفوظ ہے۔
ختم

لہذا ، یہ سبھی آؤٹ لیٹ اسمبلی لیول پروگرامنگ 86 80 80، ، 86 808686 پروسیسر آرکیٹیکچر simple 808686 پروسیسرز ، ریاضی اور منطق کے ہدایات کے لئے آسان مثال پروگرام ہیں۔ اس کے علاوہ ، اس آرٹیکل یا الیکٹرانکس پروجیکٹس کے بارے میں کوئی بھی سوالات ، آپ نیچے تبصرہ سیکشن میں تبصرہ کرکے ہم سے رابطہ کرسکتے ہیں۔