ما هو التغيير في البايت الواحد لمنفذ WordStar من CP/M إلى DOS؟

StackOverflow https://stackoverflow.com/questions/632145

  •  08-07-2019
  •  | 
  •  

سؤال

كنت أعيد قراءة جويل رسالة الإستراتيجية الثانية:مشاكل الدجاج والبيض ووجدت هذا الاقتباس الممتع:

في الواقع ، تم نقل WordStar إلى DOS عن طريق تغيير بايت واحد في الكود.(يمكن للمبرمجين الحقيقيين إخبارك بماهية البايت ، لقد نسيت منذ فترة طويلة).

لم أتمكن من العثور على أي إشارات أخرى لهذا من خلال بحث Google السريع.فهل هذا صحيح أم مجرد كلام؟في إطار سعيي لأن أصبح "مبرمجًا حقيقيًا"، ما هو التغيير الذي حدث في البايت الواحد؟

هل كانت مفيدة؟

المحلول

يبدو مبالغا فيه بعض الشيء، وجدت بعض التاريخ WordStar هنا

WordStar 3.0 لـ MS-DOS

أبريل 1982

في جلسة واحدة استمرت طوال الليل، قام جيم فوكس بتصحيح إصدار CP/M-86 من WordStar لجعله يعمل تحت MS-DOS على كمبيوتر IBM الشخصي بحيث يمكن عرضه على روبنشتاين.تم تنفيذ المنفذ الفعلي بواسطة مجموعة من المبرمجين الأيرلنديين باستخدام أنظمة تطوير Intel، التي كانت تدير نظام التشغيل ISIS II.تم إنشاء البرنامج على أقراص مرنة مقاس 8 بوصات، ثم تم نقل الملفات الثنائية (القابلة للتنفيذ) إلى كمبيوتر IBM الشخصي عن طريق كابل تسلسلي.

لكن... ربما كان جويل يقصد ذلك MS-DOS 1.0 / كيو دوس

كان MS-DOS 1.0 في الواقع نسخة معاد تسميتها من QDOS (نظام التشغيل السريع والقذر)، والذي اشترته Microsoft من شركة في سياتل، تحمل اسم Seattle Computer Products، في يوليو 1981.تم تطوير QDOS كنسخة من نظام التشغيل CP/M ذو ثمانية بتات من أجل توفير التوافق مع تطبيقات الأعمال الشائعة اليوم مثل WordStar وdBase.تمت كتابة CP/M (برنامج التحكم في الحواسيب الصغيرة) بواسطة Gary Kildall من Digital Research قبل عدة سنوات وأصبح أول نظام تشغيل للحواسيب الصغيرة في الاستخدام العام.

نصائح أخرى

وأنت قد لتغيير أكثر من بايت واحد. CP / M-86 التنفيذية (.CMD) جميعا 128- رأس بايت، وهي ليست أي شيء مثل رأس .EXE.

إذا قمت بتقييد جميع المكالمات API الخاص بك إلى مجموعة فرعية مشتركة من CP / M وDOS، ثم يمكنك استخدام التجميع مشروط لبناء CP / M وDOS إصدارات من نفس المصدر:

bdos:
       if CPM86
         int 0E0h
       else
         mov ah, cl
         int 21h
       endif

هذا الدخول ويكيبيديا يدعي أن CP / M وحصة MS-DOS الأشكال الثنائية. وغني عن القول:

<اقتباس فقرة>   

وعلى الرغم من أن تنسيق الملف هو نفسه   في MS-DOS وCP / M، وهذا لا يعني   يمكن أن برامج CP / M أن تكون مباشرة   أعدم تحت MS-DOS أو العكس بالعكس؛   ملفات MS-DOS COM تحتوي إلى x86   تعليمات، في حين أن ملفات M COM CP /   يحتوي على 8080، 8085 أو Z80   تعليمات.

     

وتحت CP / M 3، إذا كان البايت الأول من   ملف COM هو 0xC9 ثم يشير هذا   وجود رأس 256 بايت؛   منذ 0xC9 يتوافق مع 8080   RET التعليم، وهذا يعني أن   سوف ملف COM إنهاء فورا إذا   تعمل على إصدار سابق من CP / M ان   لا يدعم هذا التمديد.

وهذا يعني أنه ربما الإصلاح / منفذ تتغير هذه التعليمة الأولى إلى شيء آخر، أن alowed بقية لتنفيذه. لست متأكدا على الرغم من أن يبدو انها تعني أن ثنائي يجب أن يكون "الدهون"، والذي يبدو غير معقول لثنائي القديمة.

