الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[ تمت الإجابة ]استفسار

بدأه المفتش كونان في 7 يناير 2009 · 12 رد · 2,682 مشاهدة · في أرشيف قسم الـــ Assembly
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

عندي استفسار في عمليات الجمع في الانظمة الرقمية

decimal مع hexadecimal جمع عددين واحد من

ايش الشروط الي احققها قبل ما ابدأ بلجمع

او

ما يسير من نوعين مختلفين ؟؟؟

decimalلجمع عددين ب

مثال

45+

37

ــــــــ

82

طيب جمع العددين 4+3= 7 وبالعملية كتب 8 ؟؟؟

الاجابة متأكد منها اذا في خطأ الله اعلم

الثاني

لجمع عددين بال hexadecimal

49+

37

ـــــــــــــ

80

كيف طلع الناتج 10 افيدوني ؟؟

امنى مساعدتي في فهم هذه العمليات والتفاعل علماً

احترامي

تم تعديل هذه المشاركة بواسطة Xacker في 8 يناير 2009 في 00:36

#2
المفتش كونان كتب:

ايش الشروط الي احققها قبل ما ابدأ بلجمع

عليك بتحويل إحدى القيمتين من تمثيلها للتمثيل الآخر.

تحول العشري إلى ست عشري وتجمعهم حسب قواعد جمع الأعداد الست عشرية

أو تحول الست عشري إلى عشري وتجمعهم بشكل عادي

اقتباس

decimalلجمع عددين ب

مثال

45+

37

ــــــــ

82

طيب جمع العددين 4+3= 7 وبالعملية كتب 8 ؟؟؟

الاجابة متأكد منها اذا في خطأ الله اعلم

أخي هذا جمع مع حمل!

5+7=12 يتم حمل 1 إلى 3+4 فيصبح المجموع 8

:S

جمع عادي الذي تقوم به كل يوم بحياتك العادية

اقتباس
الثاني

لجمع عددين بال hexadecimal

49+

37

ـــــــــــــ

80

كيف طلع الناتج 10 افيدوني ؟؟

9+7=16 والتي يتم تمثيلها ست عشرياً بالقيمة 10h (الـ h تدل على أن الرقم يمثل بالصيغة الست عشرية)

بالتالي لديك 0 في الآحاد وحمل 1 إلى 3+4 فيصبح المجموع 8 ويكون ناتج الجمع بالصيغة الست عشرية مساوي 80h

راجع المرفق في هذا الموضوع:

/index.ph...c=74810&hl=

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

اخوي xacker

قواعد جمع الاعداد بالعشري هي مثلاً

5+ 7 = نكتب 7, 8, 9 ,10, 1 ,2 اي وصلنا الى الرقم عشرة وبعدين اعدنا العد من واحد ثم اثنين ووصل الناتج الى 2؟؟

FF

+ 1

ــــــــ

100

الحل واضح لهذي العملية وصلنا الى f وبعدين نبدا من 10

لكن => 10

+ 10

ــــــــــــــ

20 => المفروض اطبق الحل نفس العملية الي قبلها يعني اوصلالى f وبعدين ارجع ابدأمن 10 => قواعد الست عشري

يوجد حاله خاصة لكل عملية يا ليت توضحها وجزاك الله خير

تم تعديل هذه المشاركة بواسطة المفتش كونان في 8 يناير 2009 في 01:28

#4

الأعداد العشرية وجمعها يا أخي الكريم هي ما تتعلمه في المرحلة الابتدائية في المدرسة من جمع 10 تفاحات و 10 كؤوس ليكون لديك 20 كأس عصير ("مسلاً" وصحتين وهنا :lol:)

اقتباس
لكن => 10

+ 10

ــــــــــــــ

20 => المفروض اطبق الحل نفس العملية الي قبلها يعني اوصلالى f وبعدين ارجع ابدأمن 10 => قواعد الست عشري

الإجابة 20 صحيحة لكنها تمثل رقم بالصيغة الست عشرية.

مختصر مفيد يظهر أنك لا تعرف قواعد جمع الأعداد الست عشرية، وهي باختصار كالتالي بأبسط شكل ممكن بدون تعقيد لغوي:

1+1 = 2

1+2 = 3

1+3 = 4

2+5 = 7

...

كل ما هو ناتج قيمته أصغر من 10 يتم وضعه كما لو أنك تجمع عديين بشكل عادي.

لكن لنفرض أن ناتج جمع كان أكبر من 10 حينها وبما أنك تمثل بالست عشري عليك بتحويله للشكل الموافق بمعنى

5+7 = 12

لكن الأساس ست عشري بالتالي لو رجعنا لتمثيل الأرقام في المجال [10,15] ستجد أنها تمثل بالشكل:

A = 10

B = 11

C = 12

D = 13

E = 14

F = 15

لذا 5+7 تساوي (ست عشرياً) القيمة 0Ch (يهمل الصفر إلى اليسار، h كما ذكرت للدلالة على أن الرقم يتم تمثيله بشكل ست عشري حتى لا يتم الخلط بينه وبين بقية الأنظمة)

ومثال آخر 9+6 = 15 (عشرياً) والتي تساوي 0Fh ست عشرياً

الآن ماذا لو كانت قيمة الجمع أكبر من 15 بمعنى لا يوجد حرف يقوم بتمثيل الناتج؟

مثال:

9+9 = 18 لكن لا يوجد حرف يمثل هذه القيمة.

نعود الآن لننظر إلى القيم السابقة نجد أن F تمثل 15 بالتالي يبقى لديك 3 للوصول إلى 18

F+1 = 10h

10+1 = 11h

11+1 = 12h

فترى أن 12h تمثل القيمة 18 عشرياً

الآن سنأتي لمثال أصعب بقليل حتى (وأرجو) أن تكون الفكرة صارت أوضح:

AB + 1FA

عندما تريد أن تقوم بجمع رقمين ست عشريين، ستتعامل مع الحروف كأرقام يعني ستأخذ A (أنت تعرف أنها 10) وتأخذ B (أنت تعرف أنها 11) لتقوم بجمعهما والناتج 21 هنا سيتوجب عليك أن تعلم ما القيمة الست عشرية التي تمثل هذا الرقم وهي ببساطة

10h+5h (16+5) = 15h

لأنك عدت لجمع قيم ناتجها أصغر من 10

post-7008-1231369530_thumb.png

تم تعديل هذه المشاركة بواسطة Xacker في 8 يناير 2009 في 02:13

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#5

بالمناسبة cin أقصد بها carry in

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#6
اقتباس
الأعداد العشرية وجمعها يا أخي الكريم هي ما تتعلمه في المرحلة الابتدائية في المدرسة من جمع 10 تفاحات و 10 كؤوس ليكون لديك 20 كأس عصير ("مسلاً" وصحتين وهنا )

هههههههههه صحتين علينا وعليكـ

اقتباس
9+9 = 18 لكن لا يوجد حرف يمثل هذه القيمة.

نعود الآن لننظر إلى القيم السابقة نجد أن F تمثل 15 بالتالي يبقى لديك 3 للوصول إلى

الفرق 3 يعني الناتج يسير 3 والا 18 ؟؟؟ اعتقد 12 !

مثال :

post-7008-1231369530.png

10 + A = A ولكن انا افترضت ان ال A رقم مثل ما قلت يعني الـ A تسير 10 ؟! بس يا ليت توضح كيف جاءت A

اشكرك جزيل الشكر

وجزاكـ الله خير يا xacker

تم تعديل هذه المشاركة بواسطة المفتش كونان في 8 يناير 2009 في 10:59

#7

10 + A = 1A

في خانة الآحاد القيمة A والـ 1 يتم حملها ليتم إضافتها للمرتبة التالية.

أنصحك بأن تقوم بقراءة أحد الكتب مثل Assembly step by step ربما يكون فيه الشرح غني أكثر بالأمثلة لأني لا أعتقد أني أوصلت الفكرة المطلوبة.

تم تعديل هذه المشاركة بواسطة Xacker في 9 يناير 2009 في 15:26

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#8

شكراً يا xacker وبالتوفيق

#9
  1.  
  2.  
  3.  
  4. MOV AL,62h
  5. OR AL,10
  6.  
  7. الحل : AX 6AH
  8.  
  9.  
  10. MOV AL,10H
  11. SUB AL,10
  12.  
  13. الحل : 06H
  14.  
  15.  
  16.  
  17. MOV AX , 1020H
  18. MOV BH,AL
  19. MOV AL,AH
  20.  
  21. الحل : AX = 1010H
  22.  
  23.  
  24.  

اتمنى تقولو لي كيف حلينا المسائل ؟...!

بنتظاركم :D

#10

؟؟؟؟ !

#11
المفتش كونان كتب:
MOV AL,62h
OR AL,10

الحل : AX 6AH

62h = 1100010b

10 = 0001010b

1100010

0001010 (or)

-----------

1101010

1101010b = 6Ah

1 or 0 = 1

1 or 1 = 1

0 or 1 = 1

0 or 0 = 0

اقتباس
MOV AL,10H
SUB AL,10

الحل : 06H

10h = 16

10 = 10 :lol:

16 - 10 = 6 = 6h :happy:

اقتباس
MOV AX , 1020H
MOV BH,AL
MOV AL,AH

الحل : AX = 1010H

AX = AH/AL (يعني هي قسمين AH و AL)

mov  ax,1020h

AX = 1020h >> (AH = 10h / AL = 20h)

mov  bh,al

BH = AL

AL = 20h >> BH = 20h

mov  al,ah

AL = AH

AH = 10h >> AL = 10h >> AX = 1010h

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#12

اشكركـ xacker

بالنسبة لمسألة ال 10h =16 هذي بالقووة فهمتها طبعاً من 30 موقع في النت فهمتها من موقع واحد جابها بشكل واضح

دعواتي لك ,,,

بالتوفيق

#13
المفتش كونان كتب:
بالنسبة لمسألة ال 10h =16 هذي بالقووة فهمتها طبعاً من 30 موقع في النت فهمتها من موقع واحد جابها بشكل واضح

ضع الرابط لعل سواك يقع في نفس المشكلة ويحتاج لتوضيح.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

مواضيع مشابهة