دستور Q ( Quit)
این دستور برای خروج از برنامه debug بدون ثبت تغییرات اعمال شده به فایل مورد نظر به کار می رود و به صورت زیر استفاده می شود :
Q
دستور G (GO)
این دستور موجب اجرای برنامه ای که توسط debug به حافظه منتقل شده است می شود و به صورت زیر به کار می رود:
G [=address] [address]
اگر دستور G بدون آدرسهای لازم به کار برده شود فایل موجود در حافظه ، همانطور که در سطح سیستم عامل اجرا می گردد در debug نیز اجرا خواهد شد. اولین آدرس که با علامت "=" شروع می شود ، به debug می گوید که از چه آدرسی شروع به اجرای برنامه بنماید. آدرسهای بعدی و همچنین اولین آدرس اگر همراه با علامت مساوی ( =) نباشد ، به عنوان آدرسهای توقف محسوب می شوند که حداکثر تا 10 نقطه توقف قابل تعریف است. پس از اینکه اجرای برنامه به نقطه توقف رسید ، اجرای آن متوقف شده و محتویات ثباتها مشابه به حالتی که از فرمان R استفاده شده باشد ، روی صفحه نمایش ظاهر خواهند شد. وقتی اجرای برنامه به یک نقطه توقف رسید ، نقطه توقف بعدی نادیده گرفته خواهد شد . اگر پس از رسیدن به نقطه توقف از دستور G استفاده کنیم ، اجرای برنامه از این نقطه تا انتهای آن ادامه پیدا می کند.
مثال :
G CS : 7550
دستور فوق موجب اجرای برنامه موجود در حافظه تا آدرس 7550 از ناحیه CS می شود و سپس محتویات جدید ثباتها را نمایش می دهد.
دستور I (Input)
این دستور برای خواندن یک بایت از اطلاعات پورتی که شماره آن در این دستور گفته می شود به کار رفته و به صورت زیر استفاده می شود :
I < Port Number>
شماره پورت ، مشخص کننده پورتی است که اطلاعات باید از آنجا خوانده شوند و آدرس پورت حداکثر یک عدد 16 بیتی است.
-I 2F8
با جرای دستور فوق ، debug یک بایت از پورت شماره 2F8 را خوانده و روی صفحه نمایش ، نمایش می دهد.
دستور O ( Output)
این دستور برای فرستادن یک بایت از اطلاعات به یک پورت به کار رفته و به صورت زیر استفاده می شود :
·
Port Number یا شماره پورت که حداکثر یک عدد 16 بیتی است مشخص کننده پورتی است که اطلاعات ( Value) یا مقدار مورد نظر که حداکثر یک بایت است ، باید به آن منتقل شود.
-O 2F8 4F
این دستور مقدار 4F را پورت شماره 2F8 منتقل می کند.
دستور D ( Dump)
این دستور برای نمایش محتویات قسمتهایی از حافظه بر روی صفحه نمایش به کار می رود و به صورت زیر استفاده می شود :
D [Memory Renge]
محدوده حافظه یا memory range ممکن است به صورتهای زیر باشد :
یا آدرس 2 [,] آدرس 1
<مقدار> آدرس
آدرس 1 و آدرس 2 محدوده ای را مشخص می کنند که دستور D باید روی آنها عمل کند. آدرس اول می تواند آدرس یک ناحیه باشد مثل CS:100
آدرس 1 محلی از حافظه را مشخص می کند که اجرای فرمان D از آنجا شروع شود و L همرا با مقدار مشخص کننده تعداد بایتی است که فرمان D باید محتویات آنها را نمایش دهد.
اگر D را بدون محدود حافظه به کار ببریم 128 بایت از ابتدای برنامه و یا اولین آدرسی که در این دستور D منظور شده است نمایش داده می شود. در کامپیوتر های شخصی IBM تاریخ ROM از آدرس F000 تا FFF5 قرار دارد که به راحتی می توان با استفاده از فرمان D آن را مشاهده نمود . تاریخ وابسته به کامپیوتر های شخصی به صورت ذیل است :
01/10/84 : PC AT
04/28/81 : original IBM PC
10/19/86 : update PC ROM
08/16/82 : original PC XT
10/27/87 : update PC XT ROM
11/08/85 : PC poratable
06/19/83 : PC jr
مثال :
C:\> Debug
-D F000 :FFF5,FFFC
F000:FFF0 30 31 2F-31 30 2F 38 24 01\10\84
-D F000:FFF5,L,8
F000 :FFF5 30 31 2F-31 30 2F 38 34 01\10\84
D CS : 100
13C6:0100 B8 23 01 05 25 00 8B D8-03 D8-03 D8 8B CB 2B C8 2B CB 2B C0 .#..%.......+.+
13C6:0110 90 CB 8D 46 14 50 51 52-FF 76 28 E8 74 00 8B E5 …F.PQR.V(.t…
13C6:0120 B8 01 00 50 FF 76 32 FF-76 30 FF 76 2E FF 76 28 …P.v2.v0.v..v
13C6:0130 E8 88 15 8B E5 FF 36 18-12 FF 36 16 12 8B 76 28 …..6…6..v
13C6:0140 FF 74 3A 89 46 06 E8 22-CE 8B E5 30 E4 3D 0A 00 .t..F"…0 . = .
13C6 : 0150 75 32 A1 16 12 2D 01 00-8B 1E 18 12 83 DB 00 53 U2…-…….
13C6 : 0160 50 8B 76 28 FF 74 3A A3-16 12 89 1E 18 12 E8 FA p.v (.t……
13C6:0170 CD 8B E5 30 E4 3D 0D 00-74 0A 83 06 16 12 01 83 …o.=..t….
دستور F (Fill)
این دستور برای پرکردن محدوده ای از حافظه با مقادیر خاثی به کار رفته و به صورت زیر استفاده می شود :
F
محدوده حافظه که توسط دو آدرس و یا یک آدرس و یک مقدار ، که مشخص کننده تعداد بایتهای حافظه است ( مشابه آنچه در دستور D گفته شد) تعیین می کند که چه قسمتهایی از حافظه باید توسط این دستور ، محتویات جدیدی بگیرند.
مقادر یا Value شامل یک یا چند مقدار عددی در مبنای 16 و یا یک عبارت رشته ای است که محدوده حافظه مشخص شده باید با این اعداد و یا عبارت رشته ای پر شود . عبارت رشته ای داخل نقل قول (' ') قرار داشته باشد .
صفحه نمایش رنگی IBM محدوده ای از حافظه است که از آدرس B800H شروع می شود اجرای دستوری که در مثال زیر آمده است موجب پر کردن صفحه نمایش با حرف K به رنگ آبی می شود .
مثال :
B800:0 L 4000 "K" ,7 –F
اگر تعداد بایتهای محدوده آدرس از تعداد مقادیری که ذکر شده کمتر باشد . بقیه مقادیر منظور نخواهد شد . اگر تعداد بایتهای محدوده آدرس از تعداد مقادیری که ذکر شده بیشتر باشد ، بقیه محدوده حافظه با تکرار مقادیر ذکر شده ( از اولین بایت به آخرین بایت مقادیر ذکر شده) پر خواهد شد .
مثال :
-F 04BA : 100 L 100 42 52 54 41
با اجرای دستور فوق محدوده حافظه 04BA : 100 تا 04BA : 1FF با مقادیر مشخص شده پر می شود و سپس این مقادیر برای پر کردن بقیه 100H بایت ، تکرار می شود.
ادامه دارد ...



پیوند ها