و"في الواقع، وقد استدار وردستار إلى DOS عن طريق تغيير بايت واحد في التعليمات البرمجية. (المبرمجين الحقيقي يمكن ان اقول لكم ما الذي كان بايت، لقد نسي منذ فترة طويلة)."

والاثنين 2009/06/08 06:27. بلدي الافتراض كان Spolsky كان يتحدث عن 8080 CP / M إلى 8086 مايكروسوفت دوس، وأن القصة هو على الارجح وهمية. كان 8086 CP / M أبدا عنصر كبير - أعني، <م> كان سحقت تماما من قبل مايكروسوفت دوس - وشخص قد حولت وردستار من 8080-CPM إلى 8086-CPM - عن طريق اعادة عليه، كما لاحظ آخرون، وذلك باستخدام مترجم خاص thingey 8080 إلى 8086 - و<م> ثم ربما فقط كان بايت واحد إلى تغيير

.

وأنا لست متأكدا ما إذا كان بيان جويل دقيقة أم لا. ربما كان يقصد إصدار العرض التوضيحي الذي جعل جيم فوكس؟

http://www.wordstar.org/wordstar/history/history. هتم

وأنا أقتبس من القسم المناسب:

<اقتباس فقرة>   

ووردستار 3.0 MS-DOS

     

وأبريل 1982

     

في دورة واحدة وحيدة كل ليلة جيم   مصححة فوكس CP / M-86 نسخة من   وردستار لجعلها تعمل تحت MS-DOS   على جهاز الكمبيوتر IBM بحيث أنه يمكن أن يكون   أظهرت لروبنشتاين. الفعلية   وقد تم الميناء من قبل مجموعة من الأيرلندية   المبرمجين باستخدام تطوير إنتل   النظم، والذي كان يدير ISIS الثاني   نظام التشغيل. بناء البرمجيات   وقد تم في 8 "المرنة وثنائي   كانت الملفات (تنفيذ) ثم   نقلها إلى جهاز الكمبيوتر IBM التي كتبها المسلسل   كابل.

و(تعديل: عفوا، بعد فوات الأوان شخص آخر وجدت بالفعل نفس الشيء بالضبط: - / لا تتردد في تجاهل لي).

وكانت مكتوبة وردستار في 8080 المجمع، وكانت هناك أدوات في ذلك الوقت لتحويل 8080-8086 المجمع (تم تصميم مجموعة 8086 تعليمات للسماح لهذا) إذا كان كل رمز يمكن أن يصلح في قطعة واحدة، لذلك هذا ممكن جدا.

وأنا استخدم لأول مرة وردستار في عام 1979، على مربع Z80 CP / M. الناس اليوم قد لا يدركون مدى الحظ هم - كيف سيكون مستعدا العديد من المستخدمين MS Word كما المهمة الأولى حول تثبيت معالج النصوص لديك لكتابة بضع الروتين المجمع صغيرة إلى واجهة معالج النصوص بكفاءة (أنت (في عرافة!) قد استخدام CP / M الروتينية لكنها كانت بطيئة والكلب لا تعمل بشكل صحيح) مع شاشة ولوحة المفاتيح؟ الأيام السعيدة ...

ووالشيء المهم هو أن نفهم أن في ذلك الوقت 16 بت 8086 آلات ومجرد الخروج لاستبدال آلات 8 بت الحالية، حيث كان نظام التشغيل CP / M ويندوز من اليوم. كل شيء مع محرك الأقراص المخصصة للعمل ركض CP / M. وكان هذا الإصدار وقت لاحق دعا CP / M-80 لتمييزه عن CP / M-86 للمعالج 8086.

ومما يؤسف له أن استغرق وقتا طويلا للوصول الى السوق التي تم كتابتها QDOS لديك شيء لتشغيل البرامج على، وكان ذلك أساسا إعادة تطبيق سريع وظائف CP / M (ولكن مع تركيب مختلف). تم شراؤها QDOS في وقت لاحق من قبل مايكروسوفت وتحويلها إلى MS-DOS. وبالتالي MS-DOS لديها في الواقع CP / M الأساسية عميق عمق، وبالتالي فإن كمية العمل اللازمة للحصول على / برنامج CP M-86 لتعمل تحت MS-DOS كان محدودا (وليس إلى بايت واحد، ولكن يمكن التحكم).

وكان من دواعي سروري العمل بضع سنوات مع CCP / M-86 الذي يسمح تعدد المهام تشبه الى حد بعيد ما لينكس في وضع النص (مع لوحات المفاتيح الظاهرية) تسمح اليوم. ومما يؤسف له أنه لم القبض على. أوه، حسنا، لدينا لينكس:)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top