تماس درباره   صفحه اصلی
  زبان اسمبلي > Debug  
 
 

برنامه Debug


برنامه Debug محيطی برای بررسی فايل های مقصد دودوئی و اجرائی است. برنامه امکان انجام تغييرات جزئی در يک برنامه اجرائی را فراهم می کند بدون اينکه نياز به دوباره اسمبل کردن آن باشد.

دستورات Debug


برنامه Debug ابزاری جهت اشکالزدائی، اجرا و تغيير برنامه ها می باشد. اين برنامه امکان نوشتن و اجرای برنامه های کوتاه اسمبلی، نمايش و تغيير محتوای حافظه و ثبات ها، تهيه ليست اسمبلی از يک برنامه اجرائی و دسترسی به پورت ها را می دهد

برنامه Debug جزو فرامين خارجی سيستم عامل DOS است و همراه با سيستم عامل نصب می شود. در سيستم عامل ويندوز می توانيد آنرا در شاخه WINDOWS\system32 پيدا کنيد.

به دو طريق می توان Debug را اجرا کرد. در روش اول تنها نام برنامه Debug در خط فرمان سيستم عامل وارد می شود. در روش دوم نام يک فايل اجرائی و ليست پارامترهای موردنياز آن مقابل کلمه Debug وارد می شود. در اين حالت فايل اجرائی در حافظه لود می شود و تعداد بايت های آن در ثبات های BX:CX قرار می گيرد.


دستورات Debug

با اجرای برنامه علامت آمادگی ( _ ) ظاهر می شود. کليه فرامين Debug در مقابل اين علامت بايد وارد شود. دستورات Debug همگی شامل يک حرف و تعدادی پارامتر هستند.

اگر خطائی در گرامر دستور وجود داشته باشد Debug دستور و محل خطا را نمايش می دهد. هنگام وارد کردن دستورات می توانيد از ترکيب حروف بزرگ و کوچک استفاده کنيد.

کليه فرامين Debug با کليد کنترل Control+C خنثی می شوند.

فرامين در جدول زير ليست شده است:

دستور عمل شرح مثال
A [address] Assemble وارد کردن دستورات اسمبلی A CS:0100
C range address Compare مقايسه بخشی ازحافظه با بخش ديگر C 100 L 100 300
D [range] Dump نمايش محتويات حافظه D cs:100 110
E address [list] Enter تغيير محتويات حافظه E 100 EB
F range list Fill پرکردن آدرس داده شده با مقادير معين F 04BA:100 L 100 42
G [=address [address…]] Go اجرای برنامه موجود در حافظه G cs:7550
H value value Hex حاصل جمع و تفريق دو عدد هگز H 19F 10A
I value Input خواندن يک بايت از پورت مشخص شده I 2F8
L [address [drive:record record]] Load بار کردن يک فايل در حافظه L 04BA:100
M range address Move انتقال يک بلاک حافظه M CS:100 110 CS:500
N filename [filename] Name تنظيم نام فايل N file1.exe
O value byte Output ارسال يک بايت به پورت خرجی O 2F8 4F
Q Quit خروج از محيط Debug Q
R [register-name] Register نمايش و تغيير محتويات ثبات ها R AX
S range list Search جستجوی حافظه S 0FE4:100 110 41
T [=address] [value] Trace اجرای خط به خط دستورات اسمبلی T=011A:0100 1
U [range] Unassemble نمايش دستورات اسمبلی U 04BA:100 L 10
W [address [drive:record record]] Write نوشتن فايل روی ديسک W CS:100 1 37 2B
?   نمايش ليست کليه فرامين Debug ?

مثال. برای ذخيره برنامه موجود در حافظه روی ديسک نام فايل و اندازه آن بايد به صورت زير مشخص شود:

_N filename.Com
_R BX:CX
_W

مثال. دستور r محتويات ثبات های CPU و دستورالعمل بعدی که بايد اجرا شود را نمايش می دهد.

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

Flag Set Clear
Overflow OV NV
Direction DN(Decrement) UP(Increment)
Interrupt EI(Enabled) DI(Disabled)
Sign NG(Negative) PL(Plus)
Zero ZR NZ
Auxiliary Carry AC NA
Parity PE(Even) PO(Odd)
Carry CY NC

 


 


صفحه اصلی| PDF| درباره| تماس