سوني مبايل SONY MOBILE
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

سوني مبايل SONY MOBILE


 
الرئيسيةأحدث الصورالتسجيلدخول

 

 لغة التجميع و المعالجات الدقيقة

اذهب الى الأسفل 
2 مشترك
انتقل الى الصفحة : الصفحة السابقة  1, 2, 3
كاتب الموضوعرسالة
zakagadir
Admin
zakagadir


عدد المساهمات : 3267
تاريخ التسجيل : 17/11/2007

لغة التجميع و المعالجات الدقيقة - صفحة 3 Empty
مُساهمةموضوع: رد: لغة التجميع و المعالجات الدقيقة   لغة التجميع و المعالجات الدقيقة - صفحة 3 Emptyالجمعة فبراير 22, 2008 5:10 pm



1. الأمر U لرؤية جزء من الذاكرة .

2. الأمر D DUMB يؤدي إلي إظهار جزء من الذاكرة .



لتجربة برنامج Debug دعنا نتابع تنفيذ البرنامج التالي:



MODEL SMALL

.STACK 100H

.CODE

MAIN PROC

MOV AX , 4000H ;ax = 4000h

ADD AX , AX ;ax = 8000h

SUB AX , 0FFFFH ;ax = 8001h

NEG AX ;ax = 7fffh

INC AX ;ax = 8000h

MOV AH , 4CH

INT 21H ;DOS exit

MAIN ENDP

END MAIN



بعد كتابة البرنامج السابق وليكن اسمه test.asm وتوليد الملف القابل للتنفيذ Executable file والذي سيحمل الاسم Test.exe يتم نداء برنامج Debug وتحميل البرنامج وذلك بتنفيذ الأمر التالي من محث الـ DOS: c:\asm> DEBUG TEST.EXE

يقوم البرنامج بالتحميل وإظهار المؤشر "-" والذي تشير للاستعداد لتلقي الأوامر.

نبدأ بتجربة الأمر R وذلك لإظهار محتويات المسجلات المختلفة وتكون المخرجات علي الصورة التالية:






- R

AX=0000 BX=0000 CX=001F DX=0000 SP=000A BP=0000 SI=0000 DI=0000

DS=0ED5 ES=0ED5 SS=0EE5 CS=EE6 IP=0000 NV UP DI PL NZ NA PO NC

0EE6:0000 B80040 MOV AX , 4000









يقوم البرنامج بإظهار محتويات المسجلات المختلفة وفي السطر الثالث يوضح عنوان الأمر التالي (المطلوب تنفيذه - لاحظ قيمة العنوان ومحتويات المسجلين CS:IP ) متبوعاً بكود الآلة للأمر Machine Code وهو الرقم B80040 وبعد ذلك نجد الأمر مكتوباً بلغة التجميع.

عند تشغيل البرنامج ستجد أرقام مختلفة عن الأرقام الموضحة في هذا المثال وبالذات محتويات المسجلات المختلفة.

في نهاية السطر الثاني يوجد عدد 8 أزواج حروف عل الصورة NV UP DI PL NZ NA PO NC توضح محتويات البيارق المختلفة وذلك حسب الجدول التالي:



البيرق

في حالة رفع البيرق Set

في حالة عدم رفع البيرق Clear

CF (CarryFlag)

CY (CarrY)

NC (No Carry)

PF (Parity Flag)

PE (Parity Even)

PO (Parity Odd)

AF (Auxiliary Flag)

AC (Auxiliary Carry)

NA (No Auxiliary carry)

ZF (Zero Flag)

ZR (ZeRo)

NZ (NonZero)

SF (Sign Flag)

NG (NeGative)

PL (Plus)


الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://sonymobile.ahlamontada.net
zakagadir
Admin
zakagadir


عدد المساهمات : 3267
تاريخ التسجيل : 17/11/2007

لغة التجميع و المعالجات الدقيقة - صفحة 3 Empty
مُساهمةموضوع: رد: لغة التجميع و المعالجات الدقيقة   لغة التجميع و المعالجات الدقيقة - صفحة 3 Emptyالجمعة فبراير 22, 2008 5:12 pm



OF (Overflow Flag)

OV (OVerflow)

NV (No oVerflow)

بيارق التحكم Control Flags

DF (Direction Flag)

DN (DowN)

UP (UP)

IF ( Interrupt Flag )

EI (Enable Interrupt)

DI (Disable Interrupt)




لبداية تشغيل البرنامج نصدر الأمر T أي Trace للتنفيذ خطوة خطوة فيكون التسلسل التالي للأوامر :

