دستور L ( Load)
این دستور برای انتقال سکتورهایی از دیسک به حافظه به کار می رود و به صورت زیر استفاده می شود :
] سکتور2 سکتور1 درایو[ ]آدرس[
آدرس محلی از حافظه را مشخص می کند که سکتورهای خوانده شده از دیسک باید از آنجا به بعد ذخیره شوند. درایو شماره درایوی است که مشخص می کند اطلاعات باید از آن درایو خوانده شوند شماره صفر مشخص کننده درایو A و شماره یک مشخص کننده درایو B ، شماره 2 مشخص کننده درایو C و غیره است.
سکتور 1 مشخص کننده اولین سکتوری است که خواندن اطلاعات از روی دیسک باید از آنجا شروع شود.
سکتور 2 مشخص کننده تعداد سکتور هایی است که با شروع از سکتور 1 باید از روی دیسک خوانده شوند.
مثال :
-L 100 0 0 1
اجرای دستور فوق موجب انتقال سکتور صفر از درایو A به محل 100H حافظه می شود ( 100 مشخص کننده آدرس ، اولین صفر مشخص کننده درایو A ، دومین صفر مشخص کننده سکتور شروع و یک مشخص کننده تعداد سکتور هایی است که باید خوانده شوند) این سکتور ، سکتور راه انداز می باشد که اگر تمرینهایی که میدم حل کنید و برام پاسخش رو ارسال کنید که هیچی وگرنه تدریس این درس متوقف می شود اگر حل کردید تدریس این درس ادامه می یابد و قسمت سکتر ها رو در فصلهای آینده مورد بحث قرار می دهم.
مثال :
-D 103 L 8 1
165A:0100 4D 53 44 4F 53-34 2E MSDOS 2.0
دستور L علاوه بر انتقال سکتور هایی از دیسک به حافظه قادر است یک فایل را نیز به حافظه منتقل کند.
مثال :
C:\> DEBUG
-N COMMAND.COM
-L
اجرای دستور فوق موجب انتقال فایل command.com به حافظه می شود.
1- اگر دستور L را بدون هیچ پارامتری به کار ببریم ، فایل به آدرس CS:100 حافظه منتقل خواهد شد.
2- پس از اجرای دستور L ثباتهای BX:CX حاوی تعداد بایتهایی هستند که به حافظه منتقل شده اند.
دستور W ( write)
این دستور برای انتقال محتویات حافظه بر روی دیسک به کار رفته و به صورت زیر استفاده می شود:
W Address [Drive , Sector 1 Sector 2]
Address مشخص کننده محلی از حافظه است که اطلاعات موجود در حافظه با شروع از آن آدرس باید به دیسک منتقل شوند.
Drive شماره درایوی را مشخص می کند که محتویات حافظه باید در آن درایو نوشته شوند.
شماره صفر مشخص کننده درایو A ، شماره یک مشخص کننده درایو B ، شماره دو مشخص کننده درایو C و غیره است.
Sector1 محل قرار گرفتن ازطلاعات بر روی دیسک را مشخص می کند.
Sector 2 تعداد سکتور های روی دیسک با شروع از سکتور 1 را مشخص می کند که اطلاعات موجود در حافظه باید در این سکتورها نوشته شوند.
اگر W را بدون هیچ پارامتری به کار ببریم محتویات حافظه از آدرس 100H به دیسک منتقل می شوند. و تعداد بایتهایی که باید منتقل شوند باید در ثباتهای BX:CX قرار گیرد. نکته ای که باید به آن توجه داشته باشیم این است که اگر قبا از اجرای دستور W از دستورات G (go) و یا T ( Trace) استفاده کرده باشیم باید ثباتهای BX:CX را مجددا مقدار دهی کنیم.
مثال :
-w cs:100 1 37 2B
اجرای دستور فوق موجب می شود تا محتویات حافظه از آدرس 100 بر روی درایو B با شروع از سکتور شماره 37 و به تعداد 2B سکتور نوشته شود.
دستور W برای نوشتن محتویات فایل موجود در حافظه بر روی دیسک نیز به کار می رود. این فایل باید قبلا توسط برنامه debug و یا دستور N و L به حافظه منتقل شده باشد.
C:\> debug
-N command.com
-L
-W
اجرای دستور موجب انتقال فایل comman.com به حافظه و دستور w موجب انتقال آن فایل از حافظه به دیسک می شود.
دستور S ( Search)
این دستور برای جستجو در محدوده ای از حافظه به کار رفته و به صورت زیر استفاده می شود :
S < Memory Range> < Value>
Memory Range مشخص کننده محلهایی از حافظه است که باید عمل جستجو در آن محلها انجام شود. این محدوده ممکن است با دو آدرس و یا یک آدرس و یک مقدار که مشخص کننده تعداد بایتهایی از حافظه است مشخص شود.
Value شامل یک یا چند مقدار عددی در مبنای 16 و یا عبارت رشته ای است که باید در محدوده مشخص شده ، مورد جستجو قرار گیرد . عبارت رشته ای باید در داخل نقل قول ( ' ' ) قرار گیرد.
مثال :
-S 100 ,L ,100 "IBM"
4005:0103
دستور فوق 100 بایت از حافظه را با شروع از محل 100 حافظه ، رشته "IBM" را مورد جستجو قرار می دهد و آدرسهایی که حاوی رشته باشند را نشان می دهد.
مثال :
-S 100 200 "IBM"
اجرای دستور فوق از محل 100 تا 200 حافظه را برای پیدا کردن رشته "IBM" مورد جستجو قرار می دهد.
دستور M ( Move)
این دستور برای انتقال محتویات محدوده ای از حافظه به محل دیگری از حافظه به کار می رود و به صورت زیر استفاده می شود :
M < Memory Range>
Memory Range مشخص کننده محلهایی از حافظه است که محتویات آن باید به جای دیگری منتقل شوند. این محدوده ممکن است با دو آدرس و یا یک آدرس و یک مقدار که مشخص کننده تعداد بایتهایی از حافظه است مشخص شود.
Address محلی از حافظه را مشخص می کند که عمل انتقال باید از آن محل به بعد انجام شود.
مثال : در این مثال ابتدا محدوده ای از حافظه را با شروع ار آدرس 100 و به تعداد 4000 را با حرف K پر می کنیم وسپس محتویات این محدوده از حافظه را به محلی از حافظه با شروع از آدرس B800 منتقل می کنیم. توجه داریم که این آدرس ، شروع محلی از حافظه است که برای صفحه نمایش رینگی مورد استفاده قرار می گیرد. ( اگر صفحه نمایش که با آن کار می کنید تک رنگ باشد می توانید آدرس آن را B800 منظور کنید).
-F 100 , L ,4000 "K",7
-M 100 , L ,4000 B800:0
با اجرای دستورات فوق ، صفحه نمایش حاوی حرف K خواهد بود.
دستور E ( Enter)
این دستور برای تغییر محتویات محلهایی از حافظه مورد استفاده قرار می گیرد و به صورت زیر استفاده می شود :
E [
Addree محلی از حافظه را مشخص می کند که محتویات حافظه از آن محل به بعد باید عوض شود .
Value یا مقادیر مشخص کننده مقدار یا مقادیر عددی در مبنای 16 هستند که باید به عنوان محتویات جدید محلهای حافظه منظور شود. این مقدار می تواند به صورت یک عبارت رشته ای نیز باشد . عبارت رشته ای باید در داخل نقل قول ( ' ') قرار گیرد. اگر مقادیر ، ذکر نشود ، محلهای حافظه همراه با محتویات آنها با شروع از آدرسی که مشخص می شود ، در صفحه نمایش ظاهر شده و محتویات جدید در خواست می شود.
مثال :
-L 100 0 0 1
-E 103 "software"
-W 100 0 0 1
اجرای دستورات فوق می وجب می شوند تا رکورد را انداز از درایو A به حافظه منتقل شده ، مشخصه سیستم به "software" عوض شود و مجددا بر روی دیسک ( در محل رکورد را انداز ) نوشته شود.
مثال :
-E 100
-40D5:0100 EB.
اجرای دستور فوق ، محتویات محل 100H حافظه را که EB می باشد نمایش داده و منتظر دریافت محتویات جدید این محل می شود :
-E 100
-40D5:0100 EB.25
با وارد نمودن عدد 25 و فشار دادن کلید Enter محتویات جدید محل 100H حافظه برابر با 25 خواهد بود . برای تغییر محتویات محلهای بعدی به جای کلید Enter باید Space فشار داده شود

پیوند ها