R333T
12-05-2024, 10:12 AM
رحلة في عالم الأسمبلي
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.
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.1 الأعداد الصحيحة الثنائية - Binary Integers
الجمع الست عشري.
برامج الإصلاح (المعروفة بالمُصحّحات 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.