اجرای دستورات و برنامه اسمبلی در محیط نرم افزار debug

40
ی ل ب م س ه ا م ا رن ب و ورات ت س رای د ج ا ی ل ب م س ه ا م ا رن ب و ورات ت س رای د ج ا ار ز ف رم ا ب ط ی ح م در ار ز ف رم ا ب ط ی ح م درDebug Debug ی س اّ ب ع ای ق) : ا ما ن هد را ا ب س ا ی س اّ ب ع ای ق) : ا ما ن هد را ا ب س ا اده ی ر ل ا و د رض ب ع س ده: ب5 ن ک ه ی ه ت اده ی ر ل ا و د رض ب ع س ده: ب5 ن ک ه ی ه تE-mail: E-mail: [email protected] [email protected]

Upload: hetal

Post on 11-Jan-2016

78 views

Category:

Documents


1 download

DESCRIPTION

اجرای دستورات و برنامه اسمبلی در محیط نرم افزار Debug. استاد راهنما : آقای عبّاسی تهیه کننده: سعید رضا ولی زاده E-mail: [email protected]. آشنایی با چند دستور اسمبلی و کاربرد آن ها. نکته اگر در دستور فقط عدد نوشته شود مانند: MOV BL,12 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

و دستورات و اجرای دستورات اجرایدر اسمبلی در برنامه اسمبلی برنامه

افزار نرم افزار محیط نرم محیطDebugDebug

�اسی : عّب آقای راهنما �اسی : استاد عّب آقای راهنما استاد

: زاده ولی رضا سعید کننده : تهیه زاده ولی رضا سعید کننده تهیهE-mail: E-mail: [email protected]@yahoo.com

Page 2: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

و اسمبلی دستور چند با و آشنایی اسمبلی دستور چند با آشناییها آن ها کاربرد آن کاربرد

نکتهنکته: مانند شود نوشته عدد فقط دستور در :اگر مانند شود نوشته عدد فقط دستور در اگر

MOV BL,12MOV BL,12عدد صورت این عدد در صورت این ثّبات 1212در ثّبات به . BLBLبه ولی شود می . منتقل ولی شود می منتقل

مثال شود نوشته کروشه داخل عدد مثال اگر شود نوشته کروشه داخل عدد خانه [[02000200]]اگر خانه محتوای محتوایبرابر داده سگمنت در ، آن آدرس که ای برابر حافظه داده سگمنت در ، آن آدرس که ای 02000200حافظه

. نوشته اگر مثال عنوان به شود می گرفته نظر در . است نوشته اگر مثال عنوان به شود می گرفته نظر در استMOV BL,[0200]MOV BL,[0200]شود: شود:

آن آدرس که ای حافظه خانه محتوای آن یعنی آدرس که ای حافظه خانه محتوای به 02000200یعنی به است استآدرس BLBLثّبات ثّبات حافظه خانه محتوای اگر و ، شود آدرس منتقل حافظه خانه محتوای اگر و ، شود منتقل

عدد ، عدد مذکور ، عدد 2525مذکور صورت این در ، عدد باشد صورت این در ، ثّبات 2525باشد ثّبات به BLBLبه. شد خواهد .منتقل شد خواهد منتقل

Page 3: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

وقفه دستورات وقفه کاربرد دستورات کاربرد

دستور دستورINTINT : شما برنامه که شود می شما : باعث برنامه که شود می باعثسیستم های برنامه به و ، شود قطع سیستم موقتا های برنامه به و ، شود قطع موقتا

های برنامه یا ، های عامل برنامه یا ، ، BIOSBIOSعامل شود ، مراجعه شود مراجعهدوباره و ، دهد انجام را شده خواسته دوباره عملیات و ، دهد انجام را شده خواسته عملیات

. برگردد شما برنامه .به برگردد شما برنامه به : مّبنای در مقادیر تمام مّبنای : توجه در مقادیر تمام .hexhexتوجه .هستند هستند

Page 4: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

وقفه های سرویس از وقفه تعدادی های سرویس از تعدادی

سیستم 1(1( تاریخ سیستم گرفتن تاریخ گرفتندستور دستور از قّبال INT 21HINT 21Hاز که شرطی به شود، می قّبال استفاده که شرطی به شود، می استفاده

ثّبات ثّبات در :2AH2AHمقدار مقدار AHAHدر . یعنی باشد شده داده :قرار . یعنی باشد شده داده قرارMOV AH,2AMOV AH,2AINT 21INT 21

میگیرد قرار زیر های ثّبات در سیستم تاریخ دستورات این اجرای میگیرد با قرار زیر های ثّبات در سیستم تاریخ دستورات این اجرای باهفته ) هفته ) روزهای ، 00روزهای یکشنّبه ، برای یکشنّبه ، 11برای دوشنّبه ، جهت دوشنّبه ==ALAL...( ...( 22جهت

مثال ) هگزا صورت به مثال ) سال هگزا صورت به 07D0=200007D0=2000 = ) = ) CXCXسالهگزا ) صورت به هگزا ) ماه صورت به 0CH0CH= ) = ) DHDHتا تا 0101ماه

از ) از ) روز ( = 1F1Fتا تا 0101روز هگزا فرم ( = به هگزا فرم DLDLبهمثالمثال

Page 5: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

وقفه وقفه دستور INT 3INT 3دستور

دستور ((22 توسط دستورات اجرای دستور پایان توسط دستورات اجرای INT 3INT 3پایان

CPUCPU می متوقف دستور این اجرای محض می به متوقف دستور این اجرای محض بهثّبات محتویات توان می لزوم صورت در و ثّبات شود محتویات توان می لزوم صورت در و شود

. کرد برسی را حافظه های خانه و .ها کرد برسی را حافظه های خانه و ها اجرای توقف برای توان می را دستور این اجرای الّبته توقف برای توان می را دستور این الّبته

که صورتی در ، برد کار به نیز برنامه که دستورات صورتی در ، برد کار به نیز برنامه دستوراتاست ممکن نشود استفاده دستور این است از ممکن نشود استفاده دستور این از

. کند قفل .کامپیوتر کند قفل کامپیوتر

Page 6: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

DEBUGDEBUG افزار افزار نرم نرم

زبان دستورات اجرای جهت کمکی زبان ابزاری دستورات اجرای جهت کمکی ابزاریو تغییر ، اجرا ، آزمایش ، ایجاد برای و و اسمّبلی تغییر ، اجرا ، آزمایش ، ایجاد برای و اسمّبلی

. است اسمّبلی زبان به ، برنامه یابی .اشکال است اسمّبلی زبان به ، برنامه یابی اشکال : از استفاده های مزیت از یکی از : نکته استفاده های مزیت از یکی نکته

DEBUGDEBUG قابل مستقیما برنامه که است این قابل ، مستقیما برنامه که است این ،ندارد ترجمه به نیازی ، بوده ندارد اجرا ترجمه به نیازی ، بوده اجرا

Page 7: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

محیط از استفاده های محیط مزیت از استفاده های مزیتdebugdebug

را آن و نوشت برنامه اسمّبلی زبان به را مستقیما آن و نوشت برنامه اسمّبلی زبان به مستقیما. نمود .اجرا نمود اجرا

محیط به توان می را اسمّبلی زبان به آماده محیط برنامه به توان می را اسمّبلی زبان به آماده برنامهdeubugdeubug کرد آزمایش را آن و داده کرد انتقال آزمایش را آن و داده انتقال

اجرا دستور به دستور توان می را اسمّبلی اجرا برنامه دستور به دستور توان می را اسمّبلی برنامهرا حافظه خانه و ، ها ثّبات محتوات و ، را کرد حافظه خانه و ، ها ثّبات محتوات و ، کرد

. داد انجام را الزم تغییرات و .مشاهده داد انجام را الزم تغییرات و مشاهده دید توان می را سگمنت هر حافظه دید محتویات توان می را سگمنت هر حافظه محتویات و اسمّبلی زبان به را دستورات تمام توان و می اسمّبلی زبان به را دستورات تمام توان می

. داد نشان ماشین زبان به را آن .معادل داد نشان ماشین زبان به را آن معادل

Page 8: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

محیط به شدن محیط وارد به شدن debugdebugوارد

یعنی را افزار نرم این اجرایی فایل یعنی کافیست را افزار نرم این اجرایی فایل کافیستdebug.exedebug.exe کنیم اجرا عامل سیستم توسط کنیم زا اجرا عامل سیستم توسط زا

به شّبیه کاری محیط حالت این در به ، شّبیه کاری محیط حالت این در ،DOSDOS باز بازفرمان خط جای به که تفاوت این با شود فرمان می خط جای به که تفاوت این با شود می

)-( :\<( :\<( CC))داس داس شود می ظاهر تیره عالمت )-( یک شود می ظاهر تیره عالمت یک

Page 9: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

windowswindowsدر در debugdebugاجرای اجرای

از ازstartstart منو منوrunrun کنیم می انتخاب کنیم را می انتخاب را

کلمه کلمه سپس در debugdebugسپس در را دکمه runrunرا کرده دکمه تایپ کرده تایپenterenter دهیم می فشار دهیم را می فشار را

RUNSTART MENU

DEBUG

Page 10: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

محیط از شدن محیط خارج از شدن DEBUGDEBUG خارج

:دستورات تمام دستورات: نکته تمام هستند debugdebugنکته حرفی هستند تک حرفی تک

محیط از شدن خارج محیط جهت از شدن خارج فرمان DEBUGDEBUGجهت فرمان از ازQQ می باعث فرمان این که ، کنیم می می استفاده باعث فرمان این که ، کنیم می استفاده

برگردیم عامل سیستم به برگردیم شود عامل سیستم به شود

Page 11: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

برنامه های برنامه فرمان های DEBUGDEBUGفرمان

فرمان فرمانA(Assemble)A(Assemble) : کردن وارد برای فرمان کردن : این وارد برای فرمان این . هاست آن ترجمه و ، حافظه در اسمّبلی زبان . دستورات هاست آن ترجمه و ، حافظه در اسمّبلی زبان دستورات

: صورت به فرمان این کلی صورت :شکل به فرمان این کلی شکل > شروع> < آدرس شروع> AAآدرس

در ای حافظه خانه شروع آدرس ، آدرس این که باشد در می ای حافظه خانه شروع آدرس ، آدرس این که باشد میبه آدرس آن از دستور خواهیم می ما که است کد به سگمنت آدرس آن از دستور خواهیم می ما که است کد سگمنت

شود نوشته شود بعد نوشته بعد (آدرس افست با ای حافظه به عامل سیستم آدرس) چون افست با ای حافظه به عامل سیستم FFFFتا تا 0000چون

افزار نرم لذا ، دارد نیاز خود اطالعات افزار برای نرم لذا ، دارد نیاز خود اطالعات به debugdebugبرای به ، ،آدرس از فرض پیش آدرس عنوان از فرض پیش .(100H100Hعنوان کند می اجرا را .(برنامه کند می اجرا را برنامه

Page 12: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

کردن وارد از کردن پس وارد از می A100A100پس ظاهر رقمی چهار عدد می دو ظاهر رقمی چهار عدد دومانند : : اند شده جدا هم از عالمت یک با که مانند : :شود اند شده جدا هم از عالمت یک با که شود

-A 100-A 100

13BC:010013BC:0100

یعنی سگمنت شماره ، چپ سمت یعنی عدد سگمنت شماره ، چپ سمت است است CS=13BCCS=13BCعددحافظه خانه افست شماره ، راست سمت شماره حافظه و خانه افست شماره ، راست سمت شماره و

. IP=100IP=100یعنی یعنی اعداد این دیدن از پس باشد . می اعداد این دیدن از پس باشد می . دستور هر از پس کنیم می وارد را اسمّبلی . دستورات دستور هر از پس کنیم می وارد را اسمّبلی دستورات

. ENTERENTERدکمه دکمه زنیم می . را زنیم می را نوشتن بدون ، بار یک رسید پایان به دستورات که نوشتن وقتی بدون ، بار یک رسید پایان به دستورات که وقتی

دکمه ، دکمه دستوری ، ورود ENTERENTERدستوری کار تا دهیم می فشار ورود را کار تا دهیم می فشار را. رسد پایان به اسمّبلی .دستورات رسد پایان به اسمّبلی دستورات

Page 13: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

در ) اسمبلی دستورات تایپ در ) مثال اسمبلی دستورات تایپ مثال ( (debugdebugمحیط محیط

MOV AL,6 MOV AL,6 ; (1); (1)

MOV BL,8MOV BL,8 ; (2); (2)

ADD AL,BLADD AL,BL ; (3); (3)

MOV DL,5MOV DL,5 ; (4); (4)

Page 14: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

برنامه گذاری برنامه نام گذاری نام

: فرمان از فرمان :کافیست از کافیست

-N -N برنامه برنامه نام نام

. مورد این در مثال کنیم . استفاده مورد این در مثال کنیم نام نام TEST.COMTEST.COMاستفادهزیر : فرمان با که باشد می مربوطه زیر :برنامه فرمان با که باشد می مربوطه برنامه

-N TEST.COM-N TEST.COM

شود می داده اختصاص برنامه به نام شود این می داده اختصاص برنامه به نام این

Page 15: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

UUفرمانفرمان

دستور دستورU (Un assemble)U (Un assemble) که شود می که باعث شود می باعثقرار حافظه در ماشین زبان به که قرار دستوراتی حافظه در ماشین زبان به که دستوراتی

شود برگردانده اسمّبلی زبان به ، شود دارند برگردانده اسمّبلی زبان به ، دارند

فرمان کلی فرمان شکل کلی شکل

U <U < شروع شروع آدرس پایان < >< >آدرس پایان آدرس آدرس >>

Page 16: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

مثالمثال

دستور از بخواهیم دستور اگر از بخواهیم به 104H104Hتا تا 100H100Hاگر به را رابّبینیم اسمّبلی بّبینیم صورت اسمّبلی صورت

U 100 104U 100 104

نتیجه:نتیجه:

Page 17: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

فرمان مقابل فرمان اگر مقابل ، UUاگر نگذاریم ای ، شماره نگذاریم ای شمارهاز حافظه از محتویات حافظه که CS:120CS:120تا تا CS:100CS:100محتویات که را را

اسمّبلی 3232 دستورات صورت به شود می اسمّبلی بایت دستورات صورت به شود می بایتزبان دستورات صورت به را ها آن معادل زبان و دستورات صورت به را ها آن معادل و

دهد می نشان دهد ماشین می نشان ماشینزبان دستورات

اسمّبلیزبان دستورات

ماشین

Page 18: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

RRفرمان فرمان

RR (Register)(Register) ، دهد می نمایش را ها ثّبات محتوای فرمان ، این دهد می نمایش را ها ثّبات محتوای فرمان این

نشان را پرچم های بیت وضعیت این بر نشان عالوه را پرچم های بیت وضعیت این بر عالوهدهد دهد می می

R [R [ ثّبات ثّبات نام [[نام

روی را ها ثّبات تمامی ، نشود ذکر ثّبات نام روی اگر را ها ثّبات تمامی ، نشود ذکر ثّبات نام اگردهد می نمایش دهد مانیتور می نمایش مانیتور

Page 19: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

مثالمثال

-R-R

صورت: به پرچم های بیت وضعیت صورت: توجه به پرچم های بیت وضعیت NV UPNV UPتوجه..... است شده .نوشته است شده نوشته

Page 20: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

های وضعیت دارای پرچم های ثبات وضعیت دارای پرچم ثباتباشد می باشد زیر می زیر

صفر حالت صفر در حالت در یک حالت یک در حالت در پرچم های پرچم بیت های بیت

ندارد وجود ریز ندارد سر وجود ریز سرNVNV

افزاینده افزاینده آدرس آدرسUPUP

فعال غیر فعال وقفه غیر DIDIوقفه

مثّبت مثّبت نتیجه PLPLنتیجه

صفر غیر صفر نتیجه غیر NZNZنتیجهنقلی عدمعدم نقلی وجودبیت وجودبیت

NANAکمکیکمکی

POPOفرد فرد

نقلی بیت نقلی وجود بیت NCNC وجود

دارد وجود ریز دارد سر وجود ریز OVOVسر

کاهنده کاهنده آدرس آدرسDNDN

فعال فعال وقفه EIEIوقفه

منفی منفی نتیجه NGNGنتیجه

صفر صفر نتیجه ZRZR نتیجه

کمکی نقلی بیت کمکی وجود نقلی بیت وجودACAC

PEPEزوج زوج

نقلی بیت نقلی وجود بیت CYCY وجود

ریز ریز سر OFOFسر

آدرس آدرس جهت جهتDFDF

IFIF وقفهوقفه

عالمت عالمت SFSF

نتیجه بودن نتیجه صفر بودن صفرZFZF

کمکی نقلی کمکی بیت نقلی بیتAFAF

توازن توازن بیت بیتPFPF

نقلی نقلی بیت CFCFبیت

Page 21: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

ثبات یک محتویات ثبات مشاهده یک محتویات مشاهدهخاصخاص

فرمان از بعد است فرمان کافی از بعد است کنیم RRکافی تایپ را ثّبات کنیم نام تایپ را ثّبات نام

: مثال عنوان :به مثال عنوان به

-R AX-R AX

AX 000EAX 000E

:0000:0000

ثّبات ثّبات محتویات برابر AXAXمحتویات برابر را . 000E000Eرا در و دهد می . نشان در و دهد می نشانمقدار : بخواهیم اگر که گذارد می را عالمت بعد مقدار : سطر بخواهیم اگر که گذارد می را عالمت بعد سطر

کنیم تایپ را مربوطه عدد کافیست ، کنیم عوض را کنیم ثّبات تایپ را مربوطه عدد کافیست ، کنیم عوض را ثّباترا : صفر مثال جدید عدد عالمت از بعد مثال این در را : که صفر مثال جدید عدد عالمت از بعد مثال این در که

ثّبات ثّبات وارد کینم AXAXوارد کینم می می

Page 22: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

پرچم ثبات محتویات پرچم مشاهده ثبات محتویات مشاهده

دستور از استفاده دستور با از استفاده با

-RF-RF

Page 23: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

پرچم های بیت مقادیر پرچم تغییر های بیت مقادیر تغییر

دستور که از RFزمانی پس ، شود می اجرازن – چشمک عالمت پرچم های بیت نمایش . مقادیر توان می زمان این در گیرد می قرار

داد اختصاص ها بیت به جدیدیمقدار اینجا به NCدر دهیم CYرا می تغییر

Page 24: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

GGفرمان فرمان می حافظه درون اسمّبلی برنامه اجرای باعث فرمان می این حافظه درون اسمّبلی برنامه اجرای باعث فرمان این

شودشود کلی کلی شکل شکل

G <=G <= شروع شروع آدرس توقف < >< >آدرس توقف آدرس آدرس >>

به = شود می شروع عالمت با که آدرس به = اولین شود می شروع عالمت با که آدرس می می DEBUGDEBUGاولینکند برنامه اجرای به شروع آدرسی چه از که کند گوید برنامه اجرای به شروع آدرسی چه از که گوید

جلوی عدد یک تنها جلوی اگر عدد یک تنها زمانی GGاگر تا دستورات ، شود زمانی نوشته تا دستورات ، شود نوشتهبرساند پایان به را خود کار نحوی به خود برنامه که دارد برساند ادامه پایان به را خود کار نحوی به خود برنامه که دارد ادامه

، باشد نداشته وجود کار به دادن پایان برای دستوری ، اگر باشد نداشته وجود کار به دادن پایان برای دستوری اگر. کند می قفل کامپیوتر و شد نخواهد متوقف برنامه .اجرای کند می قفل کامپیوتر و شد نخواهد متوقف برنامه اجرای

عالمت مساوی

Page 25: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

پایان در ها ثّبات وضعیت فرمان این ضمن پایان در در ها ثّبات وضعیت فرمان این ضمن در. داد خواهد نشان نیز را دستورات .اجرای داد خواهد نشان نیز را دستورات اجرای

که اسمّبلی زبان دستور ، آخر سطر در که همچنین اسمّبلی زبان دستور ، آخر سطر در همچنینزبان به آن ترجمه با همراه ، شود اجرا باید زبان بعدا به آن ترجمه با همراه ، شود اجرا باید بعدا

. دهد می نمایش نیز ، را .ماشین دهد می نمایش نیز ، را ماشین

Page 26: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

کلی کلی مثال مثال

دستورات دستورات کاربرد A,U,R,GA,U,R,Gکاربردفرمان با حافظه در برنامه کردن فرمان وارد با حافظه در برنامه کردن A100A100وارد

MOV AX,1MOV AX,1 MOV BX,2MOV BX,2 MOV CX,3MOV CX,3 ADD AX,BXADD AX,BX ADD AX,CXADD AX,CX INT 3INT 3

Page 27: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

کار کار روند روند

دستور با برنامه دستور نوشتن با برنامه AAنوشتنUnassembleUnassemble فرمان با برنامه فرمان کردن با برنامه U 100 10DU 100 10Dکردن فرمان با ها ثّبات محتویات دادن فرمان نشان با ها ثّبات محتویات دادن RRنشان دستور با برنامه دستور اجرای با برنامه GGاجرای

Page 28: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

TTفرمان فرمان

شود می دستورات خط به خط اجرای شود باعث می دستورات خط به خط اجرای باعث

T <=T <= شروع شروع آدرس دستورات < >< >آدرس دستورات تعداد تعداد >>

دومی و است شروع دستور اولین آدرس اول دومی عدد و است شروع دستور اولین آدرس اول عدد. شود اجرا باید که است دستوراتی .تعداد شود اجرا باید که است دستوراتی تعداد

بیت و ها ثّبات محتویات ، دستور هر اجرای بیت با و ها ثّبات محتویات ، دستور هر اجرای باشود می داده نمایش پرچم شود های می داده نمایش پرچم های

تعداد نشود ذکر دستورات تعداد که صورتی تعداد در نشود ذکر دستورات تعداد که صورتی در. کرد خواهد فرض یک را .دستور کرد خواهد فرض یک را دستور

Page 29: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

مثالمثال

دستور با برنامه دستور اجرای با برنامه TT اجرای MOV AX,1MOV AX,1 MOV BX,2MOV BX,2 MOV CX,3MOV CX,3 ADD AX,BXADD AX,BX ADD AX,CXADD AX,CX INT 3INT 3

Page 30: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

E(ENTER)E(ENTER)فرمان فرمان

می خانه یک محتویات تغییر و بررسی می جهت خانه یک محتویات تغییر و بررسی جهتباشد.باشد.

فرمان این کلی فرمان شکل این کلی شکل

E <E <آدرسآدرس>>

مثالمثال

E 120E 120

مثال جدیدی مقدار بخواهیم کلید 20اگر عدد ورود از پس کنیم وارد را ENTERرادهیم می فشار

Page 31: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

F(FILL)F(FILL)فرمان فرمان

حافظه از خاصی ناحیه در ای داده ذخیره حافظه برای از خاصی ناحیه در ای داده ذخیره برایشود می برده کار شود به می برده کار به

F <F < شروع شروع آدرس پایان < >< >آدرس پایان آدرس ها < >< >آدرس ها داده داده >>

آدرس از بخواهیم اگر آدرس مثال از بخواهیم اگر مقدار 106106تا تا 100100مثال با مقدار را با را2323. کنیم .پر کنیم پر

F 100 106 23F 100 106 23

Page 32: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

D(DUMP)D(DUMP)فرمان فرمان

های خانه محتویات که شود می باعث فرمان های این خانه محتویات که شود می باعث فرمان اینداده نمایش هگزادسیمال کد صورت به داده حافظه نمایش هگزادسیمال کد صورت به حافظه

شودشود اسکی های کد که ارقامی و حروف این بر اسکی عالوه های کد که ارقامی و حروف این بر عالوه

سمت ، هستند مانیتور روی نمایش قابل ها سمت آن ، هستند مانیتور روی نمایش قابل ها آنشوند می داده نمایش مانیتور شوند راست می داده نمایش مانیتور راست

محتوای نگذاریم را انتهای آدرس محتوای اگر نگذاریم را انتهای آدرس بایت بایت 128128اگرشود می داده نمایش حافظه شود خانه می داده نمایش حافظه خانه

سمت در نّباشند نمایش قابل اسکی کدهای سمت اگر در نّباشند نمایش قابل اسکی کدهای اگرشد خواهد داده نمایش نقطه شد راست خواهد داده نمایش نقطه راست

Page 33: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

مثالمثال

Page 34: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

WWفرمان فرمان

دیسک روی بر نوشتن دیسک فرمان روی بر نوشتن فرمان فرمان توسط فرمان ابتدا توسط نسّبت NNابتدا نامی برنامه نسّبت به نامی برنامه به

فرمان توسط سپس و دهیم فرمان می توسط سپس و دهیم را WW می را آن آنکنیم می کنیم دخیره می دخیره

پسوند با های برنامه پسوند فقط با های برنامه توان COMCOM..فقط می توان را می را. نمود ذخیره طریق این .به نمود ذخیره طریق این به

Page 35: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

خروجی و ورودی های خروجی فرمان و ورودی های فرمان

توان می خروجی و ورودی ی ها فرمان توان با می خروجی و ورودی ی ها فرمان باها پورت در یا خواند ها پورت از را ها اطالعات پورت در یا خواند ها پورت از را اطالعات

نوشت .نوشت . فرمان فرمانII ( خواندن خواندن ) برای اطالعات برای بایت اطالعات یک بایت یک

ها ( ها (پورت پورت

-I <-I < پورت پورت شماره <<شماره

Page 36: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

صفحه( روی های چراغ وضعیت به مربوط پورت صفحه( مثال روی های چراغ وضعیت به مربوط پورت مثالاست است 417417کلید کلید

-I 417-I 417عدد کامپیوتر عدد که کامپیوتر یعنی :20H20Hکه نویسد می مانیتور روی یعنی :را نویسد می مانیتور روی را

بیت : بیت : شماره 00 11 22 33 44 55 66 77شمارهبیت : بیت : مقدار 00 00 00 00 00 11 00 00مقدار

44 SCROLL LOCKSCROLL LOCK55 NUM LUCKNUM LUCK66 CAPSLOCKCAPSLOCK

Page 37: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

خروجی خروجی فرمان OOفرمان

پورت روی بر اطالعات فرستادن پورت برای روی بر اطالعات فرستادن برای

O <O < پورت پورت شماره جدید < >< >شماره جدید مقدار مقدار >>

کامپیوتر ))مثالمثال گو بلند شود می باعث اول کامپیوتر فرمان گو بلند شود می باعث اول فرمانقطع باعث دوم فرمان و بکشد ممتد سوت قطع یک باعث دوم فرمان و بکشد ممتد سوت یک

شود می بلندگو شود صدای می بلندگو صدای

-O 61 4F-O 61 4F

-O 61 4E-O 61 4E

Page 38: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

سیستم( از تاریخ گرفتن سیستم( مثال از تاریخ گرفتن مثال

MOV AH,2AHMOV AH,2AH

INT INT 21H21H می قرار ها ثّبات در امروز تاریخ مقادیر فوق دستور اجرای می با قرار ها ثّبات در امروز تاریخ مقادیر فوق دستور اجرای با

گیردگیرد دوشنّبه 11شماره شماره دوشنّبه یعنی AL=1AL=1یعنی

برابر سال پس است هگزا صورت به برابر lَچون سال پس است هگزا صورت به باشد lَ20062006چون باشد می میCX=7D6CX=7D6

نوامّبر یعنی میالدی یازدهم نوامّبر ماه یعنی میالدی یازدهم DH=0BDH=0Bماه

برابر 1414 دهدهی صورت به برابر هگزا دهدهی صورت به شود 2020هگزا شود می DL=14DL=14می

دوشنّبه برابر تاریخ دوشنّبه بنابراین برابر تاریخ . 20062006نوامّبر نوامّبر 2020بنابراین باشد .می باشد می

Page 39: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

نتیجهنتیجه

AL AL هفته هفته روز سالسال CX CX روز

DH DH ماهماه DL DL روزروز

Page 40: اجرای دستورات و برنامه اسمبلی در محیط نرم افزار  Debug

: اسمّبلی و ماشین زبان اسمّبلی : مرجع و ماشین زبان رضی مرجع سید حسن رضی دکتر سید حسن دکتر