رمز سداسي عشري. الملخص: برنامج لتحويل الأعداد العشرية إلى أنظمة الأعداد الثنائية والسداسية العشرية برنامج لتحويل الأعداد العشرية إلى مجمع ثنائي

1. أنظمة الأرقام الأساسية. إقرارات بيانات المجمع

موضوعي: تعريف الطلاب بأنظمة الأرقام - ثنائي وثماني وست عشري ؛ تمثيل البيانات في ذاكرة الكمبيوتر ، توجيهات تخصيص الذاكرة.

الجزء النظري

أصغر وحدة معلومات يمكن تخزينها على الكمبيوتر هي بت (م. قليل - ثنائية ناري ديجي ر )، بمعنى آخر. 0 أو 1. البتة هي ذرة من المعلومات ، ولا يمكن تقسيمها. يتم تجميع البتات في 8 لتشكيل بايت. المعلومات التي يعالجها الكمبيوتر عبارة عن سلسلة من الأرقام الثنائية. يمكن تشكيل 256 مجموعة من 8 بتات. تُستخدم هذه المجموعات لتشفير الأحرف الكبيرة والصغيرة والأرقام والأحرف الخاصة.

لقياس المعلومات الموجودة على جهاز الكمبيوتر ، يتم استخدام الكميات التالية:

1 كيلو بايت = 1 كيلو بايت = 2 10 بايت = 1024 بايت ؛

1 ميغا بايت = 1 ميغا بايت = 2 20 بايت = 1024 كيلو بايت ؛

1 جيجا بايت = 1 جيجا بايت = 2 30 بايت = 1024 ميجا بايت.

أنظمة الأرقام

نظام الأرقام هو مجموعة من القواعد والأرقام لتمثيل الأرقام. بالنسبة لأي نظام رقم موضعي ، فإن عدد الأرقام المراد تمثيلها يساوي قاعدة نظام الأرقام ، على سبيل المثال ، بالنسبة للنظام الثنائي ، القاعدة هي الرقم 2 ، لذلك ، لتمثيل الأرقام ، يلزم وجود رقمين 0 و 1 ، بالنسبة لنظام الأرقام السداسي العشري ، يكون 0 ، 1 ، 2 ، ... ، 9 ، A ، B ، C ، D ، E ، F ، حيث تتوافق الأحرف مع القيم 10 ، 11 ، 12 ، 13 ، 14 و 15 على التوالي.

للتمييز بين أنظمة الأرقام ، يتم وضع حرف في نهاية الرقم: B لرقم ثنائي ، Q لرقم ثماني ، D لرقم عشري ، و H لرقم سداسي عشري. D اختياري للأرقام العشرية.

إذا كان الرقم مكتوبًا في نظام رقم b-ary في النموذج

Nr (b) = C n C n-1 C n-2 ... C 2 C 1 C 0، D 1 D 2 D 3 ...،

ثم في نظام الأرقام العشري ، يمكن تمثيل قيمتها كمجموع الأرقام مضروبًا في قاعدة نظام الأرقام إلى القوة المساوية لرقم موضع الرقم في الرقم (يبدأ الترقيم من 0 ، من اليمين إلى اليسار ):

Nr (10) = C n * bn + C n-1 * b n-1 +… + C 2 * b 2 + C 1 * b 1 + C 0 * b 0 + D 1 * b -1 + D 2 * ب –2 + د 3 * ب –3 + ...

على سبيل المثال:

لنفترض أن هناك رقمين ثنائيين 11 ب ، 1100011 ب. دعنا نترجم هذه الأرقام إلى نظام الأرقام العشري:

11 ب = 1 * 2 1 + 1 * 2 0 = 3 ؛

11100011 ب = 1 * 2 7 + 1 * 2 6 + 1 * 2 5 + 0 * 2 4 + 0 * 2 3 + 0 * 2 2 + 1 * 2 1 + 1 * 2 0 = 227.

لنلقِ نظرة على أمثلة لتحويل رقم ثماني إلى نظام رقم عشري:

11 س = 1 * 8 1 + 1 * 8 0 = 9 ؛

210q = 2 * 8 2 + 1 * 8 1 + 0 * 8 0 = 136.

مثال على تحويل الأرقام السداسية العشرية إلى الأعداد العشرية:

11 س = 1 * 16 1 + 1 * 16 0 = 17 ؛

CA0h = C * 16 2 + A * 16 1 + 0 * 16 0 = 3232

يستخدم القسمة الصحيحة لتحويل الأرقام من عشري إلى ثنائي أو سداسي عشري. الرقم مقسوم على أساس نظام الأرقام حتى تحصل على الباقي غير القابل للتجزئة. يتم تقسيم حاصل القسمة مرة أخرى وتنتهي العملية عندما يصبح الحاصل أيضًا غير قابل للتجزئة. تتم كتابة الباقي الذي تم الحصول عليه أثناء القسمة بترتيب عكسي. يوضح الرسم البياني ترجمة الرقم 25 إلى نظام الأرقام الثنائية ، ونتيجة لذلك نحصل على الرقم 11001b ، وكذلك ترجمة الرقم 418 إلى نظام الأرقام الست عشري ، ونتيجة لذلك نحصل على الرقم 1A2h ، إذا كان الرقم عشرة هو A.

لتحويل الأرقام من رقم سداسي عشري إلى ثنائي والعكس صحيح ، يتم استخدام الحقيقة التالية: يتوافق كل رقم سداسي عشري مع رقم ثنائي مكون من أربعة بتات والعكس صحيح ، كما هو موضح في الجدول. لذلك ، عند التحويل من نظام سداسي عشري إلى نظام ثنائي ، من الضروري تدوين رمزه الثنائي لكل رقم سداسي عشري ، وأثناء الترجمة العكسية ، يتم تقسيم الرقم الثنائي من اليمين إلى اليسار إلى مجموعات من أربعة أرقام وعلامة سداسية عشرية المباراة مكتوبة لهم.

