2008-08-26 14 views
14

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

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

उत्तर

10

मुझे सॉफ़्टवेयर के कुछ बिट मिल गए हैं जो सुझाव देते हैं कि वे ऐसा कर सकते हैं - लेकिन वे या तो संकलित करने से इनकार करते हैं, या ठीक से काम नहीं करते हैं। क्या किसी को कोई सुझाव मिला है?

एक लिखें। आप एक अच्छा, सरल निर्देश सेट चुनने से सबसे अच्छे हैं (Z80 सही होना चाहिए)। मुझे यह याद है कि यह प्रथम वर्ष के स्नातक अभ्यास के रूप में कर रहा है - मुझे लगता है कि हमने सी ++ में सिम्युलेटर लिखा और 6800 असेंबली अनुकरण किया, लेकिन वास्तव में कोई भी भाषा/निर्देश सेट करेगा।

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

जब तक आप नहीं चाहते हैं, तब तक अपने आवेदन के उत्पादन को तैयार करने के बारे में चिंतित न हों - सभी संभावनाओं में आपको अब तक जो लोग मिल चुके हैं, उनके बारे में लोगों द्वारा लिखे गए थे, जो यह समझना चाहते थे कि असेंबली कैसे काम करती है और लिखी जाती है अपने स्वयं के सिम्युलेटर, फिर महसूस किया कि इसे "उत्पादन तैयार" प्राप्त करने में कितना काम शामिल होगा ताकि आम जनता इसका उपयोग कर सके।

+1

एक असेंबलर लिखना बहुत मजेदार है। आपको बहुत सारी परेशानी भी सिखाती है। –

3

आपको Z80 सिम्युलेटर के लिए this में रुचि हो सकती है, और मुझे WinAsm के साथ अच्छे अनुभव हुए हैं।

3

आप x86 असेंबली भाषा सीखने पर भी विचार कर सकते हैं, जिसे आप विजुअल स्टूडियो में इन-लाइन असेंबलर का उपयोग करके कर सकते हैं - हालांकि यह Z80 की तुलना में एक बड़ा निर्देश सेट है, तो आपको लाभ से बेहतर टूल का उपयोग करने में सक्षम होने का लाभ होगा Z80 के लिए उपलब्ध हो।

मैं भी बस याद रख लिया है कि Keil 8051 और शाखा उपकरण आईडीई में एक सिम्युलेटर है - www.keil.com

2

मैं लिखने Z80 एएसएम से इन मुफ्त डाउनलोड के लिए उपलब्ध के आकार के आधार पर प्रतिबंधित संस्करण हैं जेडएक्स स्पेक्ट्रम के लिए (अभी भी, मुझे पता है :)) और स्पेक्ट्रम एमुलेटर फ़ाइल से लिंक करने के लिए एसजेस्मप्लस का उपयोग करें। फ्यूज और जेएक्सस्पिन जैसे बेहतर स्पेक्ट्रम अनुकरणकर्ताओं ने फ्लाइट डीबगिंग और पैचिंग पर संपादकों में भी बनाया है।

3

आप हैं तो पहले से ही पता करने के लिए नेट, तो इस काम का हो सकता है:

यह एक छोटा सा सीमित है, और केवल .NET 1.1 के साथ काम कर सकते हैं, लेकिन आप कम से कम एक इस्तेमाल कर सकते हैं इसके लिए "आधुनिक" आईडीई, और इसके लिए बहुत सारे दस्तावेज़ हैं।

<%@ page language="Asm80386" %> 
<% 
Str: DB "Testing...", 0 

    mov eax, -2 
    cmp eax, 2 
    jle Label1 
    xor eax, eax 
Label1: 
    lea esi, Str 
    push esi 
    call "Response.Write(string)" 
    pop esi 
%> 
<br>EAX: <%= eax %> 

एक अन्य विकल्प, यदि आप "हार्ड कोर" जाना चाहता हूँ FreeDOS और VMware जैसी कुछ मिलता है, और है कि का उपयोग करें। मुझे यकीन है कि गेराज बिक्री (कार बूट बिक्री? यार्ड बिक्री?) या दूसरी हाथ की किताब की दुकान में पीटर नॉर्टन के पुराने डॉस इंटरप्ट्स बाइबल की एक प्रति होगी। :)

