1.4.9 الجمع الست عشري - Hexadecimal 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.9 الجمع الست عشري - Hexadecimal Addition (/thread-3955.html) |
1.4.9 الجمع الست عشري - Hexadecimal Addition - R333T - 12-05-2024 رحلة في عالم الأسمبلي 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. في هذا الجدول: - "النقل" يعبر عن قيمة الحمل التي تم نقلها من الأرقام الأقل إلى الأعلى أثناء الجمع. - X و Y هما الأرقام التي تمت إضافتها. - S هو المجموع الناتج بعد الجمع. بالنظر إلى الجدول، يمكن ملاحظة أن الجمع الست عشري للأرقام 6A2 و 49A أدى إلى الناتج B3C. |