تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
1.4.9 الجمع الست عشري - Hexadecimal Addition
#1
[صورة مرفقة: dark.jpg]
 رحلة في عالم الأسمبلي   dance
 
https://www.youtube.com/playlist?list=PL..._swadKSPga

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


الجمع الست عشري.

برامج الإصلاح (المعروفة بالمُصحّحات debuggers) عادة ما تعرض عناوين الذاكرة بالتحويل الست عشري.
غالباً ما يكون من الضروري إضافة عنوانين لتحديد عنوان جديد.
(necessary to add two addresses in order to locate a new address)

لحسن الحظ، تعمل عملية الجمع الست عشرية بنفس طريقة الجمع العشري، إذا قمت فقط بتغيير قاعدة الأرقام.

لنفترض أننا نريد جمع عددين X و Y، باستخدام قاعدة الأرقام _b_. سنقوم بترقيم أرقامهم من الموضع الأدنى X0 إلى الأعلى.
إذا قمنا بجمع الأرقام Xi و Yi في X و Y، سننتج القيمة Si. إذا كان Si ≥ b ، فسنقوم بإعادة حساب Si = (Si % b) وإنشاء قيمة حمل بقيمة 1.
عندما ننتقل إلى الزوج التالي من الأرقام Xi+1 و Yi+1، نضيف قيمة الحمل (carry) إلى مجموعهم.

على سبيل المثال، دعنا نجمع القيم الست عشرية 6A2 و 49A.
في الموضع الأدنى للرقم، 2 + A = 12 عشري، لذا لا يوجد حمل ونستخدم C للدلالة على الرقم الست عشري المجموع.
في الموضع التالي، A + 9 = 19، لذا يوجد حمل لأن 19 ≥ 16، قاعدة الأرقام. 
نقوم بحساب 19 % 16 = 3 ونحمل 1 إلى الموضع الثالث. أخيرًا، نقوم بجمع 1 + 6 + 4 = 11 عشري والذي يظهر كالحرف B في الموضع الثالث من المجموع.

المجموع الست عشري هو B3C.


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



في هذا الجدول:

- "النقل" يعبر عن قيمة الحمل التي تم نقلها من الأرقام الأقل إلى الأعلى أثناء الجمع.
- X و Y هما الأرقام التي تمت إضافتها.
- S هو المجموع الناتج بعد الجمع.

بالنظر إلى الجدول، يمكن ملاحظة أن الجمع الست عشري للأرقام 6A2 و 49A أدى إلى الناتج B3C.


 
smoke
أعضاء أعجبوا بهذه المشاركة :


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم