الفريق العربي للهندسة العكسية
1.4.4 الجمع الثنائي - Binary Addition - نسخة قابلة للطباعة

+- الفريق العربي للهندسة العكسية (https://www.at4re.net/f)
+-- قسم : منتديات البرمجة - Programming Forums (https://www.at4re.net/f/forum-5.html)
+--- قسم : البرمجة بالأسمبلي - Assembly Section (https://www.at4re.net/f/forum-16.html)
+--- الموضوع : 1.4.4 الجمع الثنائي - Binary Addition (/thread-3946.html)



1.4.4 الجمع الثنائي - Binary Addition - R333T - 11-05-2024

[صورة مرفقة: dark.jpg]
 رحلة في عالم الأسمبلي   dance
 
https://www.youtube.com/playlist?list=PL..._swadKSPga

# الفصل 0 : تمهيد # الفصل 1 : المفاهيم الأساسية في لغة الassembly


عند إضافة عددين ثنائيين binary integers، يجب المتابعة bit by bit،
بدءًا من زوج البتات ذو الترتيب المنخفض (على اليمين) وإضافة كل زوج بت بعد الآخر. 
هناك أربع طرق لإضافة بتين ثنائيين، كما هو موضح هنا:

إضافة ثنائية عند إضافة صفر إلى صفر، يكون الناتج صفر.
عند إضافة صفر إلى واحد، يكون الناتج واحد. 
عند إضافة واحد إلى صفر، يكون الناتج واحد.
عند إضافة واحد إلى واحد، يكون الناتج عشرة.

[صورة مرفقة: t1.png]


عند إضافة 1 إلى 1، يكون الناتج 10 ثنائيًا (فكر فيه كقيمة عشرية 2).
البت الإضافي يُولِّد حمولة إلى البت الأعلى في النقطة.
في الشكل التالي، نضيف 00000100 ثنائيًا إلى 00000111:

[صورة مرفقة: t2.png]

بدءًا من البت الأقل في كل رقم (موضع البت 0)، نقوم بالجمع لنحصل على 1 في الصف السفلي.
تحدث نفس الشيء في الموضع التالي بالنسبة للبت الأعلى (موضع البت 1). 
في موضع البت 2، نقوم بالجمع لنحصل على مجموع صفر وحمولة 1.
في موضع البت 3، نضيف بت الحمولة إلى 1 لنحصل على 1.
البتات الباقية هي صفر.
يمكنك التحقق من الجمع عن طريق إضافة المكافئات العشرية الموضحة على الجانب الأيمن من الشكل.

أحيانًا يتم إنشاء حمولة من الموضع الأعلى للبت.
عندما يحدث ذلك، يصبح حجم المساحة التخزينية المخصصة مهمًا.
على سبيل المثال، إذا قمنا بإضافة 11111111 إلى 00000001، فإن 1 تحمل من الموضع الأعلى للبت، وأقل 8 بتات للمجموع تساوي الصفر.
إذا كان موقع التخزين للمجموع يحتوي على مساحة لا تقل عن 9 بتات، يمكننا تمثيل المجموع كـ 100000000.
ولكن إذا كان المجموع يمكنه تخزين فقط 8 بتات، سيكون يساوي 00000000، وهو أقل 8 بتات من القيمة المحسوبة.

 
 nice