2009-03-10 5 views
13

मैं जोएल के Strategy Letter II: Chicken and Egg problems फिर से पढ़ रहे हैं और इस मज़ा बोली में आए किया गया था:सीपी/एम से डॉस तक पोर्ट वर्डस्टार में एकल बाइट परिवर्तन क्या था?

वास्तव में, WordStar कोड में एक एकल बाइट बदलकर डॉस पर स्थापित किया गया। (असली प्रोग्रामर आपको बता सकते हैं कि बाइट क्या था, मुझे भूल गया है)।

मुझे त्वरित Google खोज के साथ इसका कोई अन्य संदर्भ नहीं मिला। क्या यह सच है या सिर्फ भाषण का एक आंकड़ा है? "असली प्रोग्रामर" बनने की मेरी खोज के हित में, एकल बाइट परिवर्तन क्या था?

+0

हाहा, मैं आज भी पढ़ रहा था। मैं इसे Google पर गया और आपका प्रश्न पहली हिट के रूप में दिखाई दिया। यह पूछने के बाद यह केवल 2 घंटे था, स्टैक ओवरफ्लो टीम एसईओ के साथ अच्छा प्रदर्शन कर रही है :) –

उत्तर

6

ध्वनि थोड़ा अतिरंजित, के लिए कुछ WordStar इतिहास here

WordStar 3.0 पाया MS-DOS

अप्रैल 1982

एक ही रात-भर सत्र में जिम फॉक्स सी.पी. समझौता/वर्डस्टार के एम -86 संस्करण को आईबीएम पीसी पर एमएस-डॉस के तहत चलाने के लिए ताकि इसे रूबेनस्टीन को प्रदर्शित किया जा सके। वास्तविक बंदरगाह इंटेल डेवलपमेंट सिस्टम का उपयोग करके आयरिश प्रोग्रामर के एक समूह द्वारा किया गया था, जो आईएसआईएस II ऑपरेटिंग सिस्टम चला। सॉफ्टवेयर का निर्माण 8 "फ्लोपी पर किया गया था और बाइनरी (निष्पादन योग्य) फ़ाइलें तो सीरियल केबल से आईबीएम पीसी के लिए स्थानांतरित कर दिया गया।

लेकिन ... जोएल शायद मतलब MS-DOS 1.0/QDOS

MS-DOS 1.0 वास्तव में क्यूडीओएस (क्विक एंड डर्टी ऑपरेटिंग सिस्टम) का एक नामित संस्करण था, जिसे माइक्रोसॉफ्ट ने जुलाई 1 9 81 में सिएटल कंपनी के नाम से सिएटल कंपनी से खरीदा था। क्यूडीओएस को सीपी/एम आठ-बिट ऑपरेटिंग के क्लोन के रूप में विकसित किया गया था। सिस्टम वर्डस्टार और डीबेस जैसे दिन के लोकप्रिय व्यावसायिक अनुप्रयोगों के साथ संगतता प्रदान करने के लिए प्रणाली। सीपी/एम (माइक्रोकम्प्यूटर्स के लिए नियंत्रण कार्यक्रम) डिजी के गैरी किल्डल द्वारा लिखी गई थी ताल अनुसंधान कई साल पहले और सामान्य उपयोग में माइक्रो कंप्यूटर के लिए पहला ऑपरेटिंग सिस्टम बन गया था।

+0

हाइपरबोले महान नहीं है? – Powerlord

+6

नहीं, हाइपरबोले अद्भुत है! –

+0

नहीं, जोएल अद्भुत है! – epatel

1

मुझे यकीन नहीं है कि जोएल का बयान सटीक है या नहीं। शायद वह प्रदर्शन संस्करण का मतलब था कि जिम फॉक्स ने बनाया था?

देखें http://www.wordstar.org/wordstar/history/history.htm

मैं उचित अनुभाग बोली होगी:

WordStar 3.0 MS-DOS

अप्रैल 1982

