ڊيبگ (DEBUG) اسيمبلر (Assembler) جي ڀيٽ ۾ (سبق ٻيو) اسان توهان کي نوٽ ڪرايو ته هڪ ننڍڙي( short) اسيمبلي پروگرام لکڻ جا ٻه طريقا هوندا آهي، هڪ طريقو آهي ته هڪ سافٽ ويئر يوٽيلٽي (ASM) اسيمبلر جو مخفوف)، کي استعمال ڪري لکجي يا جي اهو وڌيڪ گهرو لکجي ته اُن لاء(MASM)، مائڪروسافٽ اسيمبلر لاء مخفوف9، لکي سگهجي ٿو۔ اسيمبلي لينگئُيج پروگرام لکڻ ائي سمجهو ته مثال هڪ سِرُن جو ڀَٽو آهي، جنهن ۾ هڪ سر کي ٺاهڻ لاء، مٽي، پاڻي ته کپي ئي کپي پر ان کي پچائڻ لاء حاوي يعني باه جو ٻارڻ به گهُرجي ۽ اهو ئي صرف ڪافي ڪونهين،ان کان به وڌيڪ سهولتون به کپن جهڙوڪ انهن پڪين سرن کي جمع ڪري رکڻ لاء فورڪ لفٽر، کڻي بلڊنگ تائن پُهچائڻ لاء گاڏا يا ٽرڪون ته پوء انههن کي جوڙي بلڊنگ ٺهندي۔ هاڻ توهان ان سر کي ته هٿ سان ڇهي سگهو ٿا پر ان اوچي بلڊنگ کي هرگز نه اهڙيء طرح اسيمبلي لينگئيج ۾ به توهان رجسٽر ۽ ميموري لوڪيشن کي ، جنهن کي اسيمبلي لينگئيج ڊيل ٿو ڪري ته پُهچي سگهو ٿا پر توهان ويريبل (Variable A) کي پُهچي ڪونه سگهندئو۔ تنهنڪري چواندا آهيون ته اسيمبلي لينگُئيج پروگرام پاڻي مٽيٕ وانگر concrete ڪنڪريٽ ليول تي ڪم ڪري ٿو ۽ اُهو بٽ، بائيٽس ۽ ورڊ کي رجسٽر ۾ ڊيل ڪري ٿو۔ ۽ پو هڪ مُڪمل پروگرام (ايبسٽريڪٽ) ٺهي ٿو ۽ ڪنهن به مائڪرو پروسيسر جا اهي طبعي رستا آهن۔ جڏنهن ته ٻئي پاسي وارو هائر ل پروگرام ان کان وڌيڪ ايبسٽريڪٽ آهي، جهڙوڪ ، بيسڪ، پاسڪل يا فورٽران وغيره۔ هنن ۾ الاهي ايبسٽريڪٽ (پڪايون) مشتمل هونديون آهن ۽ پو الاهي ايبسٽريڪٽ اسٽيٽمينٽس جڙي هڪ هائر ليول پروگرام ٺاهي سگهبو آهي۔ هيٺين ٽيبل ۽ انهن جي جُزن کي وري وري ڏسو ۽ سمجهو ته جيئن اڳتي هلي اوهان کي اسيمبلي لينگئيج ۽ مشين لينگُئيج پروگرام لکڻ ۽ سمجهڻ ۾ تڪليف نه ٿئي۔ ۽ جيڪو اسان سمجهائيندا هلون اهو سمجهندي توهان به اسان سان گڏوگڏ شارٽ پروگرام ٺاهڻ سکو۔ ان لاى لازمي آهي ته توهان اسان جا ترتيب ڏنل سبق انهي ترتيب سان بار بار پڙهي سمجهو ان ڪري ئي اسان وقفي صقفي سان اڳتي وڌون پيا۔ 1798 اٽيچمينٽ ڏسو
سبق ڇهون، نمبرنگ سسٽم ڇا آهي ۽ هن جو وُجود ڪڏنهن ۽ ڪيئن پيوگهڻيون صديون اڳ انسان ڳڻپ ڪرڻ لاء تصويرن جو سهارو ورتو هو۔ جهڙوڪ هي تصور جنهن کي اسان mastodon مئسٽوڊان چئون۔ 1803 اٽيچمينٽ ڏسو هو اهڙن قسم جي انساني، جانورن، وڻن ٽڻن جي تصريرن سان انگن ۽ اکرن کي سمهجهي ڳڻپ يا جملا لکندا هُئا، انهن لاِ اهي مختف جاميٽري نمان شڪلون 1، 2، 3 ڳڻپ لاِ به استعمال ٿينديون هيون۔ هي طريقو ٿورڙن نمبرن جي ڳڻپ يا اکرن لکڻ لا ته صحيح هو پرجتي وڏا حساب ڪتاب يا لکڻيون هونديون هُيون اتي انهن کي لکڻ ۽ جمع ڪرڻ ۾ تڪليف ٿيندي هُئي۔پوء جهڙوڪ ڪنهن رڍ جي 15 تصويرن کي ٺاهي 15 ڳڻپ ڪئي وڃي ان کي ننڍي ڪرڻ لاءرومن لکڻيٕ جو تصور پئدا ٿيو۔ جهڙوڪ پنجن رڍن جي تصويرن کي جوڙي V يا انهي ترتيب سان 10 يا ان کين وڌ رڍن کي جوڙي X جي شڪل ٺاهي وئي ۽ بترتيب 10 تائين لکائي I, II, III, IV, I, VI, VII, VIII, IX, X, XI جو رواج وجود ۾ آيو جيڪو اڄ به انهيٕ ترتيب سان پڻ هلي ٿو۔ پر جيئن ته اهو رومن سسٽم مڪمل طريقه قار جو نه هو ان ڪري ٻيا طريقا تصور ۾ ايندا ويا۔پوء اها ڳالهه عربن کي سمجهه ۾ آئي ۽ هُنن پنهنجي هٿ پيرن جي هڪ کان ڏهن هئڻ جي نسبت کي ڏسندي 1،2،3،4،5،6،7،8،9 0 جو تصور ڏنو۔ جيڪو اڄ تائين نافذالعمل آهي۔ هنن ڪالم ٺاهي انهن ۾ عربي رسم الخط ۾ نمرن جي چٽسالي ڪئي ۽ اهو 1 کان 9 تائين هو ۽ هنن هڪ خالي ڪالم کان شروعات ڪئي جنهن ۾ ڪجهه به نه هو يعني ٻُڙي (0)۔ 1 کان نون تائن ۽ پوء 0 تائين پُهچندڙ ڪالم جي ٻڙي ختم ٿئي هڪ ڪيري (اڳتي وڌڻ) سان نبمرنگ شروع ٿي جهڙوڪ 10، 11، 12، 13، 14۔۔۔20، 21، 22، 30، 31، 32 وغيره۔بحرحال نمبرن جي ڳڻپ جو تصور10 تائين هُئڻ ڇو هو، اها خبر نه پئجي سگهي ،شايد هٿ ۽ پيرن جي 10 آڱرين جي ڪري۔ پر اهو مئٿميٽڪس جي حساب سان بسبب نه هو۔ ۽ پوء اهو نمبر صرف 0 کان 9 تائين هليو پر اڳتي نه وڌيو ما سوا ان ڪه ان ۾ ڪيري ڪجي۔ تنهنڪري هن نظام کي Base10 سسٽم يا عشاري نظام يا ڊيسيمل سسٽم چئبو آهي۔هاڻ اهو ته ٿيو انسانن لاء ته هو عشاريه )Decimal System) جي محصوصيت هين جي آڱرين تي ڳڻپ ڪري ياد رکي ٿو پر ويچارو ڪمپيوٽر ڇا ڪري، اهو اسانکي سمجهڻو آهي۔ ان ٽين بيس سسٽم نمبرن سان گڏ ٻيا نبمر سسٽم به مُتعارف ٿيا، جهڙوڪ Babylonians بيبيلونينس هڪ اهڙي نببر کي متعارف ڪرايو جيڪو 60 تي پُچي دنگ ڪندو هو۔ هن جي ڳڻپ 1 کان 60 هوندي هُئي۔ اهو طريقو توهان اسانجي واچن، گهڙيالن ۾ ڏسو ٿا، جنهن ۾ 60 سيڪنڊ هڪ منٽ، 60 منٽ هڪ ڪلاڪ ڪيري ڪري ٺاهي ٿو۔ توهانکي ٻُڌائيندو هلان ته توهانجو ڪمپيوٽر هزارين سوئچن Switches ۾ گهريل آهي جيڪي تيزيء سان آن آف ٿيندا رهن ٿا، اهڙيٕ طرح جو توهانجي اک شايد ان کي فزيڪلي ڳڻي به نه سگهي۔ هي بلبن يا LEDs وانگر ٻرندا اجهامندا رهن ٿا۔ ۽ اهو سوئڌنگ جو عمل ان ڪمپيوٽر ۾ وڌل هزارين ٽرانسسٽرز Transistors جي ڪري ٿئي ٿو ۽ هر هڪ سئچنگ ٽرانسسٽر صرف پنهنجون ٻه اسٽيٽس ٻُڌائي ٿو يعني State OFF يا State ON. بس ويچارو هڪڙو ٽرانسسٽر هي ٻه معلومات جمع ڪري سگهي ٿو۔ هن ٻن اسٽيٽس کي اسان آن يا آف، ها يا نه، ڪارو يا اڇو جي ترتيب سان سمجهي سگهون ٿا۔ ۽ ان هر هڪ انفارميشن کي اسان چونداسون Bit (بٽ) ۽ اسان وٽ هڪ ٽرانسسٽر صرف ٻن ممڪن اسٽيٽس سان هوندو۔ 1806 اٽيچمينٽ ڏسو جيئن ته هاڻ توهان سمجهي ويا هوندا ته هڪ ٽرانسسٽر صرف ٻه اسٽيٽس ٻُڌائي ٿو (1،0, on-off, yes, no) انهن نببرن يا ڳڻپ کي وڌائڻ لاء اسان کي شوئچ ٽرانسسٽر به وڌائڻا پوندا۔ جي اسان ٻه ٽرانسسٽر جو ڙيا ته هن جون اسٽيٽس ٻن مان وڌي چار ٿي پونديون ۽ جي ٽي جُڙيا ته اسٽيٽس 8، جي چار ٽرانسسٽر ته اسٽيٽس ٺهنديون 16، ۽ اهڙيٕ طرح 32، پوٕء 64. 1807 اٽيچمينٽ ڏسو مٿئين سمجهاڻيٕ کان پوء هاڻ اسان کي سمجهه ۾ اچي ويو هوندو ته ڪمپيوٽر جي دُنيا ۾حساب ڪتاب ڪرڻ جا ٻه نمبرنگ سسٽم استعمال ٿين ٿا، جهڙوڪ هڪ بائنري سسٽم جيڪو ڪمپيوٽر جي مشين استعمال ڪري ٿي ۽ ٻيو ڊيسيمل سسٽم جنهن کي ڪمپيوٽر ٻاهرئين دُنيا جي سمجهڻلاء ترجمون ڪري ٻُڌائي ٿو۔ته اسيمبلي لينگئيج پروگرام ٺاهڻ لاء اسان کي بائنريٕ کي ڊيسيمل يا ڊيسمل کي بائنريٕ ۾ تبديل ڪرڻو آهي ته مٿين سيکاريل ترتيب سان ائين ڪري سگهجي ٿو۔ پر مسئلو اهو آهي ته يا اهڙن ٻين اسٽينڊرڊ پروگرامن کي ڊزائين ڪرڻ لاء اسان کي عموما" ڊيٽا طرف ڏسڻو آهي جنهن کي ڪمپيوٽر سمجهي يا اُها بائنري اسٽيٽ ۾ هُجي۔ اهو تمام سمجهڻ ضروري آهي ڇو جو اسانکي بٽ اسٽيٽس سان واسطو لازمي رکڻو آهي، نٿ ته انهن نمبرن سان جنهنکي بٽ شو ڪندي۔ جڏنهن اسان ان کي بٽ ۾ ترجمون ڪنداسون ته اسانکي نمرنگ سسٽم جي ضرورت پوندي، جيڪو اسان کي انهن بٽس جي اسٽيٽ ڏيکاري جيڪا on, off هُجي، يا 0 ۽ 1 هجي۔۔ مثال جي اسانکي هڪدم ڌسڻو هُجي ته بائنري 11111100 جون سڀئي بٽ 1 تي سٽ ڪجن، ما سواء ان ٻن جي جيڪي ساڄي پاسي کان آهن، ته جڏنهن هن جي ڊيسيمل Equivalent اڪئويلنٽ تي نظر ڪبي ته اهو 252 هوندو۔ هاڻ اها انفارميشن اسانجي ڪم جي ئي ڪان هوندي ظاهر آهي، کو جو هر بٽ ڪنهن به ٽرانسسٽر جي فزيڪل اسٽيٽس کي نه پيو ڏيکاري ۽ مثال توهان ان جي ڪن به ٽن اسٽيٽس کي بائنري نمر ڳولڻ لاء ايگزيٽ نٿا ڏيکاري سگهو، بس توهان انهن ٽن اسٽيٽس کي صرف 8 تائين ڳڻي سگهو ٿا۔ ان جي جاء تي جي اسان 4 بائنري ڊجٽس استعمال ڪريون ته توهان ان تي زور رکي پويون 10 کان 16 جو ڊيسيمل نمبر معلوم ڪري سگهو ٿا۔ ڇو جو هڪ ڊيسيمل ڊجٽ، ڪٿي نه ڪٿي 3 يا 4 بٽس ۾ هوندو۔ بس اهو آسان رشتو آهي بائنري ۽ ڊيسيمل نمبرن جو پاڻ ۾۔آئڊيل ڪمپيوٽرس لاء ٻه جيڪي آسان نمبرنگ سسٽم استعمال ٿيندا آهن اُهي آهن۔ بيس8 يا آڪٽل سسٽم، يا بيس 16 يا هيڪسا ڊيسيمل سسٽم۔ حقيقت اها آهي ته هيڪسا ڊيسيمل سسٽم کان آڪٽل سسٽم تمام سکڻ آسان آهي۔ پر جيئن ته آڪٽل سسٽم ، 8 ڊجٽس کي لازمي طور 3 بائنري بٽ استعمال ٿو ڪري ان ڪري ان جو استعمال ٿورڙو آڪورڊ آهي۔ تنهنڪري بهرحال هيڪسا ڊيسيمل سسٽم کي اسٽينڊرڊ ڪمپيوٽر نمبرنگ سسٽم لاء استمال ڪبو آهي۔
سبق اٺون (ڊيبگ جي ايف يا فل ڪمانڊ استعمال ڪرڻ هڪ ٻيو آسان طريقو،DEBUG جي F يا فِل (fill command) استعمال ڪرڻ جو آهي، هن ڪمانڊ سان مائڪروپروسيسر جي ميموريٕ جي هڪ خاص گهربل حصي کي هيڪسا ڊيسيمل نمبرن سان ڀريو (fill ) ڪري سگهبو آهي۔ توهانکي خبر آهي ته ڊيبگ جي پهرئين ڪمانڊ پرامپٽ (-) ڊيش سان ٿئي ٿي۔ پوء f يا F اکر لکي f- يا F- ڪنهن خاص ميموري جي حصي کي، پهرئين ايڊريس (Start Address) ۽ آخري ايڊريس (End Address) لکي استعمال ڪبو آهي جهڙوڪ : 1812 اٽيچمينٽ ڏسو مٿي آخري ٽيبل ۾ جڏنهن اسان d100- جي ڪمانڊ وري استعمال ڪري ڏٺي ته اسان ڏٺو ته ميموريٕ جو اهو خاص حصو FF سان ڀرجي ويو، ظاهري ٿيو ته اسان ميموري جي ڪهڙي به حصي کي اسٽارٽ ايڊريس کان اينڊ ايڊريس تائين ڪنهن به ڪانسٽينٽ (Hexa Decimal) ايڊريس سان ڀري سگهون ٿا۔ توهان به پنهنجي هوم ورڪ تحت مختلف اسٽارٽ ۽ اينڊ ايڊريسز ڏئي پريڪٽس ڪريو۔
دوستو! جيئن ته اسان (اسيمبلي لينگئيج ۽ مشين لينگئيج )پرگرام جو آن لائين سکڻ جو پروگرام شروع ڪيو آهي، جيڪو هڪ هفتي جي ستن مشقن (سبقن) تي مشتمل آهي ته اڄ اسانجو پهريون چيپٽر ختم ٿيو۔ ۽ ٻئي چيپٽر ۾ داخل ٿيڻ کان پهرئين اسان انهن مشقن جي انهن رجسٽرڊ دوستن کان ٽيسٽ وٺنداسون جيڪي چاهن ٿا ته مڪمل ڪورس ختم ٿيڻ تي کين (ساليوُوڊ پروڊڪشن، پبليڪيشن ۽ ريسرچ سينٽر نيوسعيد آباد) طرفان هڪ خوبصورت سرٽيفڪيٽ يا ڊپلوما ملي۔ ته اُهي دوست جيڪي رجسٽر ٿي سرٽفڪيٽ يا ڊپلوما حاصل ڪرڻ چاهين ٿا سي پنهنجو پورو نالو، تعليم، ۽ ٻيا تفصيل هنن ئي سبقن تي لکي موڪلين ته کين رجسٽر نمر سان داخلا ڏني وڃي۔
دوستو! جيئن ته اسان (اسيمبلي لينگئيج ۽ مشين لينگئيج )پرگرام جو آن لائين سکڻ جو پروگرام شروع ڪيو آهي، جيڪو هڪ هفتي جي ستن مشقن (سبقن) تي مشتمل آهي ته اڄ اسانجو پهريون چيپٽر ختم ٿيو۔ ۽ ٻئي چيپٽر ۾ داخل ٿيڻ کان پهرئين اسان انهن مشقن جي انهن رجسٽرڊ دوستن کان ٽيسٽ وٺنداسون جيڪي چاهن ٿا ته مڪمل ڪورس ختم ٿيڻ تي کين (ساليوُوڊ پروڊڪشن، پبليڪيشن ۽ ريسرچ سينٽر نيوسعيد آباد) طرفان هڪ خوبصورت سرٽيفڪيٽ يا ڊپلوما ملي۔ ته اُهي دوست جيڪي رجسٽر ٿي سرٽفڪيٽ يا ڊپلوما حاصل ڪرڻ چاهين ٿا سي پنهنجو پورو نالو، تعليم، ۽ ٻيا تفصيل هنن ئي سبقن تي لکي موڪلين ته کين رجسٽر نمر سان داخلا ڏني وڃي۔
پارٽ2 (سبق پهريون) ڊيبگ ۾ شارٽ پروگرام لکڻ دوستو! هن چيپٽر2 ۾ اسان توهانکي هڪ ڪمپليٽ پرشارٽ ايمبلي لينگُئيج پروگرام لکڻ سيکارينداسون ۽ ڊيبگ ۾ استعمال ٿيندڙ ٻين ڊبنگ ڪمانڊس جهڙوڪ ( E-Enter), (A- Assemble) , (U-un-assemble) , (G- GO) يا رن)۔ هن پروگرام ۾ ڇا ڪبو (مقصد) 1۔ هڪ سمپل پروگرام لکبو جيڪو مشين يا اسيمبلي لينگئيج ۾ هوندو۔ 2۔ هن ۾ اسيمبلي لينگئيج جي انسٽرڪشن کي استعمال آڻبو۔ 3۔ مٿيون 4 ڊيبگ ڪمانڊ سکبيون۔ 4۔ مائڪروپراسيسر 8088 جون انسٽرڪشنس استعمال ڪبيون جيڪي هي آهن۔ MOV = Move INT = Interrupt JMP = Jump 5۔ ڊاس فنڪشن سکنداسون جهڙوڪ ڊسپلي آئوٽ پُٽ ڦروگرام ٽرمينٽ ياد رهي ته هاڻ توهان اسيمبلي لينگئيج ۾ پهريون پروگرام لکڻ ته سکو پيا پر توهانکي اڃا اسيمبلي لينگئيج جي مڪمل ڄاڻ ڪانهين۔ تنهنڪري ظاهر آهي ته وچ ۾ الاهي مُنجهارا به ايندا جيڪي توهان اڃا پورا سمجهي نه سگهندئو۔ پرواه نه ڪري! آئون آهيان نه! اسانجي فلحال اپروچ اها آهي ته پهرئين توهان کي ٻُڌايون ته پهرئين ڪجهه ڪيئن ڏسڻ ۾ اچي ٿو، پوء سمجهائينداسون ته ائين ڇو ٿيو ۽ آخر ۾ ته اهو ائين ڏسڻ ۾ ڇو آيو ۽ اهو ڪم ڪيئن ٿو ڪري۔
پارٽ2 (سبق ٻيو) ڊيبگ ۾ E ڪمانڊ سان شارٽ پروگرام لکڻ هن سيڪشن ۾ اسان ڊيبگ DEBUG جي اي E ڪمانڊ استعمال ڪرڻ سکنداسون۔ اي ڪمانڊ E Command استعمال ڪرڻ جو مقصد آهي ته هڪ بائٽ Byte يا (بائٽس Bytes) جي ڊيٽا کي Data ميموريٕ ۾ وجهڻ۔ توهان کي ياد آهي ته اسان پهرئين چيپٽر ۾ F Command سان ميموريٕ جو هڪ حصو ڊيٽا سان ڀريو هو۔ E Command به ٿوڙي ڀاڱي اهو ساڳيو ڪم ٿو ڪري۔ ماسواء ان جي ته E Command سان توهان مختلف بائيٽس جي سيريز اينٽر ڪري سگهو ٿا ۽ ياد رهي ته ان مختلف بائيٽس ڊيٽا جي ويليو ساڳي نه هوندي جهڙيٕ طرح F Command ۾ هوندي هُئي پر هتي مختلف سيريز اينٽر ٿيندي۔ هاڻ جيڪا سيريز آف بائٽس Series of Bytes ڊيٽا اسان پنهنجي E Comands سان وجهڻ پيا وڃون اها ئي اسانجو پروگرام ڪانسٽيٽيوٽ Constitute ڪندي(ٺاهيندي)۔ F Command وانگر توهان ڊيبگ جي ڊيش پرامپٽ تي E لکي پنهنجي ڪنهن به ميموري ايڊريس تي اها ڊيٽا سيريز (بائيٽس) اينٽر ڪرڻ لاء تيار ٿي وڃو۔ 1815 اٽيچمينٽ ڏسو توهان ڏٺو ته جڏنهن توهان ڊيبگ جي ڊيش پرامپٽ تي اي100 ٽائيب ڪئي ته هڪ سيگمينٽ ايڊريس،آفسيٽ ايڊريس آئي ۽ ميموري ايڊريس تي توهان کي 61۔ کان پوء ڊيش ڏئي توهان کان ڊيٽا گهري وئي (ننڍي وڏي اي بي اکرنجو خيال نه ڪريو)۔ ۽ پوء توهان ڏنل ٻه ڊجٽ نمبر ٽائيپ ڪندي اسپيس بار سان اڳتي وڌندا ويا ، ايستائين جو آخري ٻه ڊجٽ نمبر 20 لکي، اينٽر ڪِي سان هڪ بائيٽ سيريز مڪمل ڪئي ۽ پوء توهان ٻي سيريز ٻي سيگمينٽ ۽ آفسيٽ ايڊريس تي ڪرسر ڏسي ٻي ڊيٽا لکي سگهو پيا۔ ياد رهي ته جي غلطي سان به توهان توهان بائٽيٽ مڪمل ٿيڻ تي ۽ اينٽر ڪي نه دٻائڻ تي ڪا ڊيٽا وجهندئو ته قبول نه ٿيندي ۽ هڪ غلطي محسوس ڪرائڻ وارو ميسيج اچي ويندو۔ هاڻ توهان ڪمپيوٽر جي ميموريٕ ۾ E Command سان لوڪيشن 100 کان لوڪيشن 107 تائين پنهنجو پروگرام وڌو۔ اهو رن ڪيئن ڪندو ان کي اسان پنهنجي ٻي سبق ۾ هلي سمجهائينداسون۔
دوستو! هن سبق کي سمجهڻ ۾ ڪي مُنجهارا هُجن ته پنهنجا سوال هن پيج تي لکو ته ان جا جواب ڏئي سگهجن۔ ۽ جي ٻيو ڪوبه دوست جيڪو مشين يا اسيمبلي لئنگئيج جي ڄاڻ رکي ٿو ۽ چاهي ٿو ته ان جو جواب ڏي ته ڏئي سگهي ٿو۔
دوستو! هن سبق کي سمجهڻ ۾ ڪي مُنجهارا هُجن ته پنهنجا سوال هن پيج تي لکو ته ان جا جواب ڏئي سگهجن۔ ۽ جي ٻيو ڪوبه دوست جيڪو مشين يا اسيمبلي لئنگئيج جي ڄاڻ رکي ٿو ۽ چاهي ٿو ته ان جو جواب ڏي ته ڏئي سگهي ٿو۔
پارٽ2 (سبق ٽيون) Debug ۾ A ڪمانڊ سان شارٽ پروگرام لکڻدوستو! توهانکي ٻُڌائيندو هلان ته A Command به ساڳيو ئي ڪم ڪريٿي جهڙو E Command پئي ڪيو جهڙوڪ هنن ڪمانڊن سان پراسيسر جي ميموري ۾ بائيٽس آف ڊيٽا وڌيون وڃن ٿيون جيڪي هڪ پروگرام ٺاهڻ ۾ مدد ڪن ٿيون پر ڪرڻ جا طريقا مختف آهن ۽ A Command ان کي هڪ مختف انداز ۾ جوڙي (Constitute) ڪري ٿي۔ اهو ائين ته جڏنهن اسان A Command استعمال ڪنداسون ته اها E Command وانگر ميموري لوڪيشن ۾ هيڪسا ڊيسيمل وانگر ڊيٽا بائيٽس ڊائريڪٽ ڪان وجهندي۔ ان بدلي ۾ ڪي نيمونيڪس نشانيون آهن (Mnemonic Symbols) آهن جيڪي ڊيٽا وجهڻ لاء ڪتب آڻبيون آهن۔ سمجهاڻيٕ لاء Mnemonics جو آسان مفهوم آهي (ياد ڪرڻ لاء آسان)۔ هي سمبلز يا نشانيون، هيڪساڊيسيمل نبمرن جي ڀيٽ ۾ ياد ڪرڻ تمام آسان آهن۔ هن ۾ ٻه يا ٽي ڪريڪٽر هونداآهن، جنهنجو مطلب يعني معنٰي به هوندي آهي۔ جيڪي گهڻن ئي اسيمبلي لينگئئيج جي هدايتن (Instructions) تي سمجهوتي ۾ آيل يا مشتمل هوندي آهي۔ اهي هدايتون يا (Instructions) مائڪرو پراسيسر کي ٻُڌائينديون ته ڪهڙو آپريشن ڪرڻون آهي، اهي لکڻ وقت عمومن space اسپيس سان فالو ٿينديون آهن ۽ پوء ڪي نمبر يا اکر هوندا آهن جيڪا ٻُڌائيندا آهن ته ڪهڙو آپريشن عمل ۾ آيو يا ڪرڻو آهي۔ اچو ته انهن مان ڪن Mnemonics جي استعمال کي سمجهون۔ mov dl. 1 mov ah. 2 ۔int 21 int 20 هي پروگرام ننڍڙو پيو ڏسجي پر ڇا اهو هڪ تفصيلي مڪمل پروگرام ڪونهين؟ ٿي نه حيرت! اچو ته وري ايڪسرسائيز ڪريون جئي مٿي مختلف ڪمانڊن سکڻ لاِ ڪري آيا آهيون يعني هاڻ A يا a ڪمانڊ کي Debug جي ڊيش پرامپٽ تي 100 کان پوء جي ميموري ڪريش يا اسيمبل ڪرڻ لاٰء ايڊريس لکون a100- 1817 اٽيچمينٽ ڏسو
دوستو! هن سبق کي سمجهڻ ۾ ڪي مُنجهارا هُجن ته پنهنجا سوال هن پيج تي لکو ته ان جا جواب ڏئي سگهجن۔ ۽ جي ٻيو ڪوبه دوست جيڪو مشين يا اسيمبلي لئنگئيج جي ڄاڻ رکي ٿو ۽ چاهي ٿو ته ان جو جواب ڏي ته ڏئي سگهي ٿو۔
پارٽ2 (سبق چوٿون) Debug ۾ U ڪمانڊ سان لکيل پروگرامن کي کولڻ توهان هيٺ ڏسندا ته جڏنهن اسيمبل ٿيل پروگرام کي يو مانڊ سان جڏنهن ان اسيمبلڊ ڪبو آهي ته اها روٽين ڪيئن لکجي ايندي آهي ۽ هو ڪيئن اسيمبلي ۽ مشين لينگئئيج ۾ ورهائجي ويندو آهي ۽ سيگمينٽ ۽ آفسيٽ ايڊريس جي ساڄي پاسي مشين ڪوڊ ڏيکاريل آهن۔ هن ۾ اسان DL ۽ AH رجسٽر ڏيکاري آهن ان جي تفصيل تي اڳين سبقن ۾ ٻُڌائي مشقون ڪنداسون۔ 1818 اٽيچمينٽ ڏسو
پارٽ2 (سبق پنجون) Debug ۾ رجسٽرن جو رجسٽرس مائڪرو پراسيس ۾ هڪ اهڙي جڳهه، جتي اسان جي وڌل ڊيٽا رکجي وڃي ٿي۔ هي ڊيٽا هڪ بائيٽ يا ڪٿي 2 بائيٽس جي به هوندي آهي۔ رجسٽرس رجسٽر به هڪ قسم جي ميموري لوڪيشن آهي، سوا ان جي ته اهي ان جون ڪي اسپيشل خاصيتونProperties به هونديون آهن جنهن سان مائڪروپراسيسر هڪ آسان حساب ڪتاب جي جوڙ جڪ ڪري ٿو جيڪي ڊيٽا رجسٽرس ۾ پيل هوندي آهي اُنهن جي آڌار تي، جڏنهن ته هو صرف ان ۾ بائيٽس کي گهسيڙيندو آهي ۽ انهن کي ئي ميموري لوڪيشنس سان ٻاهر ڪڍندو آهي۔ فلحال اسان ان حساب ڪتاب واري جهنجهٽ ۾ ڪونه ٿا پئون ۽ فلحال رجسٽرس کي هڪ اهڙي جڳهه والارڻ وارو ٿا سمجهون، ساڳئي ميموري لوڪيشن جي ئي طريقي سان جنهن ۾ اسان پنهنجي 8 بٽ بائيٽ ڊيٽا رکي سگهون۔ 1819 اٽيچمينٽ ڏسو
سائين يقيننا اوهان بهترين ڪم ڪري رهيا آهيو، پر جيئن ته هي منهنجي فيلڊ ناهي ان ڪري سمجهڻ کان قاصر آهيان، پر اوهان ضرور جاري رکو، ڌڻي تعالي اوهان کي سلامت رکي۔۔۔
اوهان جي سمجهائڻ جي انداز کي پئي ڏٺم۔۔ اصل واه واه ڪرڻ تي دل ٿي چوي۔ موضوع رُکو آهي، پر ڪم زبردست آهي۔