विधानसभा में कार्यक्रम सीखना - उपयोगी संसाधन [बंद]


10

पिछले धागे से आगे बढ़ने पर, मुझे असेंबली प्रोग्रामिंग के बारे में थोड़ा सीखने में दिलचस्पी हुई। इतना उपयोगी नहीं है कि उपयोगी ऐप्स प्रोग्राम करना चाहते हैं, बस यह समझने के लिए कि निम्न स्तर की प्रोग्रामिंग के लिए एक महसूस करना है कि क्या हो रहा है।

क्या कोई शुरुआती लोगों के लिए किसी किताब या ऑनलाइन संसाधनों की सिफारिश कर सकता है?

धन्यवाद।


डॉ। पॉल कार्टर की यह पुस्तक x86 एएसएम के लिए बहुत अच्छी थी।
जॉन्सकेब

जवाबों:


5

अनुशंसित पुस्तक: असेम्बली लैंग्वेज प्रोग्रामिंग की कला

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


उत्कृष्ट धन्यवाद। रुचि से बाहर, आपने एक आधुनिक आधुनिक भाषा की तुलना में इसे सीखना कितना सहज पाया? मेरा इतिहास 6 महीने c # (उद्योग में) और उसी समय C ++ (मेरे बेडरूम में :)) के आसपास है
डैरेन यंग

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

2

क्या यह एक अकादमिक अभ्यास है, या आप जो विधानसभा भाषा सीखते हैं उसका उपयोग करना चाहते हैं? यह इन दिनों बहुत विशिष्ट सामग्री है। कंपाइलर ऑप्टिमाइज़ेशन इतना अच्छा हो गया है, कि हाई परफॉर्मेंस हार्ड डिस्क ड्राइव जैसा कुछ भी आम तौर पर कोडर में लिखे कोड बेस का लगभग 1% होता है। 4bit या 8bit प्रोसेसर के लिए खाद्य श्रृंखला के नीचे जाने से आपको बहुत अधिक असेंबली भाषा का उपयोग होता दिखाई देगा।

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

आपके कोड को आज़माने के लिए लगभग $ 50 के लिए बहुत सारे ARM eval बोर्ड उपलब्ध हैं - ऐसा लगता है कि ARM Cortex M3 काफी लोकप्रिय होने जा रहा है। यह ARM के Thumb2 इंस्ट्रक्शन सेट का उपयोग करता है, जो सादे ol 'ARM32 कोड की तुलना में थोड़ा अधिक अस्पष्ट है, लेकिन फिर भी बहुत आसान है, और बहुत शक्तिशाली है।

यह छोटा सा बोर्ड 80 यूरो के लिए बहुत अच्छा लगता है: http://www.olimex.com/dev/stm32-103stk.html


यह पूरी तरह से अकादमिक / आत्म-शिक्षा है। मैं निम्न स्तर के स्मृति प्रबंधन के साथ-साथ उच्च स्तरीय भाषाओं को बेहतर ढंग से समझना चाहूंगा।
डैरेन यंग

1

मूल रूप से, विधानसभा प्रोग्रामिंग के अर्थ में, आपको पहले अंतर्निहित वास्तुकला को जानना होगा, फिर संवाददाता भाषा, उदाहरण के लिए, PIC माइक्रो-कंट्रोलर के साथ, आप संकलक का उपयोग कर सकते हैं जो प्रदान की गई और भाषा। मैं PIC माइक्रो-नियंत्रक ट्यूटोरियल के संदर्भ के लिए इस साइट का उपयोग करता हूं ।


1

मैंने हमेशा पाया कि सबसे कठिन हिस्सा हैलो वर्ल्ड था, जो आमतौर पर एक ट्रिवियल एसेम फंक्शन होता है जिसे हाईलेवल लेसेयर से बुलाया जाता है जैसे दो नंबर जोड़ना। एक बार जब आप उस बाधा को पार कर लेते हैं, तो यह केवल आपके प्रदर्शनों की सूची में निर्देश और psuedo-op (जैसे डेटा को परिभाषित करना) जोड़ने की बात है।

मैं दूसरा गीकब्रिट दूंगा, हालांकि मैंने कभी एआरएम का उपयोग नहीं किया है। इस तरह की एक न्यूनतम वास्तुकला न केवल आसान होगी, बल्कि एक कानूनी उद्देश्य के विपरीत वैध -as होने के करीब आ सकती है।


0

मेरे पास एक निर्देश सेट, कोडांतरक और सिम्युलेटर है, कुछ पाठों के साथ जो इस उद्देश्य के लिए बनाए गए थे। मुझे अभी तक इस बारे में कोई प्रतिक्रिया नहीं है कि मैंने कितना अच्छा या बुरा किया, लेकिन वहाँ से बाहर, इसे 15 मिनट दें या आधे घंटे देखें कि क्या यह आपको कुछ भी सिखाता है। http://github.com/dwelch67/lsasim उसके बाद मेरे पास कुछ मुख्यधारा के निर्देश सेट सिमुलेटर हैं जिन्हें आप अच्छी तरह से, सरल, बिना किसी तामझाम के आज़मा सकते हैं, कहीं भी आपके पास सी कंपाइलर होना चाहिए, आदि।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.