एक ही रात-भर सत्र जिम फॉक्स में वर्डस्टार के सीपी/एम -86 संस्करण को पैच किया गया ताकि इसे आईबीएम पीसी पर एमएस-डॉस के तहत चलाया जा सके ताकि यह सह uld रूबेनस्टीन को दिखाया गया। वास्तविक पोर्ट इंटेल डेवलपमेंट सिस्टम का उपयोग करके आयरिश प्रोग्रामर के समूह द्वारा किया गया था, जो आईएसआईएस II ऑपरेटिंग सिस्टम चलाता था।सॉफ्टवेयर निर्माण 8 "फ्लोपी पर किया गया था और बाइनरी (निष्पादन योग्य) फ़ाइलें तो धारावाहिक केबल द्वारा आईबीएम पीसी के लिए स्थानांतरित कर रहे थे

(संपादित करें:।। ओह, बहुत देर हो चुकी किसी और ने पहले ही मिल सटीक एक ही बात: -।।/मुझे अनदेखा करने के लिए स्वतंत्र महसूस)

2

This Wikipedia entry दावों CP/M और MS-DOS बाइनरी स्वरूपों का हिस्सा है कि यह पर चला जाता है कहने के लिए:

हालांकि फ़ाइल स्वरूप एक ही हैएमएस-डॉस और सीपी/एम में, इसका मतलब नहीं है कि सीपी/एम प्रोग्राम सीधे एमएस-डॉस के तहत निष्पादित हो सकते हैं या इसके विपरीत; एमएस-डॉस COM फाइलों में x86 निर्देश हैं, जबकि सीपी/एम COM फ़ाइलें में 8080, 8085 या Z80 निर्देश शामिल हैं।

सीपी/एम 3 के तहत, यदि COM फ़ाइल का पहला बाइट 0xC9 है तो यह 256-बाइट हेडर की उपस्थिति को इंगित करता है; 0xC9 से 8080 निर्देश आरईटी से मेल खाता है, इसका मतलब है कि COM फ़ाइल तत्काल समाप्त हो जाएगी यदि सीपी/एम के पहले संस्करण पर चलती है कि इस एक्सटेंशन का समर्थन नहीं करता है।

इसका तात्पर्य है कि शायद यह तय/बंदरगाह इस पहले निर्देश को किसी अन्य चीज़ में बदल रहा था, जो बाकी को निष्पादित करने के लिए प्रेरित करता था। हालांकि, यह सुनिश्चित नहीं है कि बाइनरी "वसा" होना चाहिए, जो विरासत बाइनरी के लिए अनुचित लगता है।

+0

किया जा सकता है :-) http://www.desertpenguin.org/blog/cpm-and-ms-dos-fat-binary/ –

1

वर्डस्टार 8080 असेंबलर में लिखा गया था, और 8080 से 8086 असेंबलर को बदलने के लिए उपकरण वापस थे (8086 निर्देश सेट को इस अनुमति देने के लिए डिज़ाइन किया गया था) यदि सभी कोड एक सेगमेंट में फिट हो सकते हैं, तो यह काफी संभव है ।

मैंने पहली बार जेड 80 सीपी/एम बॉक्स पर वर्डस्टार का इस्तेमाल किया था। आज लोग यह महसूस नहीं कर सकते कि वे कितने भाग्यशाली हैं - वर्ड प्रोसेसर को कुशलतापूर्वक इंटरफ़ेस करने के लिए कुछ छोटे एमएस वर्ड उपयोगकर्ता अपने वर्ड प्रोसेसर को स्थापित करने के पहले कार्य के रूप में तैयार किए जाएंगे, ताकि वे कुछ छोटे असेंबलर रूटीन (हेक्स!) लिख सकें। सीपी/एम रूटीन का उपयोग कर सकता है लेकिन वे कुत्ते धीमे थे और ठीक से काम नहीं करते थे) स्क्रीन और कीबोर्ड के साथ? मुबारक दिन ...

3

आपको एक से अधिक बाइट बदलना होगा। सीपी/एम -86 निष्पादन योग्य (.CMD) सभी में 128-बाइट हेडर है, जो .EXE शीर्षलेख की तरह कुछ भी नहीं है।

आप CP/M और डॉस के आम सबसेट के लिए अपने सभी API कॉल प्रतिबंधित करते हैं, तो आप सशर्त विधानसभा उपयोग कर सकते हैं एक ही स्रोत से CP/M और डॉस संस्करणों का निर्माण करने:

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