व्यक्तिगत रूप से, मैंने टर्बो पास्कल का उपयोग करके x86 एएसएम सीखा (जो मुझे लगता है कि अब बोर्लैंड से मुक्त है?), जिसमें फ़ंक्शन के अंदर असेंबली निर्देश एम्बेड करने की क्षमता थी। ऐप को सेटअप करना आसान बना दिया, और मैं उन चीजों पर ध्यान केंद्रित कर सकता था जिन्हें मैं करना चाहता था। बाद में मैंने ऑकलैंड यूनी में मैकवीएक्स का उपयोग किया, जो ठीक था, लेकिन वीएक्स बहुत मर चुका है - आप भी x86 सीख सकते हैं :)

3

SimpSim निश्चित रूप से एक लायक है।यह केवल Windows है, लेकिन सुविधा सेट बहुत सभ्य है:

  • मुख्य स्मृति और रजिस्टर प्रदर्शन
  • निर्मित संपादक वाक्य रचना हाइलाइटिंग
  • भागो, कदम के साथ, और तोड़ कार्यों
+0

इसमें एक ढेर की कमी है। अन्यथा अच्छा है। मैं इसके बजाय MipSim की सिफारिश करता हूं http://www.mipsim.com/mipsim/screens.aspx –

3

WinApeAmstrad CPC का एक अच्छा एमुलेटर है। एम्स्ट्रैड सीपीसी 80 के दशक में उत्पादित एक होम कंप्यूटर था। यह अपने सीपीयू के रूप में एक Z80 का उपयोग किया। एम्यूलेटर का उपयोग करके आप प्रोग्रामिंग के दौरान कई आंतरिक प्रदर्शित कर सकते हैं। इसमें Z80 कोड के लिए एक डीबगर और डिस्सेबलर शामिल है।

9

आप ओपन सोर्स 8085 सिम्युलेटर "GnuSim8085" को देखना चाहते हैं, इसका विशेष रूप से शैक्षणिक उद्देश्यों के लिए उपयोग किया जाना है, और वास्तव में इसकी परीक्षा तैयार करते समय छात्र द्वारा लिखा गया था। यह लिनक्स और विंडोज दोनों पर चलता है।

+0

+1, यह वही है जो मैं ढूंढ रहा हूं। धन्यवाद। – mydoghasworms

3

अधिक लक्ष्य! कोशिश करें और एक अधिक शक्तिशाली असेंबली भाषा के लिए एक सिम्युलेटर प्राप्त करें। याद रखें, Z80 और 808x निम्न-अंत और अजीब निर्देश सेट वाले कम-अंत प्रोसेसर थे।

डीईसी से वैक्स की तरह कुछ को निर्देश सेट के रोल्स-रॉयस के रूप में जाना जाता था। और फिर पागल रिस्क निर्देश सेट हैं जो कुछ वाकई अजीब चीजें करते हैं। हो सकता है कि आप उन लोगों की परिभाषाएं पा सकें ताकि आप उन्हें लागू करने में एक दरार प्राप्त कर सकें।

1

जब मैं कॉलेज में था तो हमने पीआईसी माइक्रोप्रोसेसरों का उपयोग किया। वे माइक्रोचिप नामक एक कंपनी द्वारा बनाए जाते हैं। उनके पास एक चिप एमुलेटर/सिम्युलेटर के साथ एक महान आईडीई भी है जो आपको चिप्स के बिना चीजों को करने की अनुमति दे सकती है।

5

MipSim मुफ्त है

MIPSim 2 की

http://www.mipsim.com