جدول المراسلات للأرقام السداسية العشرية والأرقام الثنائية.

على سبيل المثال ، لنحول الرقم 1FDh إلى تمثيل ثنائي:

1FDh = 0001-1111-1101b = 111111101b

لنترجم الرقم الثنائي 1110100101b إلى تمثيل سداسي عشري: 0011-1010-0101b = 3A5.

تمثيل صحيح في ذاكرة الحاسوب

يستخدم نظام الأرقام الثنائية لتمثيل المعلومات الموجودة على الكمبيوتر. لتخزين الأعداد الصحيحة ، يتم استخدام عدد ثابت تمامًا من البتات: 8 ، 16 ، 32 ، 64. في n مواضع ثنائية ، يمكنك كتابة عدد صحيح بعلامة في النطاق من -2 n-1 إلى 2 n-1 -1. يتم ترقيم المواقف من 0 إلى n-1 من اليمين إلى اليسار. على سبيل المثال ، سيتم تمثيل الرقم 67 في ثمانية مواضع ثنائية على أنه 01000011b. يمكن تمثيل الأرقام غير الموقعة في النطاق من 0 إلى 2 ن -1.

يمكن تخزين عدد صحيح كرمز مباشر أو مكمل. يتم استخدام بت يسمى بت التوقيع لتمثيل علامة الرقم. إنه في الموضع n-1 وهو الجزء الأكثر أهمية في الرقم. هذا البت هو صفر للأرقام الموجبة وواحد للأرقام السالبة.

الكود المباشر تستخدم لتخزين الأرقام الموجبة أو غير الموقعة.

كود إضافي تستخدم لتخزين الأرقام السالبة. للحصول على تمثيل رقم في الكود التكميلي للاثنين ، يتم أولاً العثور على الكود المباشر للوحدة النمطية للرقم ، ثم الرمز العكسي الخاص به. يتم الحصول على الكود العكسي عن طريق قلب كل بت في التمثيل الثنائي لرقم: يتم تحويل 0 إلى 1 ، و 1 إلى 0. في الخطوة الأخيرة ، تتم إضافة 1 إلى الكود العكسي.

على سبيل المثال ، لتمثيل الرقم -65 لدينا:

01000001b رمز الرقم المباشر +65

10111110b رمز عكسي

10111111b كود مكمل للرقم -65

يتم استخدام رمز إضافي لاستبدال عملية طرح الأعداد الصحيحة بعملية الجمع برقم ممثل في رمز تكميلي اثنين. في هذه الحالة ، لا يحتاج المعالج إلى إجراء عملية طرح الأعداد الصحيحة.

أنواع البيانات

BYTE... نوع البيانات هذا هو 1 بايت (8 بت). باستخدام هذا النوع ، يمكنك تشفير عدد صحيح بعلامة في النطاق من -128 إلى +127 أو بدون إشارة في النطاق من 0 إلى 255 ، أي حرف ASCII يتم ترميزه أيضًا على أنه عدد صحيح. توجيه التعريف - DB(تحديد بايت).

كلمة... نوع البيانات هذا 2 بايت (16 بت). يمكن أن يحتوي متغير من هذا النوع على عدد صحيح في النطاق من -32768 إلى + 32767 أو من 0 إلى 65535 ، أو حرفين من أحرف ASCII ، أو عنوان ذاكرة ذي صلة من النوع القريب. في هذه الحالة ، تتم كتابة الذاكرة على النحو التالي: يقع الجزء السفلي من الرقم في العنوان السفلي ، والجزء الأقدم - في العنوان الأعلى. هذا صحيح بالنسبة لأنواع البيانات الأخرى أيضًا. على سبيل المثال ، إذا كان العدد الصحيح السداسي العشري 1234h يقع عند 1000 ساعة ، فسيكون الجزء الأقل أهمية من 34 ساعة موجودًا عند 1000 ساعة و 12 ساعة عند 1001 ساعة. توجيه التعريف - د(تعريف كلمة).

DWORD- يمكن أن تحتوي 4 بايت (كلمتان) على عدد صحيح 32 بت موقعة أو بدون إشارة ، أو رقم فاصلة عائمة ، أو عنوان ذاكرة 32 بت ، أو 4 أحرف ASCII. عند تخزين العنوان ، يقع عنوان المقطع في البايتين الأكثر أهمية ، ويكون الإزاحة في وحدتي بايت الأقل أهمية من الذاكرة. توجيه التعريف - DD(تعريف كلمة مزدوجة).

QWORD- 8 بايت. يمكن أن يكون عددًا صحيحًا بعلامة أو بدون إشارة ، أو رقم فاصلة عائمة مزدوج الدقة. توجيه التعريف - DQ(تحديد رباعي).

تيEN- بايت- 10 بايت. تستخدم لتخزين البيانات في الذاكرة الرئيسية أو في معالج مساعد. يمكن أن تكون معبأة بنظام عشري ثنائي ، أو عدد صحيح ممتد ، أو فاصلة عائمة ممتدة. توجيه التعريف - DT(تحديد عشرة بايت).

الصيغة العامة لتعريف البيانات هي:

< اسم> < نوع> < قائمةالقيم>

< اسم> < نوع> < عدد> مزدوج (التعبير),

أين اسم- المعرف ، نوع- إحدى توجيهات تخصيص الذاكرة التي تمت مناقشتها أعلاه ، قائمة القيم- قائمة يمكن أن تحتوي على ثوابت شخصية أو رقمية. يمكن أن تحتوي أيضًا على الشخصية ? ، إذا لم يتم تعريف القيمة ، أو كان العنوان اسمًا أو تسمية متغيرًا ، فسيتم تضمين سلسلة من أحرف ASCII بين علامتي اقتباس أو فاصلات عليا. التوجيه مزدوجيصف تكرار القيم المحددة من خلال التعبير المعطى <число> ذات مرة. تعبيريمكن أن يكون ثابتًا أو ثوابت أو علامات حسابية متسلسلة أو قائمة قيم أو رمزًا ? إذا كانت القيمة غير محددة.

على سبيل المثال،

var_a db 2 مزدوج (0 ، 3 مزدوج (1)) ؛ يعادل var_a db 0،1،1،1،0،1،1،1 var_b db 1، 2، 3،؟،؟ adr_a dw var_a adr_b3 dd var_b + 3

دعنا نحدد حجم الذاكرة المخصصة لكل من المتغيرات التالية:

m1 ديسيبل 4 ، 5 ، 1 ، 6 ؛ 4 * 1 = 4 بايت م 2 ديسيبل “xzyqw” ؛ 5 * 1 = 5 بايت م 3 dw 12 مزدوج (؟) ؛ 12 * 2 = 24 بايت m4 dd 345h ، 234 h ؛ 2 * 4 = 8 بايت

m1 ديسيبل 4 ، 5 ، 1 ، 6 ؛ 4 * 1 = 4 بايت م 2 ديسيبل “xzyqw” ؛ 5 * 1 = 5 بايت م 3 dw 12 مزدوج (؟) ؛ 12 * 2 = 24 بايت m4 dd 345h ، 234 h ؛ 2 * 4 = 8 بايت

إجمالي عدد البايتات المخصصة بواسطة هذه التوجيهات هو 41 بايت. يقع المتغير m1 في العنوان النسبي 00h و m2 - 04h و m3 - 09h و m4 - 021h.

المهام الفردية:

1. تحويل الأرقام العشرية إلى أنظمة الأرقام الثنائية والسداسية العشرية والثمانية:

1)42;31;113 5 )46;35;119 9 ) 49;30;103 13 )29;37;97
2 )45;81;89 6)66;25;110 10 )19;53;101 14 )21;87;98
3 )12;38;118 7 )17;63; 96 11)34;50;107 1 5) 28;45;130
4 )11;43;67 8 )13;69;88 1 2 )14;70;99 16)15;72;100

2. تحويل الأرقام السداسية العشرية إلى الأرقام الثنائية:

1) أ 45 ؛ 12 ؛ 56 ب 5) 7 ج ؛ 72 إيب ؛ 31 ديسيبل 9) 34 أ ، 6 أ ب ، 9 م 13) 2B9 ؛ 6F1 ؛ 81 ب
2) 1EF3 ؛ 5AB ؛ 46F 6) 3EB ؛ 4D8 ؛ أ 61 10) 5 AB ؛ 79F ؛ AB8 14) 7CD ؛ 2A1 ؛ B53
3) A56 ؛ 5E9 ؛ CDE 7) 6A3 ؛ 9D0 ؛ 8 بي إي 11) 9A ، 4DE ، EF7 15) 10B ؛ 87F ؛ CD9
4) 3B8 ؛ DE1 ؛ BAE 8) قبل الميلاد ؛ 7F9 ؛ 78 أ 12) أب ؛ 8E4 ؛ ج 17 16) 38E ؛ 9C7 ؛ B89

3. تحويل الأرقام الثنائية إلى نظام رقم ثماني وسداسي عشري:

1) 00101011; 00100110;
01110011
5 ) 11110010; 01101010;
11111100;
9 ) 10000101; 11100010;
11001011
13 ) 00011101; 11111001;
00111101
2 ) 01100001; 01101110;
11110011
6) 00110110; 00111011;
10001100
10 ) 00011101; 01010110;
10110010
14 ) 00011100; 01001100;
01101110
3) 11100100; 01011100; 11000001 7 ) 11010010; 01001100; 11000111 11) 11100010; 10100001; 10001110 1 5 ) 10101001; 11010101; 111001100
4 ) 00001111; 10100101; 10010001 8 ) 11100000 11111000; 01000011 1 2 ) 10100101; 01101100; 11100001 16) 11100111; 01100101; 10110010;

4. أدخل الأرقام التالية في الكود التكميلي:

1)-42;-31;-96 5)-46;-35;-94 9) -49;-30;-103 13)-29;-37;-97
2)-52;-41;-93 6)-66;-25;-85 10)-19;-53 ; -101 14)-21;-87;-98
3)-12;-38;-93 7)-17;-63;-99 11)-34;-50;-94 15)-28;-45;-95
4)-11;-43;-67 8)-13;-69;-88 12)-14;-70;-99 16)-15;-72;-89

5 - ترد التعاريف التالية للمتغيرات:

1) أ ديسيبل 45،16،76 ، -6
بديسيبل "abcd"
جdw 15 مزدوج (0) ، 3.3
d dd 345h
2) أ dd 2.24
ب ديسيبل "أأأ" - 8.23 ​​س ، 11101 ب
ج ديسيبل 6 مزدوج (0) ، 45 ، 6
d dw -7،4Dh، 8 مزدوج (0)
3) أ ديسيبل "Salut" ، 10.13
ب ديسيبل -16 ، -20 ، 13 س ، 2 مزدوج (0)
ج DW 62.34، -15
d dd 456C9h، 4567
4) يوم 92.45 س ، 90 ، -54 ، -67
ب 10 ديسيبل مزدوج ('$')، 10.13
c db "amdto"، 10، 13، "$"
د د د 5 مزدوج (؟)، 7، -80 س
5) أ ديسيبل “lucrarea_1” ، 10.13
ب ديسيبل 2 مزدوج (0)
ج DW 38، -15،78،41،12
ي ي ي 678 هـ، 3489.456
6) أ ديسيبل 12.24 ، "sss"
ب ديسيبل "أب" ، - 8.23 ​​ساعة
ج dd 6 مزدوج (0) ، 45
d dw -7.5 مزدوج (0)
7) أ ديسيبل 35.53
ب ديسيبل 10 مزدوج ("") ، 10.13 ، "$"
ج dw 5 مزدوج (0)
د ي د 555 ح
8) أ ديسيبل 34،6،3 ، -8 ، -2
ب ديسيبل "مرحبًا" ، "$"
ج dw 6 مزدوج (0)، '$'، 10.13
d dw -68.46h، 7 مزدوج (0)
9) أ ديسيبل 45.16
ب ديسيبل 5 مزدوج (؟) ، 10،13 ، "$"
c dw 55 دوب (0)
d dd 34567h
10) أ ديسيبل 76.87.92.45 ساعة
ب 20 ديسيبل مزدوج ('$')، 10.13
ج ديسيبل "qwert"
d dw 10 مزدوج (0)
11) أ يوم 78.34.67
ب ديسيبل "Rezultat"، "$"
ج ديسيبل 16 مزدوج (0) ، '$' ، 10.13
12) أ ديسيبل 73،74،75،77،78 ، -67
ب ديسيبل 15 مزدوج ("؟") ، 10.13
جdd 777h
13) أ ديسيبل 24.76، -56
ب ديسيبل "أبك" ، 11101 ب
ج ي دي 45.4 مزدوج (؟)
d dw 4 مزدوج (0) ، 8.3
14) أ ديسيبل “testul_nr_2” ، 13،10
ب ديسيبل -18 ، -22.18 س ، 2 مزدوج (0)
ج DW 81، -16.44.18
د DD 568ABh
15) 87.45h، -9
ب ديسيبل 10 مزدوج (؟)
ج ديسيبل “test_1 $”
d dw 4 مزدوج (0)، 2.7
16) أ ديسيبل "ماتيماتيكا" ، 10.13
ب ديسيبل 10.20 س ، 2 مزدوج (0)
ج DW 60،30، -10، -20، -50
د DD 56789Bh

