12-05-2024, 05:37 PM
رحلة في عالم الأسمبلي
https://www.youtube.com/playlist?list=PL..._swadKSPga
# الفصل 0 : تمهيد # الفصل 1 : المفاهيم الأساسية في لغة الassembly
الأعداد الصحيحة الثنائية الموقّعة (Signed Binary Integers).
الأعداد الصحيحة الثنائية الموقّعة قد تكون إيجابية أو سالبة.
بالنسبة لمعالجات x86، يُشير البت الأكثر أهمية إلى الإشارة:
الصفر يعني إيجابيًا والواحد يعني سالبًا.
الشكل التالي يُظهر أمثلة على الأعداد الصحيحة الثنائية السالبة والإيجابية بـ 8 bit:
في هذا الجدول:
الأعداد الصحيحة الإيجابية تُمثّل من 0 إلى 127 (بالثنائي).
الأعداد الصحيحة السالبة تُمثّل من -1 إلى -128 (بالثنائي).
1.4.10. الأعداد binary, decimal, hex الموقّعة signed التمثيل بالمكملين الاثنين Two’s-Complement
التمثيل بالمكملين الاثنين Two’s-Complement
الأعداد السالبة تستخدم تمثيل المكملين الاثنين ، باستخدام المبدأ الرياضي الذي يقضي بأن المكملين الاثنين لعدد صحيح هو عكسه الجمعي.
(إذا قمت بإضافة رقم إلى عكسه الجمعي، فإن الناتج يكون صفرًا.) 3- + 3 = 0
يعتبر تمثيل المكملين الاثنين مفيدًا لمصممي المعالجات لأنه يزيل الحاجة إلى أدوات رقمية منفصلة للتعامل مع الجمع والطرح على حدة.
على سبيل المثال، عندما يتم تقديم التعبير A - B للمعالج، يمكن للمعالج ببساطة تحويله إلى تعبير جمع: A + (-B)
يتم تشكيل المكملين الاثنين لعدد صحيح ثنائي بتوجيه عكسي (تعويض) لأجزائه وإضافة 1.
على سبيل المثال،
باستخدام القيمة الثنائية بـ 8 بت 00000001، فإن المكملين الاثنين يتضح أنه 11111111، كما يمكن رؤيته كما يلي:
11111111 هو تمثيل المكملين الاثنين لـ 1-.
عملية المكملين الاثنين قابلة للعكس، لذلك مكمل الاثنين ل11111111 هو 00000001.
https://www.youtube.com/playlist?list=PL..._swadKSPga
# الفصل 0 : تمهيد # الفصل 1 : المفاهيم الأساسية في لغة الassembly
- 1.0 مقدمة
- 1.1 مرحبًا بك في لغة الAssembly
- 1.2 تطبيقات لغة الassembly
- 1.3 مفهوم الآلة الافتراضية Virtual Machine
- 1.4 تمثيل البيانات - Data Representation
- 1.4.1 الأعداد الصحيحة الثنائية - Binary Integers
- 1.4.2 ترجمة الأعداد الثنائية غير الموقعة unsigned binary integer إلى العشرية Decimal
- 1.4.3 ترجمة الأعداد العشرية غير الموقعة Unsigned Decimal إلى البيناري Binary
- 1.4.4 الجمع الثنائي - Binary Addition
- 1.4.5 أحجام تخزين الأعداد الصحيحة Integer Storage Sizes
- 1.4.6 الأعداد الست عشرية - Hexadecimal Integers
- 1.4.7 تحويل العدد الست عشري غير الموقع Unsigned Hexadecimal الى عشري Decimal
- 1.4.8 تحويل العدد العشري غير الموقع Unsigned Decimal إلى الست عشرية Hexadecimal
- 1.4.9 الجمع الست عشري - Hexadecimal Addition
- 1.4.10. الأعداد الصحيحة الثنائية الSigned التمثيل بالمكملين الاثنين Two’s-Complement
- 1.4.1 الأعداد الصحيحة الثنائية - Binary Integers
الأعداد الصحيحة الثنائية الموقّعة (Signed Binary Integers).
الأعداد الصحيحة الثنائية الموقّعة قد تكون إيجابية أو سالبة.
بالنسبة لمعالجات x86، يُشير البت الأكثر أهمية إلى الإشارة:
الصفر يعني إيجابيًا والواحد يعني سالبًا.
الشكل التالي يُظهر أمثلة على الأعداد الصحيحة الثنائية السالبة والإيجابية بـ 8 bit:
في هذا الجدول:
+-----------------------------------+
|xالأعداد الصحيحةx | xالأعداد الصحيحةx|
|xالإيجابيةx | xالسالبةx|
+-----------------------------------+
| 0 0 0 0 0 0 0 0 | 1 0 0 0 0 0 0 0 | 128
| 0 0 0 0 0 0 0 1 | 1 0 0 0 0 0 0 1 | 129
| 0 0 0 0 0 0 1 0 | 1 0 0 0 0 0 1 0 | 130
| 0 0 0 0 0 0 1 1 | 1 0 0 0 0 0 1 1 | 131
| 0 0 0 0 0 1 0 0 | 1 0 0 0 0 1 0 0 | 132
| 0 0 0 0 0 1 0 1 | 1 0 0 0 0 1 0 1 | 133
| 0 0 0 0 0 1 1 0 | 1 0 0 0 0 1 1 0 | 134
| 0 0 0 0 0 1 1 1 | 1 0 0 0 0 1 1 1 | 135
| 0 0 0 0 1 0 0 0 | 1 0 0 0 1 0 0 0 | 136
| ... | ... | ...
| 0 1 1 1 1 1 1 0 | 1 1 1 1 1 1 0 1 | -127
| 0 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 0 | -126
| | 1 1 1 1 1 1 1 1 | -125
+-----------------------------------+
الأعداد الصحيحة الإيجابية تُمثّل من 0 إلى 127 (بالثنائي).
الأعداد الصحيحة السالبة تُمثّل من -1 إلى -128 (بالثنائي).
1.4.10. الأعداد binary, decimal, hex الموقّعة signed التمثيل بالمكملين الاثنين Two’s-Complement
التمثيل بالمكملين الاثنين Two’s-Complement
الأعداد السالبة تستخدم تمثيل المكملين الاثنين ، باستخدام المبدأ الرياضي الذي يقضي بأن المكملين الاثنين لعدد صحيح هو عكسه الجمعي.
(إذا قمت بإضافة رقم إلى عكسه الجمعي، فإن الناتج يكون صفرًا.) 3- + 3 = 0
يعتبر تمثيل المكملين الاثنين مفيدًا لمصممي المعالجات لأنه يزيل الحاجة إلى أدوات رقمية منفصلة للتعامل مع الجمع والطرح على حدة.
على سبيل المثال، عندما يتم تقديم التعبير A - B للمعالج، يمكن للمعالج ببساطة تحويله إلى تعبير جمع: A + (-B)
يتم تشكيل المكملين الاثنين لعدد صحيح ثنائي بتوجيه عكسي (تعويض) لأجزائه وإضافة 1.
على سبيل المثال،
باستخدام القيمة الثنائية بـ 8 بت 00000001، فإن المكملين الاثنين يتضح أنه 11111111، كما يمكن رؤيته كما يلي:
|-----------------------------------------|-----------------------|
|xالقيمة الأوليةx | 00000001 |
|xالخطوة 1: قلب البتاتx | 11111110 |
|xالخطوة 2: إضافة 1 للقيمة من الخطوة x1 | 11111110 + 00000001 |
|xالمجموع: تمثيل المكملين الاثنينx | 11111111 |
|-----------------------------------------|-----------------------|
11111111 هو تمثيل المكملين الاثنين لـ 1-.
عملية المكملين الاثنين قابلة للعكس، لذلك مكمل الاثنين ل11111111 هو 00000001.