12-05-2024, 05:37 PM 
	
	
	![[صورة مرفقة: dark.jpg]](https://i.ibb.co/MS9rsJx/dark.jpg)

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.


 