पोर्ट सीपी/एम -80 से एमएस-डॉस तक किया गया था, सीपी/एम -86 से नहीं। मैं समझता हूं कि वर्डस्टार को असेंबलर में लिखा गया था। वहां एक उपकरण मौजूद था जिसने इंटेल 8080 निमोनिक्स को 8086 निमोनिक्स में परिवर्तित किया। बाइट संभवतः परिणामी x86 निमोनिक कोड में बदला जाना था। –

+0

एपेटेल द्वारा ऊपर उद्धृत स्रोत स्पष्ट रूप से बताता है कि बंदरगाह सीपी/एम -86 से था, सीपी/एम -80 नहीं। –

2

"में तथ्य, वर्डस्टार को कोड में एक सिंगल बाइट बदलकर डॉस को पोर्ट किया गया था। (असली प्रोग्रामर आपको बता सकते हैं कि बाइट क्या था, मैं लंबे समय से भूल गया था)। "

सोम 6/08/2009 6:27 बजे। मेरी धारणा थी कि स्पॉल्स्की 8080 सीपी/एम से 8086 एमएसडीओएस के बारे में बात कर रही थी, और यह कहानी शायद फर्जी है।8086 सीपी/एम कभी भी एक बड़ी वस्तु नहीं थी - मेरा मतलब है, यह एमएसडीओएस द्वारा पूरी तरह से कुचल दिया गया था - और किसी ने वर्डस्टार को 8080-सीपीएम से 8086-सीपीएम में परिवर्तित कर दिया होगा - जैसा कि अन्य ने उल्लेख किया है, एक विशेष 8080-से -8086 अनुवादक चीज़े - और फिर शायद केवल एक बाइट बदलना था।

1

को समझने के लिए एक महत्वपूर्ण बात यह है कि समय के 16-बिट पर 8086 मशीनों सिर्फ बाहर आ रहा था वर्तमान 8 बिट मशीनों को बदलने के लिए है, जहां CP/M ऑपरेटिंग सिस्टम विंडोज दिन की थी। सब कुछ काम के लिए इच्छित एक डिस्क ड्राइव के साथ सीपी/एम भाग गया। बाद में 8086 प्रोसेसर के लिए सीपी/एम -86 से इसे अलग करने के लिए उस संस्करण को सीपी/एम -80 कहा गया था।

दुर्भाग्य से बाजार में जाने के लिए इतना समय लगा कि क्यूडीओएस को कार्यक्रम चलाने के लिए कुछ लिखा गया था, और यह अनिवार्य रूप से सीपी/एम कार्यों (लेकिन एक अलग वाक्यविन्यास के साथ) का त्वरित पुनर्मूल्यांकन था। बाद में क्यूडीओएस को माइक्रोसॉफ्ट द्वारा खरीदा गया और एमएस-डॉस में बनाया गया। इसलिए एमएस-डॉस में वास्तव में एक सीपी/एम कोर गहरा गहरा होता है, और इसलिए एमएस-डॉस के तहत चलाने के लिए सीपी/एम -86 प्रोग्राम प्राप्त करने के लिए आवश्यक काम की मात्रा सीमित थी (एक बाइट नहीं, बल्कि प्रबंधनीय)।

मैं खुशी के साथ कुछ साल काम करना पड़ता था सीसीपी/M-86 जो आज बहुत पाठ मोड में क्या लिनक्स के समान (आभासी शान्ति के साथ) की अनुमति देने के मल्टीटास्किंग की अनुमति दी। दुर्भाग्य से यह कभी पकड़ा नहीं। ओह, ठीक है, हमारे पास लिनक्स है :)

+0

एमएसडीओएस 4 में मल्टीटास्किंग था। यह कई ब्रिटिश कंप्यूटर कंपनियों (जैसे आईसीएल और खुबानी) द्वारा भुगतान किया गया था और अच्छी तरह से काम किया। हालांकि इसे ज्यादा गोद लेने नहीं मिला, और एमएसडीओएस के बाद के संस्करण को एमएसडीओएस 4 नाम दिया गया था। Https://en.wikipedia.org/wiki/MS-DOS_4.0_(multitasking) –

संबंधित मुद्दे