أ) تحديد عدد البايتات المخصصة لهذه التوجيهات ؛
ب) تحديد العناوين التي يقع فيها كل من المتغيرات.

نظام رقم سداسي عشري(أيضًا - الكود السداسي العشري) هو نظام ترقيم موضعي مع عدد صحيح أساس 16. أحيانًا في الأدب يستخدم المصطلح ست عشري أيضًا (يُنطق "سداسي عشري" ، اختصار لـ "سداسي عشري"). من المعتاد استخدام الأرقام العربية من 0 إلى 9 وكذلك الأحرف الأولى من الأبجدية اللاتينية من A إلى F لأرقام نظام الأرقام هذا. تتوافق الأحرف مع القيم العشرية التالية:

  • * أ —10 ؛
  • * ب —11 ؛
  • * ج —12 ؛
  • * D -13 ؛
  • * هـ - 14 ؛
  • * ف - 15.

وهكذا ، فإن عشرة أرقام عربية ، مع ستة أحرف لاتينية ، تشكل ستة عشر رقمًا من النظام.

بالمناسبة ، على موقعنا يمكنك ترجمة أي نص إلى رمز عشري ، سداسي عشري ، ثنائي باستخدام حاسبة الكود عبر الإنترنت.

طلب. رمز سداسي عشريتستخدم على نطاق واسع في البرمجة منخفضة المستوى وكذلك في العديد من الوثائق المرجعية للكمبيوتر. يتم تبرير شعبية النظام من خلال الحلول المعمارية لأجهزة الكمبيوتر الحديثة: حيث يتم تعيين بايت (يتكون من ثمانية بتات) كوحدة دنيا للمعلومات - ويتم كتابة قيمة البايت بشكل ملائم باستخدام رقمين سداسي عشريين. يمكن أن تتراوح قيمة البايت من # 00 إلى #FF (من 0 إلى 255 في النظام العشري) - بمعنى آخر ، باستخدام رمز سداسي عشري، يمكنك كتابة أي حالة للبايت ، بينما لا توجد أرقام "إضافية" غير مستخدمة في التسجيل.