في البداية كانت المسجلات علي النحو التالي (سنكرر الشاشة السابقة حتى نتابع التنفيذ بالتفصيل










- R

AX=0000 BX=0000 CX=001F DX=0000 SP=000A BP=0000 SI=0000 DI=0000

DS=0ED5 ES=0ED5 SS=0EE5 CS=EE6 IP=0000 NV UP DI PL NZ NA PO NC

0EE6:0000 B80040 MOV AX , 4000





ثم نبدأ التنفيذ: الأمر الأول MOV AX , 4000h




- T

AX=4000 BX=0000 CX=001F DX=0000 SP=000A BP=0000 SI=0000 DI=0000

DS=0ED5 ES=0ED5 SS=0EE5 CS=EE6 IP=0003 NV UP DI PL NZ NA PO NC

0EE6:0003 03C0 ADD AX , AX







التنفيذ يضع 4000h في المسجل AX

لاحظ أن المسجل AX أصبح به الرقم 4000H ولم يتم تغيير محتويات البيارق وأن الأمر التالي أصبح الأمر ADD AX,AX




- T

AX=8000 BX=0000 CX=001F DX=0000 SP=000A BP=0000 SI=0000 DI=0000

DS=0ED5 ES=0ED5 SS=0EE5 CS=EE6 IP=0005 OV UP DI NG NZ NA PE NC

0EE6:0005 2DFFFF SUB AX , FFFF







لاحظ أن المسجل AX أصبح به الرقم 8000H وأن النتيجة السابقة أثرت في البيارق حيث تم رفع بيرق الفيضان ليشير إلي حدوث فيضان بإشارة وبيرق الإشارة ليشير إلي أن النتيجة سالبة وكذلك بيرق التطابق لأن الخانة الأصغر من المسجل AX (أي AL) تحتوي علي عدد زوجي من الخانات التي بها الرقم 1 . والآن نتابع تنفيذ البرنامج حيث الأمر التالي هو الأمر SUB AX,FFFFh




- T

AX=8001 BX=0000 CX=001F DX=0000 SP=000A BP=0000 SI=0000 DI=0000

DS=0ED5 ES=0ED5 SS=0EE5 CS=EE6 IP=0008 NV UP DI NG NZ AC PO CY

0EE6:0008 F7D8 NEG AX


- T

AX=7FFF BX=0000 CX=001F DX=0000 SP=000A BP=0000 SI=0000 DI=0000

DS=0ED5 ES=0ED5 SS=0EE5 CS=EE6 IP=000A NV UP DI PL NZ AC PE CY

0EE6:000A 40 INC AX


-T

AX=8000 BX=0000 CX=001F DX=0000 SP=000A BP=0000 SI=0000 DI=0000

DS=0ED5 ES=0ED5 SS=0EE5 CS=EE6 IP=000B OV UP DI NG NZ AC PE CY

0EE6:000B B44C MOV AH , 4C


















الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://sonymobile.ahlamontada.net
zakagadir
Admin
zakagadir


عدد المساهمات : 3267
تاريخ التسجيل : 17/11/2007

لغة التجميع و المعالجات الدقيقة - صفحة 3 Empty
مُساهمةموضوع: رد: لغة التجميع و المعالجات الدقيقة   لغة التجميع و المعالجات الدقيقة - صفحة 3 Emptyالجمعة فبراير 22, 2008 5:14 pm



- G

PROGRAM TERMINATED NORMALLY

-Q

C:\>























تمارين :

وضع محتويات المسجل المستودع DESTINATION REG وكذلك قيم البيارق بعد تنفيذ كل من الأوامر التالية .

1. ADD AX,BX حيث يحتوي المسجل AX علي الرقم 7FFFh والمسجلBX علي 0001h.

2. SUB AL,B حيث AL=01h و BL=FFh

3. DEC AL حيث AL=00h

4. NEG AL حيث AL=7F

5. XCHG AX,BX حيث AX=1ABCh و BX=712h .

6. ADD AL,BL حيث AL=80h و BL=FFh .

7. SUB AX,BX حيث AX=0000h و BX=8000h .

8. NEG AX حيث AX=0001h .



2-أفترض ان المسجلين BX AX يحتويان علي أرقام موجبة . وتم تنفيذ الأمر ADD AX,BX وضح أنه يوجد محمول إلي الخانة MSB ولا يوجد محمول منها وذلك فقط في حالة حدوث فيضان بإشارة .

أفترض ان المسجلين BX AX يحتويان علي أرقام سالبة . وتم تنفيذ الأمر ADD AX,BX وضح أنه يوجد محمول من الخانة MSB ولا يوجد محمول إليها وذلك فقط في حالة حدوث فيضان بإشارة .



3- أفترض أن الأمر ADD AX,BX تم تنفيذه إذا كانت محتويات المسجل AX هي الرقم الأول بينما المسجل BX به الرقم التالي . وضح محتويات المسجل AX في كل من الحالات الآتية موضحاُ حدوث فيضان بإشارة أو بدون إشارة .

أ. 512Ch ب.FE12h ج. E1E4h د. 7132h هـ. 6389h

4185h+ 1ACBh+ DAB3h+ 7000h+ 1176h+

4- أفترض أن الأمر SUB AX,BX تم تنفيذه إذا كانت محتويات المسجل AX هي الرقم الأول بينما المسجل BX به الرقم التالي . وضح محتويات المسجل AX في كل من الحالات الآتية موضحاُ حدوث فيضان بإشارة أو بدون إشارة .

أ. 2143h ب. 81Feh ج. 19BCh د. 0002h هـ 88CDh

-1986h -1986h -81Feh FE0Fh 71ABh



الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://sonymobile.ahlamontada.net
صاحب التميز

صاحب التميز


عدد المساهمات : 1
تاريخ التسجيل : 02/05/2010

لغة التجميع و المعالجات الدقيقة - صفحة 3 Empty
مُساهمةموضوع: طلب خاااص لصاحب البحث   لغة التجميع و المعالجات الدقيقة - صفحة 3 Emptyالأحد مايو 02, 2010 9:16 pm

السلام عليكم ورحمه الله وبركاته

والله ياخوي بحثك هذا حلو وانا الحين قاعد اتعلمه وابغ منك طلب

حل اسئله التاليه لاني ل اعرف حلها

تمارين :



وضع محتويات المسجل
المستودع
DESTINATION REG وكذلك قيم
البيارق بعد تنفيذ كل من الأوامر التالية .




1. ADD AX,BX
حيث يحتوي المسجل
AX علي الرقم 7FFFh والمسجلBX علي 0001h.




2. SUB AL,B
حيث
AL=01h و BL=FFh




3. DEC AL حيث AL=00h



4. NEG AL حيث AL=7F



5. XCHG AX,BX
حيث
AX=1ABCh و BX=712h .




6. ADD AL,BL
حيث
AL=80h و BL=FFh .




7. SUB AX,BX
حيث
AX=0000h و BX=8000h .




8. NEG AX حيث AX=0001h .







2-أفترض ان
المسجلين
BX AX يحتويان علي أرقام موجبة .
وتم تنفيذ الأمر
ADD AX,BX وضح أنه يوجد
محمول إلي الخانة
MSB ولا يوجد محمول منها
وذلك فقط في حالة حدوث فيضان بإشارة .




أفترض ان المسجلين BX
AX يحتويان علي أرقام سالبة . وتم تنفيذ الأمر ADD
AX,BX وضح أنه يوجد محمول من الخانة MSB ولا يوجد محمول إليها وذلك فقط في حالة حدوث فيضان
بإشارة .








3- أفترض أن الأمر ADD
AX,BX تم تنفيذه إذا كانت محتويات المسجل AX هي الرقم الأول بينما المسجل BX به الرقم التالي . وضح محتويات المسجل AX في كل من الحالات الآتية موضحاُ حدوث فيضان بإشارة أو
بدون إشارة .




أ. 512Ch ب.FE12h ج. E1E4h د. 7132h
هـ. 6389h




4185h+
1ACBh+ DAB3h+ 7000h+
1176h+




4- أفترض أن الأمر SUB AX,BX تم تنفيذه إذا
كانت محتويات المسجل
AX هي الرقم الأول
بينما المسجل
BX به الرقم التالي . وضح
محتويات المسجل
AX في كل من الحالات
الآتية موضحاُ حدوث فيضان بإشارة أو بدون إشارة .




أ.
2143h ب. 81Feh
ج. 19BCh د. 0002h هـ 88CDh




-1986h -1986h -81Feh FE0Fh
71ABh



- اكتب عبارات (وليس
برنامج كامل) لتقوم بالآتي:




1-قراءة حرف ثم
طباعته في الموضع التالي في الشاشة في نفس السطر.




2- قراءة حرف كبير Upper case letter ثم طباعته في الموضع التالي بنفس السطر في الشاشة
وذلك في صورة حرف صغير
Lower case letter.



هذا بس الله يخليك ابغي الحل في اقرب وقت ممكن

وارجوا من الاداره اذا وصل الحل بانهم يرسلونه علي عبر البريد اذا لم ادخل

اخر وقت لي لدخول النت بكره العصر للضروف

الله يوفقك يا خي الفاضل ويوفقنا يارب وكل مسلم

الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
لغة التجميع و المعالجات الدقيقة
الرجوع الى أعلى الصفحة 
صفحة 3 من اصل 3انتقل الى الصفحة : الصفحة السابقة  1, 2, 3
 مواضيع مماثلة
-
» المعالجات الدقيقة

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
سوني مبايل SONY MOBILE :: المساعدة والاقتراحات :: GSM PROGRAMMING-
انتقل الى: