صفحه 1:
۱ PRB Yon BE rene eas
در محيط نرم افزار
Debug
استاد راهنما : آقای عیّاسی
تهیه کننده: سعید رضا ولی زاده
E-mail: srvalizadeh@yahoo.com
www.SoftGozar.
Com
صفحه 2:
eS Serve nee ens meer ee)
م۳
ا PATTON
MOV BL,12
در این صورت عدد 49 به ثبات ,۴31 منتقل می شود. ولی اگر عدد
داخل کروشه نوشته شود مثلا [(006)] محتوای خانه حافظه ای که
آدرس آن » در سكمنت داده برابر (0©000 است در نظر كرفته مى
شود. به عنوان مثال اگر نوشته شود: [131,]0200 10۷
SSE CIE Et eC ESe Peep کر ۱0
منتقل شود » و اكر محتواى خانه حافظه آدرس مذكور » عدد © ©
ا ا 0
۱
صفحه 3:
0
"" دستور '12[1 : باعث مى شود كه بررينامه شما موقتا قطع
ا ل ا ا 0
5 مراجعه شود » عمليات خواسته شده را انجام دهد »
و دوباره به برنامه شما برگردد.
۱
nww.SoftGozar.Com
صفحه 4:
0 0 ل
) كرفتن تاريخ سيستم
از دستور 2111 1771 استفاده مى شودء به شرطى كه قبلا در ثبات
U S| ا ا
MOV AH,2A
INT 21
با اجرای این دستورات تاریخ سیستم در ثبات های زیر قرار میگیرد
روزهاى هفته ( () براى يكشنبه » 1) جهت دوشنبه .©...) -4.1/-
سال ( به صورت هكزا مثلا 0720-2000 109
ماه (به صورت هكّزا 00 تا 0013 ) 2 1211
Eni KOC) ED) ۱
4
www. SoftGozar.com
صفحه 5:
دستور وقفه 3 11271
©) يايان اجراى دستورات توسط دستور 3 1171
210) به محض لجر لو ليندستور متوقفمىشود و در
ا ا ا و
Ase |
7 البته این دستور را می توان برای توقف اجرای دستورات
برنامه نيز به كار برد » در صورتى كه از اين دستور
استفاده نشود ممكن است كامييوتر قفل كند.
www. SoftGozar.com
صفحه 6:
نرم لفزار 1015188176
" ابزارى كمكى جهت اجراى دستورات زبان اسمبلى و
رای ال ا دا GO ely JERE) 9 oho
Su) Ghes! Gb 5 4
Nes DAE ULC pS ا CCR
است كه برنامه مستقيما قابل اجرا بوده » نيازى به ترجمه
ندارد
صفحه 7:
مزیت های استفاده از محیط 060100
|۱۳ ewe Oe ye ore Dee eed
"" برنامه آماده به زبان اسمبلى را مى توان به محيط
deubug انتقال داده و ان را أزمايش كرد
"" برنامه اسمبلى را مى توان دستور به دستور اجرا كرد » و
مكدرات ناك ف ؛ و لكاده كافظة را نشاف رز شرك
لازم را انجام داد.
RECS ee ene erg Or Oc Cn Ora
" مى توان تمام دستورات را به زبان اسمبلى و معادل آن ريا
به زبان ماشين نشان داد.
nww.SoftGozar.Com
صفحه 8:
وارد شدن به محیط 00000
"" کافیست فایل اجرایی اين نرم افزار را یعنی
0601.0 زا توسط سیستم عامل اجرا کنیم » در این
حالت محیط کاری شبیه به 105 باز مى شود با اين
تفاوت كه به جاى خط فرمان داس (1:0>) يى علامت
صفحه 9:
windows در debug c!o>!
"" از 518316 منو 11112 را انتخاب مى كنيم
سيس كلمه :061110 را در 11112 تايب كرده دكمه 1217©
abe ce KS Ly
START —+ RUN—- DEBUG
a scaN is)
صفحه 10:
خارج شدن از محیط 6[] 11713
” نكته: تمام دستوريات 0161110 تك حرفى هستند
"" جهت خارج شدن از محيط 15881700 از فرمان ©
استفاده مى كنيم » كه اين فرمان باعث مى شود به سيستم
عامل برگردیم
صفحه 11:
فرمان هاى برنامه 1/601 101:15
HOLS a ارلا ا ل ا ال ل كت
زبان اسمبلی در حافظه » و ترجمه آن هاست.
" شكل كلى اين فرمان به صورت :
eae TD ۶
می باشد که این آدرس آدرس شروع خانه حافظه ای در سگمنت کد
Beer ee eee DN NOE wer Ewe e meer)
7 (چون سیستم عامل به حافظه ای با افست آدرس (20) تا ۳۳ برای
اطلاعات خود نیاز دارد » لذا نرم افزار 06101 به عنوان پیش
د د الا ا ل كم
ال 0
صفحه 12:
يس از وارد كردن 8100 دو عدد جهار رقمى ظاهر مى شود كه با
یک علامت : از هم جدا شده اند مانند :
0 -
13BC:0100
عدد سمت چپ » شماره سكمنت يعنى 05-1231860 است و شماره
سمت راست » شماره افست خانه حافظه یعنی 11-100 می باشد.
يس از ديدن اين اعداد دستورات اسمبلى را وارد مى كنيم. يس از
هر دستور دكمه 117117516 را مى زنيم.
” وقتى كه دستورات به يايان رسيد يك بار » بدون نوشئن دستورى »
aT Lew Ree aN Bal CoS) 0
به پایان رسد.
nww.SoftGozar.Com
صفحه 13:
(se) oli tep ree upeye cower pp nent) Wale)
"MOV AL,6_ ; (1)
MOV BL,8 ; (2)
ADD AL,BL ; (3)
MOV DL,5 _ ; (4)
صفحه 14:
نام گذاری برنامه
۴ کافیست از فرمان
نام برنامه -
استفاده کنیم.مثلا در- اين مورد ]۲.001۷ 1۳5 نام برنامه
مربوطه می باشد که با فرمان زیر :
-N TEST.COM
این نام به برنامه اختصاص داده می شود
ل 16 ی
صفحه 15:
فرمان[1
"" دستور (355612116 1712) [1] باعث مى شود كه
دستوراتى كه به زبان ماشين در حافظه قرار دارند » به
زبان اسمبلی بر گردانده شود
شكل كلى فرمان
<آدرسرشروع> ۱0
www. SoftGozar.com
صفحه 16:
۵
اكر بخواهيم از دستور 10013 تا 10413 را به صورت
57
U 100 104
نتيجه:
ا 199 4
386 0180 6 00 81:6
3862:0102 6 00 1 6
3806:0184 8 223 Cen
www.SoftGozar.Com
صفحه 17:
" اكر مقابل فرمان 7] شماره اى نكذاريم » محتويات حافظه
TOS) لا ۱
صورت دستورات اسمبلى و معادل آن ها را به صورت
دستورات زبان ماشين نشان مى دهد
دستورات زبان اسمبلی متورات زیان ماشین
و و سب
۱۵ 2۳ 6 168
yy ۵ 0 180
1261 189:51 222 8 186
"1 للم 188
sea 1 8 116
۱ 1 6 112
een a 6 8 114
ی 223 8 116
| 1 118
تا ۱ 06 110
لال Mic 3400 EC)
ont) 88 11
ا ا
با 10 0 121
00 10 Seen
3806:8125 68 ADD يا
www.SoftGozar.Com
صفحه 18:
فرمان غ1
R (Register) ®
* این فرمان محتوای ثبات ها را نمايش می دهد » علاوه بر
این وضعیت بیت های پرچم را نشان می دهد
[نام شباط 11
اگر نام ثبات ذکر نشود » تمامی تبات ها را روی مانیتور
نمايش مى دهد
www.SoftGozar.Ccom
صفحه 19:
۵
34
توجه: وضعیت بیت های پرچم به صورت 11۳ ۱۲۷ ..
ردقه نح افر
1288 2۲-2888 3۲-۳۲۲۲ 3۳-۵888 51-0886 ۰ ۱1-60
Seen ee) eae Ces CCC MN ON gt OA OC
۲ ۱20 18851 181: Petra)
nww.SoftGozar.Com
صفحه 20:
ثبات برجم داراى وضعيت های زیر می باشد
(ee 2
سر ريز توف
جهت آدرس
وقفه 117
se
برش کیب
خر
CF li oy
03
ZF
AF
lee
۳۹
5 Ss eee
آدرس کاهنده
للها
وقفه فعال 151
نتيجه منفى 110
نوجه صنر 1
NOE tre)
ی
وجود بيت نقلى /01.
در حالت صفر
سر ريز وجود ندارد /271
UP ۳۳۱
۱۳
نتيجه مثبت 1211
نتیجه غبر صفر رل[
۱۳
PO 34
وجود بیت نقلی 70
صفحه 21:
مشاهده محتویات یک ثبات خاص
539510 ا Pe CL
به عنوان مثال:
-R AX
AX 000E
:0000
dey yh 53 5 383 2 OLE OO0E 1: 1b AX GUS Gl gine
۳ Be RID Te CIS SECEDE
: کافیست عدد مربوطه را تایپ کنیم که در این مثال بعد از علامت
عدد جديد مثلا صفر را وارد ثبات 06ل مى كينم
صفحه 22:
مشاهده محتويات ثبات يرجم
"" با استفاده از دستور
ده
1۳
U UP EI PL NZ NA PO NC -
صفحه 23:
تغيير مقادير بيت هاى يرجم
" زمانى كه دستور ”111 اجرا مى شود » يس از نمايش بيت
هاى يرجم علامت - جشمك زن قرار مى كيرد.در اين
زيمان مى توان مقادير جديدى به بيت ها اختصاص داد
aes كه ات
—cY
NC
وف
به ۷) تغییر می دهیم
1۳
نا ا EI PL NZ NA PO
ty
U UP EI PL NZ NA PO
نين
صفحه 24:
ع
000 Cyne oe Lerere Bicones To
"ا شكل كلى
<آدرسشروع> <آدرستوقفت > 6
اولين آدرس كه با علامت - شروع مى شود به 1058:8176 مى كويد
که از چه آدرسی شروع به اجرای برنامه کند
” اكر تنها يك عدد جلوى © نوشته شود ٠ دستورات تا زمانى ادامه
ا ا ا ا لك كك ات
اگر دستوری برای پایان دادن به کار وجود نداشته باشد » اجرای
Ere eee Te ECCS] 0
صفحه 25:
۲ در ضمن اين فرمان وضعیت بات ها در پایان اجرای
دستورات ريا نيز نشان خواهد داد.
۳ ا ل ا ا Tes
اجرا شود » همراه با ترجمه آن به زبان ماشين ريا » نيز
نمايش مى دهد.
صفحه 26:
مثال كلى
ل ا ا كك اك ع ا ار ند
وارد کردن برنامه در حافظه با فرمان ۸۸100
MOV AX,1 =
MOV BX,2 =
MOV CX,3 =
ADD AX,BX =
ADD AX,CX "=
33( ۱۲
صفحه 27:
روند کار
* نوشتن برنامه با دستور ظر
" 17235561216 کردنبرنامه با فرمان(101 100 ۲7
نشان دادن محتويات ثبات ها با فرمان +1
اجرای برنامه با ع
www.SoftGozar.com
صفحه 28:
a ew
با راست رای را رات نس ترا
<آدرسشروع> <تعداد دستورلشد > 1[
عدد اول آدرس اولین دستور شروع است و دومی تعداد
Gus) (aI) sins ۳
ie ere ene CS Eee Ieee
نمایش داده می شود
در صورتی که تعداد دستورات ذکر نشود تعداد دستور را
Eee ee To!
صفحه 29:
۵
ope ا
= MOV AX,1
= MOV BX,2
= MOV CX,3
= ADD AX,BX
= ADD AX,CX
FINT3
صفحه 30:
E(ENTER) oT
Ree eRe CE TD ia tal
شکل کلی اين فرمان
۲ <آدرس>
die
260
380-6126 8696© -
اگر بخواهیم مقدار جدیدی مثلا 6300 را وارد کنیم پس از ورود عدد کلید 121511518 را فشار می دهیم
E 126
۳ ۰ 9 - 9
E i126
doe ی
صفحه 31:
فرمان (,۲)۳11,1
"" براى ذخيره داده اى در ناحيه خاصى از حافظه به كار برده
مى شود
<اآدرسشروع> <اآدرسيايان> <دادم ها> 7[
مثلا اگر بخواهیم از آديس (0000تا ©00 را با مقدار ©©
oe
F 100 106 23
صفحه 32:
فرمان (1()1(1/1۷]۳
" اين فرمان باعث مى شود كه محتويات خانه هاى حافظه به
UR ren ye 0 ۱۳
" علاوه بر اين حروف و ارقامى كه كد هاى اسكى آن ها
قابل نمايش رروى مانيتور هستند » سمت راست مانيتور
ا ا
” اكر آدرس انتهاى را نگذاریم محتوای 1660 بایت خانه
۱۹
اگر کدهای اسکی قابل نمایش نباشند در سمت راست نقطه
نمایش داده خواهد شد
صفحه 33:
۵
۱۱۱
3 ۸۲ 80 34 80 09 89 08-80 80 89 00 08 08 88 90
ا
ا
CCRC Cec CCRC) ل ا
6 88 88 88 88 88 88 86-88 86 88 88 88 86 88 86
۱) ee eee aC a a al)
80:8178 88 88 88 88 88 88 88 88-88 88 88 88 88 88 88 8
www.SoftGozar.Com
صفحه 34:
فرمان ۷۷
"" فرمان نوشتن بر روی دیسک
* ابتدا توسط فرمان ٩ به برنامه نامی نسبت می دهیم و
سيس توسط فرمان 77 آن را دخيره مى كنيم
” فقط برنامه هاى با يسوند .20010/1) رما مى توان به اين
ذخيره نمود.
ae
a
ومدع لم 98668
صفحه 35:
فرمان های ورودی و خروجی
" با فرمان ها ى ورودى و خروجى مى توان اطلاعات ريا از
يورت ها خواند يا در يورت ها نوشت .
"" فرمان 1 (براى خواندن يك بايت اطلاعات يورت ها )
اكت ل اک |
nww.SoftGozar.Com
صفحه 36:
۱ ا vee
-1 417
که کامپیوتر عدد 2017 را روی مانیتور می نویسد یعنی :
اا 2 2 2 4 ال
مقدار بيت : (0 (0 0 (0 0 0 00 00
SCROLL LOCK €
NUM LUCKS
CAPSLOCK 8S
لل 1116 ای
صفحه 37:
فرمان خروجى (0
"" براى فرستادن اطلاعات بر روی پورت
<شمارم يوري> <مقدار جديد > ©
مثال( فرمان اول باعث می شود بلند گو کامپیوتر یک سوت
ممتد بکشد و فرمان دوم باعث قطع صدای بلندگو می شود
-O 61 4F
-O 61 4E
www. SoftGozar.com
صفحه 38:
eed (one ارات سس
MOV AH,2AH
INT 21H
با اجرای دستور فوق مقادیر تاریخ امروز در ثبات ها قرار می گیرد ۴
2
3چون به صورت هگزا است پس سال برابر 000008 می باشد
CX=7D6
11-08 ماه یازدهم میلادی یعنی نوامبر
11,214 هكزا به صورت دهدهی برایر 600 می شود 6<
بنابراين تاريخ برابر دوشنبه 00© نوامبر ©(0(0© مى باشد.
nww.SoftGozar.Com
صفحه 39:
لل فا
FEE BP-@008 81-0000 21-888
84 ۰ ۱۲ ۱۴ 81 ۴۲ ۱۶ ۱ 0 ۵
3
09-2081 84-8 ۳
i 1 ete 1
ولا 3
۱386:0104 6
صفحه 40:
* مرجم : زبان ماشین و اسمبلی دکتر حسن سید رضی
nww.SoftGozar.Com