في الترميز يونيكوديتم استخدام أربعة أرقام سداسية عشرية لتسجيل رقم الحرف. غالبًا ما يستخدم لون RGB (أحمر ، أخضر ، أزرق - أحمر ، أخضر ، أزرق) أيضًا رمزًا سداسيًا عشريًا (على سبيل المثال ، # FF0000 - أحمر ساطع).

طريقة الكتابة للرمز الست عشري.

طريقة الكتابة الرياضية... في التدوين الرياضي ، تتم كتابة قاعدة النظام بالتدوين العشري في رمز منخفض على يمين الرقم. يمكن كتابة التدوين العشري للرقم 3032 كـ 3032 10 ، في النظام الست عشري سيكون لهذا الرقم الرقم القياسي BD8 16.

في تركيب لغات البرمجة... يضبط بناء جملة لغات البرمجة المختلفة تنسيق كتابة الأرقام بطريقة مختلفة باستخدام رمز سداسي عشري:

* في صيغة بعض أنواع لغة التجميع ، يتم استخدام الحرف اللاتيني "h" ، والذي يوضع على يمين الرقم ، على سبيل المثال: 20Dh. إذا كان الرقم يبدأ بحرف لاتيني ، فإنه يسبقه صفر ، على سبيل المثال: 0A0Bh. يتم ذلك للتمييز عن قيم الثوابت باستخدام رمز سداسي عشري;

* أنواع أخرى من المجمعات ، بالإضافة إلى باسكال (ونكهاته مثل دلفي) وبعض اللهجات الأساسية ، استخدم البادئة "$": $ A15؛

* في لغة ترميز HTML ، وكذلك في ملفات CSS المتتالية ، تُستخدم البادئة "#": # 00DC00 لتحديد اللون بتنسيق RGB باستخدام تدوين سداسي عشري.

كيف يمكنني ترجمة كود سداسي عشري لنظام آخر؟

التحويل من النظام الست عشري إلى النظام العشري.لإجراء عملية نقل من نظام سداسي عشري إلى نظام عشري ، يلزم تقديم الرقم الأصلي كمجموع منتجات الأرقام في أرقام رقم سداسي عشري بواسطة قوة الأساس.

ثنائي SS

سداسي عشري SS

على سبيل المثال ، تريد ترجمة الرقم السداسي العشري A14: يتكون من ثلاثة أرقام. باستخدام القاعدة ، نكتبها في صورة مجموع درجات على أساس 16:

أ 14 16 = 10.16 2 + 1.16 1 + 4.16 0 = 10.256 + 1.16 + 4.1 = 2560 + 16 + 4 = 2580 10

تحويل الأرقام من ثنائي إلى سداسي عشري والعكس صحيح.

للترجمة ، يتم استخدام جدول دفاتر الملاحظات. لتحويل رقم من نظام ثنائي إلى نظام عشري ، من الضروري تقسيمه إلى رباعيات منفصلة من اليمين إلى اليسار ، ثم ، باستخدام الجدول ، استبدل كل رباعي بالرقم السداسي العشري المقابل. علاوة على ذلك ، إذا كان عدد الأرقام ليس مضاعفًا لأربعة ، فمن الضروري إضافة العدد المقابل من الأصفار إلى يمين الرقم ، بحيث يصبح العدد الإجمالي للأرقام الثنائية مضاعفًا لأربعة.

جدول دفاتر للترجمة.

للتحويل من نظام سداسي عشري إلى ثنائي ، يجب إجراء العملية المعاكسة: استبدل كل رقم بمربع رباعي من الجدول.

ثنائي SS

أوكتال SS

مثال التحويل من نظام سداسي عشري إلى ثنائي: A5E 16 = 1010 0101 1110 = 101001011110 2

مثال التحويل من نظام ثنائي إلى نظام سداسي عشري: 111100111 2 = 0001 1110 0111 = 1E7 16

في هذا المثال ، لم يكن عدد الأرقام في الرقم الثنائي الأصلي أربعة (9) ، لذلك تمت إضافة أصفار غير مهمة - أصبح العدد الإجمالي للأرقام 12.

الترجمة الآلية... يمكن إجراء ترجمة سريعة من نظام الأرقام السداسي العشري إلى أحد الأنظمة الثلاثة الشائعة (ثنائي وثماني وعشري) ، بالإضافة إلى الترجمة العكسية ، باستخدام الآلة الحاسبة القياسية المتوفرة مع Windows. افتح الآلة الحاسبة ، حدد عرض -> مبرمج من القائمة. في هذا الوضع ، يمكنك ضبط نظام الأرقام المستخدم في الوقت الحالي (انظر القائمة الموجودة على اليسار: Hex ، Dec ، Oct ، Bin). في هذه الحالة ، يتم ترجمة تغيير نظام الأرقام الحالي تلقائيًا.

1 المقدمة

2. معلومات عامة عن لغة التجميع

3. جزء البرنامج

· وصف البرنامج

· مراحل تطوير برامج التجميع ___

برنامج لتحويل الأعداد العشرية إلى أنظمة الأعداد الثنائية والسداسية العشرية

4. المراجع


مقدمة

تنقسم الوسائل التي تضمن عمل تكنولوجيا الكمبيوتر إلى جزأين: الأجهزة والبرامج.

يتضمن جزء الأجهزة أجهزة مثل:

· معالج مركزي.

· الرامات "الذاكرة العشوائية في الهواتف والحواسيب؛

· ملحقات؛

جميع الأجهزة المذكورة أعلاه مبنية على دوائر متكاملة (ICs).

الدائرة المتكاملة عبارة عن منتج إلكتروني دقيق يؤدي وظائف تحويل معينة ، وله كثافة تعبئة عالية من العناصر والمكونات المترابطة كهربائيًا ، ويمثل كلًا واحدًا من حيث القبول ومتطلبات الاختبار التشغيلي.

مثال على IC هي دوائر الأجهزة الرقمية: السجلات ، والإضافات ، ونصف adders ، والعدادات ، والمشفرات ، وأجهزة فك التشفير ، إلخ.

يشتمل جزء البرنامج على: مجموعة من البرامج والقواعد مع جميع الوثائق ذات الصلة ، مما يسمح لك باستخدام الكمبيوتر لحل المشكلات المختلفة.

البرنامج عبارة عن سلسلة كاملة من تعليمات الآلة أو مشغلي لغة البرمجة التي تحدد سلسلة من الإجراءات لحل مشكلة معينة.

المهمة في عملنا هي: تحويل رقم عشري مكون من ثلاثة أرقام إلى نظام رقم ثنائي وسداسي عشري. يتم تنفيذ هذه المهمة باستخدام لغة التجميع. تستخدم هذه اللغة منخفضة المستوى تدوينات رمزية (ذاكري) لتعليمات وعناوين الآلة. ميزة هذه اللغة هي: أولاً ، حقيقة أن البرامج المكتوبة بها تتطلب ذاكرة أقل بشكل ملحوظ ؛ ثانيًا ، تعطي معرفة هذه اللغة ورمز الآلة الناتج فكرة عن بنية الآلة ، والتي يصعب ضمانها عند العمل بلغة برمجة عالية المستوى.


معلومات عامة حول لغة التجميع

تجعل لغة التجميع الرمزية من الممكن القضاء إلى حد كبير على عيوب برمجة لغة الآلة.

ميزته الرئيسية هي أنه في لغة التجميع يتم تمثيل جميع عناصر البرنامج في شكل رمزي. يتم تعيين تحويل الأسماء الرمزية للأوامر إلى أكوادها الثنائية إلى برنامج خاص - مُجمِّع ، والذي يحرر المبرمج من العمل الذي يستغرق وقتًا طويلاً ويزيل الأخطاء التي لا مفر منها.

تعكس الأسماء الرمزية ، التي يتم إدخالها أثناء البرمجة بلغة التجميع ، كقاعدة عامة ، دلالات البرنامج ، واختصار الأوامر - وظيفتها الرئيسية. على سبيل المثال: PARAM - معلمة ، جدول - جدول ، قناع - قناع ، إضافة - إضافة ، فرعي - طرح ، إلخ. ن. يسهل على المبرمج تذكر هذه الأسماء.

للبرمجة بلغة التجميع ، تحتاج إلى أدوات معقدة أكثر من البرمجة بلغة الآلة: فأنت بحاجة لأنظمة حوسبة تعتمد على كمبيوتر صغير أو كمبيوتر به مجموعة من الأجهزة الطرفية (لوحة مفاتيح أبجدية رقمية ، وشاشة شخصية ، ومحرك أقراص مرنة ، و جهاز الطباعة) ، وكذلك البرمجة المقيمة أو عبر الأنظمة لأنواع المعالجات الدقيقة المطلوبة. تتيح لك لغة التجميع كتابة برامج أكثر تعقيدًا وتصحيحها بكفاءة مقارنة بلغة الآلة (حتى 1 - 4 كيلوبايت).

لغات التجميع موجهة نحو الآلة ، أي تعتمد على لغة الآلة وهيكل المعالج الدقيق المقابل ، حيث يتم تعيين اسم رمزي معين لكل تعليمات معالج دقيق.

توفر لغات التجميع زيادة كبيرة في إنتاجية المبرمجين مقارنة بلغات الآلة وفي نفس الوقت تحتفظ بالقدرة على استخدام جميع موارد أجهزة البرامج المتاحة للمعالج الدقيق. يتيح ذلك للمبرمجين المهرة كتابة برامج يتم تنفيذها في وقت أقصر وتستهلك ذاكرة أقل من البرامج المكتوبة بلغة عالية المستوى.

في هذا الصدد ، تتم كتابة جميع برامج التحكم في أجهزة الإدخال / الإخراج (برامج التشغيل) بلغة التجميع ، على الرغم من وجود مصطلحات كبيرة إلى حد ما للغات عالية المستوى.

باستخدام لغة التجميع ، يمكن للمبرمج ضبط المعلمات التالية:

ذاكري (الاسم الرمزي) لكل تعليمة في لغة الآلة للمعالج الدقيق ؛

تنسيق قياسي لخطوط برنامج المجمع ؛

تنسيق لتحديد طرق العنونة المختلفة وخيارات الأوامر ؛

تنسيق لتحديد ثوابت المحارف وثوابت نوع العدد الصحيح في أنظمة الأرقام المختلفة ؛

أوامر زائفة تتحكم في عملية تجميع (ترجمة) البرنامج.

في لغة التجميع ، يتم كتابة البرنامج سطراً بسطر ، أي يتم تخصيص سطر واحد لكل تعليمات.

بالنسبة لأجهزة الكمبيوتر الدقيقة ، المبنية على أساس الأنواع الأكثر شيوعًا من المعالجات الدقيقة ، قد يكون هناك العديد من المتغيرات للغة التجميع ، ومع ذلك ، عادة ما يكون هناك توزيع عملي واحد فقط - وهذا ما يسمى لغة التجميع القياسية. في المستقبل ، سننظر بالضبط في لغات التجميع القياسية.

يحتوي كل سطر من برنامج مكتوب بلغة التجميع على أربعة مجالات:

التعليق على رمز عملية التسمية

يعد حقل LABEL اختياريًا ، فهو يشير إلى عنوان خلية الذاكرة التي يوجد بها البايت الأول من الأمر المحدد. تُستخدم الملصقات كعناوين لنقل أوامر نقل التحكم ، وبسبب وجودها ، لا يمكن للمبرمج العمل بعناوين مطلقة ، ولكن استخدام عناوين رمزية ، وهو أكثر ملاءمة. يمكن أن تتكون التسمية من حرف إلى ستة أحرف ، يجب أن يكون أولها حرفًا. تسمح العديد من المجمعات بتسميات من أي طول ، ولكن يتم التعرف على الأحرف الستة الأولى فقط. يجب ألا تحتوي التسمية على مسافات أو علامات ترقيم. في بعض المجمعات ، يجب أن يتبع الحرف الأخير من الملصق بنقطتين.

في حقل التسمية ، يجب تحديد كل تسمية مرة واحدة فقط ، ولكن يمكن استخدام المراجع إليها عدة مرات حسب الحاجة. خلاف ذلك ، سيصدر المجمع رسالة تشخيصية حول تسمية محددة متعددة.

يحتوي الحقل CODE على الاسم الرمزي للأمر أو الأمر الزائف الجاري تنفيذه. إن ذاكري معظم الأوامر هو اختصار للجمل في اللغة الإنجليزية التي تميز وظيفتها الرئيسية.

على سبيل المثال:

MOV (MOVE) - الإرسال ، إلى الأمام

إضافة (إضافة) -إضافة

SUB (SUBSTRACT) -الطرح

LDA (تحميل مباشر

ACCUMULATOR) - تنزيل مباشر

INR (بطارية INSCREMENT

REGISTER) - تسجيل الزيادة

REGISTER) سجل التناقص

