الدرس الرابع
البرنامج الاول
سنفوم في هذا الدرس بكتابة اول برنامج بلغة الاسمبلي و لضمان وجود نفس البرنامج المشغل لدى الجميع فسوف استخدم الامر DEBUG
و لتفعيله كل ما علينا هو
· START > RUN
اكتب COMMAND ثم اضغط OK
في نافذة الدوس اكتب DEBUG ثم اضغط ادخال
· الان امامك علامة –
يهمنا الان معرفة بعض الاوامر التي تستخدم مع DEBUG
A تحديد عنوان بداية كتابة البرنامج و عادة 100
Q انهاء
R اظهار محتوى المسجلات
T تتبع التعليمات
لبدء التعامل كما ذكرنا في نافذة الدوس
C:/>Debug [Enter]
في السطر التالي يظهر (-)
-
سنستخدم اول امر و هو r
-r[Enter]
هذا الامر لاظهار المسجلات الداخلية لنقل سيظهر مثلا
C:WINDOWSDesktop>debug
r-
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=1B97 ES=1B97 SS=1B97 CS=1B97 IP=0100 NV UP EI PL NZ NA PO NC
1B97:0100 CF IRET
الان لنظهر مسجل محدد علينا ان نضيف فقط اسم المسجل كما يلي
-r bx
BX 0000
:
لاحظ ان ال (-) موجودة مسبقا فقط كتبنا r ثم مسافة ثم bx
السطر الثاني يظهر قيمة المسجل bx
السطر الثالث ينتظر قيمة جديدة أو اضغط ادخال للاحتفاظ بالقيمة الحالية
بنية السطر في Assembler
الجزء الاول على اليمين تعليمة الامر
الجزء الثاني عبارة عن معاملات الامر راقب ما يلي
add ah,bh
الامر add و يستخدم للجمع
بينما ah و bh هما معاملات الامر و المفترض انه سيتم جمعهما
mov al, 25
سبق التعرف على هذا الامر هنا معناه اجعل قيمة المسجل al=25
add al,[170]
اضف محتوى العنوان 170 الى المسجل al
البرنامج الاول
لا نستطيع استخدام DEBUG في كتابة برنامج اكبر من 65 كيلو
و بلغة المبرمجين سعته 1 سيجمنت فقط و يستخدم لكتابة برنامج .COM و لا يستخدم لكتابة برنامج .EXE
و لذلك نبدأ من 100 و هو موقع بداية برامج . COM
البرنامج بسيط يضع قيمتين داخل المسجل AX و المسجل BX
ثم يقوم بجمعهما لنبدأ
C:WINDOWSDesktop>DEBUG
-a 100
-0D62:0100 mov ax,0002
-0D62:0103 mov bx,0004
-0D62:0106 add ax,bx
امر لا تفعل شيء و نستخدمه للانتهاء-0D62:0108 nop
لا نكتب شيء فقط نضغط ادخال 0D62:0109-
الان لدينا البرنامج للتبع التعليمات فانن نكتب T ثم ادخال
و المطلوب منك ملاحظة ما كتب باللون الازرق
T-
AX=0002 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0D62 ES=0D62 SS=0D62 CS=0D62 IP=0103 NV EI PL NZ NA PO NC
0D62:0103 BB0400 MOV BX,0004
نكتب امر التتبع T ثانية لنرى تنفيذ السطر الثاني من البرنامج
-T
AX=0002 BX=0004 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0D62 ES=0D62 SS=0D62 CS=0D62 IP=0106 NV EI PL NZ NA PO NC
0D62:0106 01D8 ADD AX,BX
نكتب امر التتبع T لنرى تنفيذ السطر الثالث من البرنامج
-T
AX=0006 BX=0004 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0D62 ES=0D62 SS=0D62 CS=0D62 IP=0108 NV EI PL NZ NA PE NC
0D62:0108 90 NOP
ما اردت ان تلاحظه هو التغير في قيم المسجلات و حددتها باللون الازرق بينما اللون الاحمر عبارة عن كود الامر الازرق الذي يليه
يمكنك الان كتابة الامر Q
و ذلك لنهاية التطبيق و لانتهاء الدرس