मुख्य सुविधाएँ

  • निर्मित वाक्य रचना हाइलाइटिंग जैसी सुविधाओं के साथ कोड संपादक और विभिन्न अभ्यावेदन में
  • प्रदर्शन रजिस्टर और स्मृति मूल्यों तह (हस्ताक्षरित पूर्णांक, हस्ताक्षरित पूर्णांक, हेक्साडेसिमल और ASCII)
  • ब्लॉक आकार सेट करें (f स्मृति की आसान परीक्षा के लिए स्मृति कोशिकाओं की ull-शब्द, आधा शब्द, बाइट) रजिस्टर और एक क्लिक के साथ स्मृति कोशिकाओं के
  • मूल्यों बदलें महत्व देता भी अनुकरण और डीबगिंग के दौरान
  • रीयलटाइम उपयोगकर्ता इंटरफ़ेस अद्यतन करने की अनुमति देता है कैसे रजिस्टर और स्मृति कोशिकाओं के मूल्यों निष्पादन के दौरान बदल देखने के लिए
  • कदम-दर-कदम अनुदेश निष्पादन, अनुदेश लंघन और परीक्षण के लिए याद करने के लिए ASCII, यूनिकोड तार और पूर्णांक मूल्यों डालने के लिए ब्रेकप्वाइंट सुविधाओं
  • उपकरण के साथ निर्मित डिबगर आपके कोड का
  • डुप्लिकेट या अनुपलब्ध लेबल और निर्देश paramete जांचने के लिए उपकरण आरएस
  • कंप्यूटर स्थिति (सभी रजिस्टरों और मेमोरी कोशिकाओं के मूल्य) को सहेजें ताकि अगली बार जब आप सिम्युलेटर चला सकें तो आप कहां से छोड़े रह सकते हैं!
  • सिमुलेशन गति सेट करें - कम गति अपने कोड का पता लगाने में और यह कैसे
  • एनकोड निर्देश बर्ताव करता है देखने के लिए महान हैं - या तो द्विआधारी या हेक्साडेसिमल प्रतिनिधित्व में उत्पादन मशीन कोड
  • पकड़ने विधानसभा समय और क्रम त्रुटियों
  • आसान वर्णनात्मक त्रुटि संदेश के साथ डिबगिंग
  • मल्टी पिरोया डिजाइन - MIPSim अटक जाते हैं नहीं करता है (उम्मीद है कि;) भले ही विधानसभा निष्पादित कोड गलत है या
  • MIPSim एपीआई अनंत छोरों शामिल हैं - अपने स्वयं के प्रोग्राम हैं जो से पढ़ सकते हैं बनाने के लिए और रजिस्टरों को लिखें और एम MIPSim की भावना, शक्तिशाली परीक्षण के लिए महान लचीलापन!
3

यह अब आपके लिए कोई अर्थ नहीं देगा बल्कि केवल लोगों के लिए रोक देगा। यह सबसे अच्छा असेंबली कोड सिम्युलेटर है जिसके साथ मैं आया हूं। वास्तव में इसके लायक है!

http://www.emu8086.com/

1

क्यों एक एमुलेटर का उपयोग करें?

MASM या NASM डाउनलोड करें और अच्छी पुरानी 80386 आर्किटेक्चर लिखें। ऑनलाइन नमूने और सीखने के उपकरण के बहुत सारे।

असेंबलर का उपयोग करने के लिए वास्तविक दुनिया के कारण!

+0

-1: "असेंबलर का उपयोग करने के लिए वास्तविक दुनिया के कारण!" असेंबली भाषा का उपयोग करने के लिए अच्छे कारण बहुत दुर्लभ हैं। किसी भी लाभ के लिए आपको माइक्रोआर्किटेक्चर पर एक विशेषज्ञ होना है, भले ही आपका कंपाइलर पहले से ही अच्छा कोड न छोड़ें। आम तौर पर आपका एल्गोरिदम इष्टतम नहीं है, इसलिए आप इसे अनुकूलित करने से बेहतर होंगे। –

4

यदि आप विंडोज 8085 Simulator पर हैं तो सबसे अच्छा विकल्प है। 8085 Simulator by J-tech Softwares

यह उपयोगकर्ता इंटरफ़ेस किसी भी अन्य सिम्युलेटर से उत्कृष्ट है। इसके अलावा यह सिम्युलेटर बहुत समय मेमोरी मैप का लाइव व्यू प्रदान करता है (निष्पादन में भी)।

लेकिन यह विंडोज 98 का ​​समर्थन नहीं करता है या इसके लिए कम आपको "GnuSim8085" जैसे अन्य सिमुलेटर की जांच करने की आवश्यकता है।

1

एक सिम्युलेटर है जो माइक्रोप्रोसेसर आर्किटेक्चर के वित्त पोषण के लिए Visual6502 है। इसमें एक संपादक, असेंबलर, आई/ओ ऑपरेशन और माइक्रोप्रोसेसर कैसे काम करना है, इसकी एनीमेशन है। मैं निम्नलिखित लिंक पर उपलब्ध हूं।

http://www.pcsistem.net/visual/index.htm

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