آي بي إم بيسيك
تحتاج هذه المقالة إلى مصادر إضافية للتحقق . ( سبتمبر 2012 ) |
_b.jpg/440px-IBM_PC_ROM_BIOS_and_IBM_PC_ROM_BASIC_(1981)_b.jpg)
لغة البرمجة IBM Personal Computer Basic ، والتي تُختصر عادةً إلى IBM BASIC ، هي لغة برمجة أصدرتها IBM لأول مرة مع IBM Personal Computer، طراز 5150 (IBM PC) في عام 1981. أصدرت IBM أربعة إصدارات مختلفة من مفسّر Microsoft BASIC ، مرخصة من Microsoft لأجهزة الكمبيوتر الشخصية وأجهزة PCjr . وهي تُعرف باسم Cassette BASIC وDisk BASIC وAdvanced BASIC (BASICA) وCartridge BASIC. تم تضمين إصدارات Disk BASIC وAdvanced BASIC مع IBM PC DOS حتى PC DOS 4. بالإضافة إلى ميزات BASIC القياسية ANSI ، قدمت إصدارات IBM دعمًا لأجهزة الرسومات والصوت الخاصة بخط IBM PC. يمكن إدخال الكود المصدر باستخدام محرر ملء الشاشة، وتم توفير مرافق محدودة لتصحيح أخطاء البرنامج الأولية . كما قامت شركة IBM بإصدار نسخة من مترجم Microsoft BASIC لأجهزة الكمبيوتر الشخصية بالتزامن مع إصدار PC DOS 1.10 في عام 1982.
خلفية
قامت شركة IBM بترخيص لغة Microsoft BASIC لأجهزة الكمبيوتر الشخصية من IBM على الرغم من وجود إصدار خاص بها من لغة BASIC لأجهزة الكمبيوتر الرئيسية الخاصة بالشركة. قال دون استريدج ، "كان لدى Microsoft BASIC مئات الآلاف من المستخدمين حول العالم. كيف ستجادل في ذلك؟" [1]
IBM كاسيت BASIC
| المطور | مايكروسوفت (لشركة IBM ) |
|---|---|
| ظهرت لأول مرة | 1981 |
| متأثر | |
| IBM Disk BASIC، IBM BASICA، GW-BASIC | |
كانت لغة IBM Cassette BASIC تأتي بحجم 32 كيلوبايت (KB) من ذاكرة القراءة فقط (ROM)، منفصلة عن ذاكرة BIOS ROM بحجم 8 كيلوبايت لجهاز IBM PC الأصلي، ولم تكن تتطلب نظام تشغيل لتشغيلها. كانت لغة Cassette BASIC توفر واجهة المستخدم الافتراضية التي يتم استدعاؤها بواسطة BIOS من خلال INT 18h إذا لم يكن هناك محرك أقراص مرنة مثبت أو إذا لم يجد رمز التمهيد قرصًا مرنًا قابلاً للتمهيد عند تشغيل الطاقة. جاء اسم Cassette BASIC من استخدامه لأشرطة الكاسيت بدلاً من الأقراص المرنة لتخزين البرامج والبيانات. تم تضمين Cassette BASIC في أقراص ROM لجهاز الكمبيوتر الشخصي الأصلي و XT والنماذج المبكرة في خط PS/2 . يدعم تحميل البرامج وحفظها فقط على واجهة شريط الكاسيت من IBM ، والتي لا تتوفر في الطرز بعد الطراز الأصلي 5150. جاء الإصدار الأساسي من 5150 بسعة 16 كيلوبايت فقط من ذاكرة الوصول العشوائي (RAM)، والتي كانت كافية لتشغيل Cassette BASIC. ومع ذلك، نادرًا ما تم استخدام Cassette BASIC لأن القليل من أجهزة الكمبيوتر الشخصية كانت تُباع بدون محرك أقراص، وكانت معظمها تُباع بنظام تشغيل PC DOS وذاكرة RAM كافية لتشغيل Disk BASIC على الأقل - يمكن للعديد منها تشغيل Advanced BASIC أيضًا. هناك ثلاثة إصدارات من Cassette BASIC: C1.00 (موجودة في أجهزة الكمبيوتر الشخصية المبكرة من IBM ذات اللوحات الأم 16-64 كيلو بايت)، وC1.10 (موجودة في جميع أجهزة الكمبيوتر الشخصية اللاحقة من IBM، وXT، وAT، وPS/2)، وC1.20 (موجودة في PCjr).
برنامج IBM Disk BASIC
| المطور | مايكروسوفت (لشركة IBM ) |
|---|---|
| ظهرت لأول مرة | 1981 |
| متأثر بـ | |
| IBM كاسيت BASIC | |
| متأثر | |
| IBM BASICA، GW-BASIC | |
تم تضمين IBM Disk BASIC (BASIC.COM) في نظام التشغيل IBM PC DOS الأصلي . ولأنه استخدم ROM Cassette BASIC بسعة 32 كيلوبايت، [2] لم يعمل BASIC.COM حتى على استنساخات الكمبيوتر المتوافقة للغاية ، مثل Compaq Portable . [3] جاء اسم Disk BASIC من استخدامه للأقراص المرنة بالإضافة إلى أشرطة الكاسيت لتخزين البرامج والبيانات. قام الكود القائم على القرص بتصحيح الأخطاء في الكود المقيم في ROM وأضاف دعم القرص المرن والمنفذ التسلسلي .
يمكن التعرف على Disk BASIC من خلال استخدامه للحرف D الذي يسبق رقم الإصدار. فهو يضيف دعم القرص وبعض الميزات التي تفتقر إليها Cassette BASIC ولكنه لا يتضمن وظائف الصوت أو الرسوميات الموسعة الخاصة بـ BASICA. كان الغرض الأساسي من Disk BASIC هو أن يكون إصدارًا "خفيفًا" لأجهزة الكمبيوتر الشخصية من IBM التي تحتوي على 48 كيلوبايت فقط من الذاكرة: حيث سيكون لدى BASIC.COM حوالي 23 كيلوبايت مجانية لكود المستخدم، بينما سيكون لدى BASICA حوالي 17 كيلوبايت فقط. بحلول عام 1986، تم شحن جميع أجهزة الكمبيوتر الجديدة بما لا يقل عن 256 كيلوبايت، وقلصت إصدارات DOS بعد 3.00 من Disk BASIC إلى جزء صغير فقط يسمى BASICA.COM للتوافق مع ملفات الدفعات. حتى مع كل هذه الذاكرة العشوائية الزائدة، سيظل BASIC يخصص ويدير حوالي 61 كيلوبايت فقط لبرامج المستخدم، سواء كانت Cassette BASIC أو BASIC.COM أو BASICA.
IBM Advanced BASIC
| المطور | مايكروسوفت (لشركة IBM ) |
|---|---|
| ظهرت لأول مرة | 1981 |
| منصة | كمبيوتر شخصي من شركة IBM |
| نظام التشغيل | آي بي إم بي سي دوس |
| متأثر بـ | |
| IBM Cassette BASIC، IBM Disk BASIC | |
| متأثر | |
| GW-الأساسية | |
تم تضمين IBM Advanced BASIC (BASICA.COM) أيضًا في نظام التشغيل IBM PC DOS الأصلي وكان يتطلب الكود المقيم في ROM الخاص بـ Cassette BASIC. [2] وقد أضاف وظائف مثل الوصول إلى ملفات الأقراص المرنة وتخزين البرامج على القرص والصوت أحادي الصوت باستخدام مكبر الصوت المدمج في الكمبيوتر الشخصي ووظائف الرسومات لتعيين ومسح وحدات البكسل ووظائف مماثلة لرسم الخطوط والدوائر وتعيين الألوان ومعالجة الأحداث للاتصالات وضغط عصا التحكم. لن يعمل BASICA على أجهزة الكمبيوتر غير التابعة لشركة IBM (حتى الأجهزة التي يطلق عليها "المتوافقة بنسبة 100٪") أو طرز IBM الأحدث، لأنها تفتقر إلى ROM BASIC المطلوبة.
إصدارات BASICA هي نفس إصدارات DOS الخاصة بها، بدءًا من الإصدار 1.00 وانتهاءً بالإصدار 3.30. لم تدعم الإصدارات المبكرة من BASICA الدلائل الفرعية، وكانت بعض أوامر الرسومات تعمل بشكل مختلف قليلاً. على سبيل المثال، إذا LINEتم استخدام العبارة لرسم خطوط تمتد خارج الشاشة، فإن BASIC تتقاطع معها فقط مع أقرب خط مجاور، بينما في BASIC 2.x وما فوق، فإن الخطوط تمتد خارج الشاشة ولا تتقاطع. PAINTبدأ الأمر في BASIC 1.x في التعبئة عند الإحداثيات المحددة وتوسع للخارج في اتجاهين متناوبين لأعلى ولأسفل، بينما في BASIC 2.x، ملأ كل شيء أسفل إحداثيات البداية ثم، بعد الانتهاء، ملأ كل شيء أعلى منها. PAINTاستخدم أمر BASIC 1.x أيضًا مكدس النظام للتخزين وعند ملء المناطق المعقدة، يمكن أن ينتج خطأ OVERFLOW. لعلاج هذه المشكلة، CLEARيمكن استخدام العبارة لتوسيع مكدس BASIC (128 بايت هو الحجم الافتراضي). لم يستخدم BASIC 2.x المكدس أثناء الرسم وبالتالي كان خاليًا من هذه المشكلة.
كان Compaq BASIC 1.13 هو أول BASIC مستقل للكمبيوتر الشخصي (لم يتطلب Cassette BASIC للتشغيل) بالإضافة إلى الإصدار الوحيد من BASIC إلى جانب IBM BASICA 1.00 و 1.10 لاستخدام FCBs [ يحتاج إلى توضيح ] ويتضمن بيان LINE الأصلي مع خطوط متقاطعة (العبارة PAINTفي Compaq BASIC 1.13 تعمل كما هو الحال في جميع الإصدارات اللاحقة من BASICA / GW-BASIC: لقد استخدمت خوارزمية التعبئة الجديدة وعدم وجود مكدس).
تضمنت الإصدارات المبكرة من نظام التشغيل PC DOS العديد من برامج BASIC النموذجية التي أظهرت قدرات الكمبيوتر الشخصي، بما في ذلك لعبة BASICA DONKEY.BAS .
GW-BASIC هو نفس برنامج BASICA، باستثناء تضمين كود Cassette BASIC في البرنامج، مما يسمح بتشغيله على أجهزة الكمبيوتر غير التابعة لشركة IBM ونماذج IBM الأحدث التي تفتقر إلى Cassette BASIC في ROM.
خرطوشة IBM PCjr BASIC
كانت نسخة خرطوشة ROM من BASIC متاحة فقط على IBM PCjr ، والتي تم شحنها في عام 1984، ودعمت أوضاع الرسومات الإضافية وقدرات الصوت الممكنة على هذا الجهاز. [4] إنها مجموعة فرعية من BASIC المتقدمة. [5] يمكن أن تعمل خرطوشة BASIC فقط ضمن أول 128 كيلوبايت من الذاكرة على PCjr ولم تعمل مع ذاكرة الوصول العشوائي القابلة للتوسع، أي أنه لا يمكن استخدام وظيفة DEF SEG للإشارة إلى أجزاء الذاكرة أعلى من &H1FF0.
تم تنشيط Cartridge BASIC عن طريق كتابة BASICA عند موجه الأوامر DOS. وعلى العكس من ذلك، رفضت إصدارات IBM BASICA 2.1 وما فوق التشغيل إذا اكتشفت وجود PCjr، ولكن يمكن تصحيحها للتغلب على هذا القيد.
عملية
يتم تحميل كاسيت BASIC عند تشغيل جهاز كمبيوتر شخصي أو جهاز PCjr بدون قرص أو خرطوشة قابلة للتمهيد. يتم تحميل قرص BASIC وBASICA المتقدم عند كتابة اسم الأمر الخاص بهما (BASIC وBASICA على التوالي) في موجه أوامر DOS (باستثناء جهاز PCjr، الذي ينشط Cartridge BASIC بدلاً من ذلك)، مع بعض المعلمات الاختيارية للتحكم في تخصيص الذاكرة. عند التحميل، تعرض رسالة تعريف تسجيل الدخول رقم إصدار البرنامج، ويبدأ محرر نصي كامل الشاشة (انظر الصور، على اليمين). يتم تعيين أوامر مشتركة لمفاتيح الوظائف، والتي يتم عرضها في أسفل الشاشة. يمكن كتابة الأوامر لتحميل البرامج أو حفظها، ويمكن كتابة التعبيرات وتنفيذها في الوضع المباشر (الفوري) . إذا بدأ سطر الإدخال برقم، يخزن نظام اللغة سطر النص التالي كجزء من مصدر البرنامج، مما يسمح للمبرمج بإدخال برنامج كامل سطرًا بسطر، مع أرقام الأسطر قبل كل عبارة. عند إدراجها على الشاشة، يتم عرض الأسطر بترتيب تصاعدي لرقم السطر. يمكن إجراء تغييرات على سطر معروض من كود مصدر البرنامج عن طريق تحريك المؤشر إلى السطر الذي يحتوي على مفاتيح المؤشر والكتابة فوق النص الموجود على الشاشة. يتم تخزين مصدر البرنامج داخليًا في شكل مميز يتم فيه استبدال الكلمات المحجوزة برمز بايت واحد لتوفير المساحة ووقت التنفيذ. يمكن حفظ البرامج في شكل مميز مضغوط أو اختياريًا حفظها كملفات نصية ASCII لنظام التشغيل DOS [6] يمكن عرضها وتحريرها باستخدام برامج أخرى. مثل معظم تطبيقات DOS الأخرى، فإن IBM BASIC هو برنامج في وضع النص ولا يحتوي على ميزات للنوافذ أو الأيقونات أو دعم الماوس أو التحرير بالقص واللصق .
إرث
GW-BASIC ، الذي تم إطلاقه في عام 1983، هو منتج قائم على القرص من إنتاج Microsoft تم توزيعه مع أجهزة كمبيوتر MS-DOS غير IBM ويدعم جميع أوضاع الرسومات وميزات BASICA على أجهزة الكمبيوتر التي لا تحتوي على IBM Cassette BASIC.
تم إيقاف إنتاج QBasic ، الذي تم إطلاقه في عام 1991 ، وهو خليفة لغة BASICA لإصدارات MS-DOS وPC DOS. وهو نسخة مبسطة من مُجمِّع Microsoft QuickBASIC : QBasic هو مُفسِّر ولا يمكنه تجميع ملفات المصدر، بينما يمكن لـ QuickBASIC تجميع البرامج وحفظها بتنسيق ملف قابل للتنفيذ .EXE . يتضمن QuickBASIC أيضًا بعض عبارات اللغة والوظائف المتقدمة (تتضمن في الغالب واجهة نظام التشغيل وبرمجة لغة الآلة منخفضة المستوى )، ويدعم البرامج متعددة الوحدات، ويتضمن ميزات تصحيح أخطاء متقدمة، وكلها غائبة عن QBASIC.
مراجع
- ^ Curran, Lawrence J.; Shuford, Richard S. (November 1983). "IBM's Estridge". BYTE . ص 88–97 . تم الاسترجاع في 19 مارس 2016 .
- ^ ab Williams, Gregg (يناير 1982). "نظرة أقرب على الكمبيوتر الشخصي من إنتاج شركة IBM". BYTE . ص. 36. تم الاسترجاع في 19 أكتوبر 2013 .
- ^ Dahmke, Mark (January 1983). "The Compaq Portable". BYTE . ص. 30–36 . تم الاسترجاع في 27 يوليو 2013 .
- ^ تعليقات القراء: إصدارات IBM BASIC، مجلة Compute!، العدد 78، نوفمبر 1986، ص 8، تم استرجاعها في 23 ديسمبر 2011
- ^ IBM. خطاب إعلان خراطيش PCjr . 1983-11-01 ([1]).
- ^ تنتهي ملفات نص DOS بكل سطر بزوج أحرف CR ( إرجاع العربة ، ASCII 13) وLF ( تغذية السطر ، ASCII 10)، بهذا الترتيب.
روابط خارجية
- نبذة مختصرة عن تطور لغة البرمجة BASIC www.phys.uu.nl/~bergmann/history.html (مؤرشف)
- محاكي PCE IBM PC — يحاكي IBM Cassette BASIC وIBM Cassette Interface باستخدام محرك الكاسيت المتصل من جهة خارجية
- POPBASIC & RUNBASIC الذي يستدعي وينسخ IBM Cassette BASIC