فن الإستذكار الإرشادي عبارة عن كلمات رئيسية للمجمع ، وإذا لم يتم تضمينها في مجموعة فن الإستذكار الصالحة ، فإن المجمع يصدر رسالة إرشادية غير صالحة.

عادةً ما يتم تحديد حقل OPERAND بناءً على حقل كود الأمر. يمكن أن تحتوي إما على واحد أو عدة معاملات مفصولة بفواصل ، أو لا يمكن أن تحتوي على معاملات لتلك الإرشادات التي تعمل مع سجلات العمل الداخلية.

المعامل هو تعبير يحتوي على محدد ذاكري وثوابت وعوامل.

أبسط المعاملات تحتوي على ذاكري واحد أو ثابت واحد.

يمكن استخدام معرّفات سجلات العمل الداخلية والتسميات والقيمة الحالية لعداد البرنامج كتسمية ذاكري.

يمكن تمثيل الثوابت في أنظمة أعداد مختلفة.

جزء البرنامج

وصف البرامج

في هذا العمل ، سننظر في إحدى طرق تحويل رقم من نظام الأرقام العشري إلى نظام ثنائي وسداسي عشري باستخدام لغة التجميع. قبل إنشاء برنامج ، سننظر بالتفصيل في الخطوات التي يجب اتخاذها لهذا الغرض ، أي بعبارة أخرى ، سنكتب خوارزمية لحل مشكلتنا. لكي يقوم الكمبيوتر بمعالجة البيانات ، فإنه يحتاج إلى إدخال هذه البيانات ، مما يعني أن الخطوة الأولى في حل مشكلتنا ستكون بإدخال رقم. ستكون الخطوة الثانية في العمل هي عرض رسالة حول الرقم الذي تم إدخاله. بعد ذلك ، نقوم بتحويل الرقم العشري إلى النظام الثنائي وعرض رقمنا في المكافئ الثنائي على الشاشة. الخطوة التالية هي تحويل الرقم إلى مكافئ سداسي عشري والخطوة الأخيرة عبارة عن حلقة تسمح لك بمواصلة إدخال رقم عشري جديد. الآن دعنا نجمع كل النقاط معًا:

1. إدخال رقم من لوحة المفاتيح.

2. عرض رسالة حول الرقم المدخل.

3. تحويل رقم إلى مكافئ ثنائي.

4. عرض رقم ثنائي.

5. تحويل الرقم إلى النظام الست عشري.

6. عرض رقم سداسي عشري.

7. Cycle (متابعة؟) إذا كان الجواب نعم ، ثم النقطة 1 ، وإلا النقطة 8

8. اخرج من البرنامج.

هذه هي خوارزمية برنامج اللغة الطبيعية.

مراحل تطوير برامج التجميع

1. بيان المشكلة. يتضمن وصفًا ذا مغزى للمشكلة وتطوير خوارزمية.

2. تطوير نص البرامج.

3. إدخال نص في الكمبيوتر. يتم إدخال نص البرنامج في رموز ذاكري في الكمبيوتر باستخدام أي محرر نصوص. يؤدي هذا أيضًا إلى إنشاء ملف نصي بامتداد * .ASM.

4. التجميع أو التجميع. يتم تحويل ملف نصي بامتداد * .ASM إلى ملف كائن يحتوي على برنامج في كود الجهاز بامتداد * .OBJ. يمكن أيضًا في هذه المرحلة إنشاء قائمة بالبرنامج. ملف بامتداد * .LST ، والذي يحتوي على معلومات أساسية حول البرنامج ، بالإضافة إلى ملف مرجعي بامتداد * .CRF. في هذه المرحلة ، يتم غلي نص البرنامج بحثًا عن الأخطاء. يتم التجميع باستخدام برنامج المترجم TASM.EXE (ASM.EXE - في المجمع ، MASM.EXE - في مجمع الماكرو). TASM [options] * .ASM [،] - أمر لإجراء الترجمة. إذا كان الأمر يحتوي على فاصلة واحدة ، فسيتم إنشاء ملف القائمة. لدى TASM خياران: / ZI و / N. يطلق عليهم: TASM.

5. التخطيط. في هذه المرحلة ، يتم إنشاء برنامج قابل للنقل يمكن تحميله في أي منطقة ذاكرة. يتم حفظه في ملف بملحق * .EXE أو * .COM. لهذا ، يتم استخدام TLINK.exe (لمجمع الماكرو LINK.EXE). الخيارات / T و / X.

6. التنفيذ والتصحيح (DEBUG).

7. إدخال رمز الجهاز الخاص بالبرنامج في ROM (قد لا يكون متاحًا) الآن سنرى مخطط الكتلة لبرنامجنا ، أي الإجراءات المطلوبة.


; عشري لبرنامج الترجمة; الأنظمة الثنائية والسادسة عشر; حسابات

؛ مقطع البيانات

؛ طاولة الحوار"Digit - ASCII-الرمز

tabl_ascii db "0123456789abcdef"

;____________________________________________________________________

؛ طاولة الحوار"ASCII-كود - رقم

ديسيبل 0،1،2،3،4،5،6،7،8،9

db 0ah ، 0bh ، 0ch ، 0dh ، 0eh ، 0fh

;____________________________________________________________________

؛ حجز وتهيئة المتغيرات في الذاكرة

x_ascii ديسيبل 20 ساعة دوب (؟)

t1 db 0dh، 0ah، "أدخل رقمًا واضغط على Enter"

ديسيبل 0dh ، 0ah ، "$"

t2 db 0dh، 0ah، "لقد أدخلت رقمًا" ، 0dh ، 0ah "$"

t3 ديسيبل 0dh ، 0ah ، "في النظام الثنائي يبدو هكذا"

t4 db 0dh، 0ah، "In hex so"

ديسيبل 0dh ، 0ah ، "$"

buf db 16 dup (؟)، "$"

t5 ديسيبل 0dh ، 0ah ، "هل نواصل العملية؟ (نعم / لا)؟"

;____________________________________________________________________

; قطعة من الرموز

؛ الإجراء الرئيسي

د:ليا dx ، t1

؛ إجراء إدخال رقم عشري

؛ إجراء لعرض رقم عشري

r1:وسائل التحقق دل ،

; تحويل رقم (عشري) إلى ثنائي

الإصدار 1:مول سي

؛ إجراء لعرض رقم ثنائي

; إجراء تحويل رقم (ثنائي) إلى رقم سداسي عشري

; وعرضه على الشاشة

ملاحظاتتصحيح :

فيما يلي الأوامر المستخدمة في البرنامج:

الفرعية- الطرح الثنائي. يتم طرح محتوى المعامل الثاني من المعامل الأول

فن الإستذكار: الفرعية< المعامل 1>,< المعامل 2>

يتصل- استدعاء الإجراء. ينقل التحكم إلى الإجراء الذي تم تحديد عنوانه بواسطة المعامل ، بعد الانتهاء من الإجراء ، يستمر التنفيذ بالأمر الذي يلي استدعاء الأمر

فن الإستذكار: يتصل< اسم الإجراء>

متقاعد- العودة إلى الإجراء

shr- تحول منطقيًا إلى اليمين

xor- حصري أو

فن الإستذكار: xor<операнд 1>,<операнд 2>

ليا- تنزيل EA

فن الإستذكار: ليا ريج،<операнд>

يدفع- تضمين في المكدس

فن الإستذكار: يدفع< المعامل>

البوب- استخراج من المكدس

فن الإستذكار: البوب<операнд>

موف- إلى الأمام

فن الإستذكار: موف< المتلقي>,<источник>

المؤتمر الوطني العراقي- زيادة بمقدار 1

فن الإستذكار: inc<операнд>

ديسمبر- إنقاص بمقدار 1

فن الإستذكار: ديسمبر< المعامل>

ستوسب- إعادة توجيه التوصيلات الخاصة بتسجيل al أو ax التي يشير إليها السجل di

عقدة- أمر تنظيم دورة مع عداد ، وكذلك قفزات قصيرة (127 ب) ، يقلل الأمر من قيمة العداد cx ، دون تغيير أي إشارات ، إذا كان الاتصال cx> 0 ، فسيتم تنفيذ الانتقال إلى الملصق المحدد ، وإلا تنتهي الدورة.

فن الإستذكار: عقدة< ضع الكلمة المناسبة>

.الشفرة- يفتح مقطع كود

. البيانات- يفتح شريحة البيانات

.كومة ن- يحدد مجموعة المكدس (أ) ؛ لا يتم استخدام توجيهات إغلاق المقطع في هذه الحالة ؛ N - يُظهر حجم المكدس (أ) بالبايت

ملحوظة : عند استخدام هذه التوجيهات ، تتم تهيئة سجل ds على النحو التالي: mov ax، @ data

وسائل التحقق س ، فأس

افترض أنه لم يتم استخدامه في هذه الحالة

فهرس

1. "أنا لغة تجميع لأجهزة كمبيوتر IBM والبرمجة" Graduate School 1992.

2. "الكمبيوتر الشخصي لشركات IBM ونظام التشغيل MS-DOS" الراديو والاتصالات 1991.

3. إليوشكين ف.ن. ، كوستين إيه ، خوخلوف م. "برمجيات النظام" م. ، "المدرسة الثانوية" ، 1987

4. Norton P.، Souhe D. "لغة التجميع لأجهزة الكمبيوتر الشخصية IBM"، M.، دار النشر "Computer"، 1993

مرحبا! يوجد خط مثل هذا:

Var 2،2،3،3،4،4 دينار بحريني ؛ 223344 رقم عشري مكون من 6 أرقام بتنسيق غير معبأ بدقة متزايدة (تنسيق ASCII)

كيف يمكن تحويل هذا الرقم 223344 إلى رقم سداسي عشري؟ لقد وجدت رمزًا كهذا يتحول من رقم عشري فردي ومكون من رقمين إلى رقم مكون من ستة عشر رقمًا:

؛ فار. 17. العودة. 1. اكتب روتين فرعي لتحويل بعض المصفوفات العشرية ؛ بايت ASCII. إلى مجموعة بايت BCD. استخدم هذا الروتين الفرعي لمعالجة صفيفتين ؛ استخدم المكدس لتمرير المعلمات. برنامج الاسم ؛ وصف الثوابت وصف المتغيرات مقطع البيانات x1 db 2h db 1h db 3h db 1h db 4h db 1h ؛ الأرقام بصيغة ASCII y1 db 3 dup (؟) ؛ صفيف بتنسيق BCD x2 db 8h ؛ 98 ديسيبل 9 ساعات ديسيبل 5 ساعات ؛ 95 ديسيبل 9 ساعات ديسيبل 7 ساعات ؛ 87 ديسيبل 8 ساعات ديسيبل 2 ساعة ؛ 92 ديسيبل 9 ساعات ؛ المصفوفة العشرية بايت ASCII Y2 ديسيبل 4 مزدوج (؟) ؛ المصفوفة العشرية بايت BCD تنتهي البيانات Stack SEGMENT DW 16 dup (؟) StkTOp LABEL word Stack ينتهي رمز SEGMENT ASSUME CS: Code، DS: Data، ES: Data، SS: Stack؛ يتم وصف الإجراءات هنا abc proc push bp mov bp، sp؛ ربط بأعلى المكدس mov cx ؛ قراءة المعلمات من المكدس (عدد الأرقام) mov di ،؛ عنوان المتغير Y1 mov si ؛ عنوان المتغير X1 M1: mov al ، +1 ؛ قم بتحميل الرقم الأول بتنسيق ASCII shl ax ، 1 ؛ التحول بمقدار 4 أرقام إلى الفأس الأيمن ، 1 فأس shl ، 1 فأس shl ، 1 أو آل ، استعادة الرقم الذي نتذكره mov ، al ؛ اكتب الرقم بصيغة BCD-format inc si ؛ انتقل إلى رقم آخر inc si inc di ؛ تعديل عنوان BCD - أرقام dec cx ؛ تقليل عدد الأرقام jnz M1 ؛ إذا لم ينتهوا ، فانتقل إلى M1 pop BP ret 6 abc endp ؛ بدء البرنامج الرئيسي: mov AX ، Data mov DS ، AX mov ES ، AX mov Ax ، Stack mov SS ، AX mov SP ، الإزاحة StkTop ؛ معلمات التحميل على المكدس وفقًا لحالة المهمة mov ax ، offset x1 ؛ تحميل عنوان مجموعة الدفع الأولى فأس الدفع ، تعويض Y1 ؛ تحميل عنوان نتيجة دفع الفأس mov ، 3 ؛ عدد الأرقام دفع الفأس استدعاء abc ؛ استدعاء روتين فأس mov ، إزاحة x2 ؛ تحميل عنوان مجموعة الدفع الثانية فأس الدفع ، تعويض Y2 ؛ تحميل عنوان نتيجة دفع الفأس mov ، 4 ؛ عدد الأرقام دفع الفأس استدعاء abc ؛ ينتهي كود استدعاء روتين فرعي بداية النهاية