असेंबली (मुख्य रूप से पीआईसी) के लिए कोई संहिता सम्मेलन है?असेंबली (मुख्य रूप से पीआईसी) के लिए कोई कोड सम्मेलन है?
उत्तर
मिल जाएगा मैं Assembly Language Style Guide(PDF) जो आप में रुचि हो सकती खोजने के लिए सक्षम था।
यह सामान्य शैली है, लेकिन टिप्पणियां बहुत लुभावनी हैं (बहुत कम स्तर या अपरिचित)। – starblue
यह शुरू करने के लिए एक अच्छा दस्तावेज़ है। लेकिन जैसा कि ऊपर –
से ऊपर टिप्पणी की गई है, मैंने यहां एक ही प्रश्न बना दिया है: http://electronics.stackexchange.com/questions/7468/are-there-any-code-conventions-for-assembly और शायद आप चाहते हैं वहां भी जवाब देना पसंद है। –
मुझे नहीं लगता कि कुछ औपचारिक है, लेकिन उनकी वेबसाइट पर कोडिंग नमूने पढ़ने से आपको सामान्य मुहावरे का स्वाद मिलता है। बस जागरूक रहें कि कई अलग-अलग शौकियों से बहुत सारे 'योगदान' हैं, और वे बहुत अच्छे नहीं हो सकते हैं।
अन्य परियोजनाओं की भी जांच करें, अधिकांश में बदसूरत कोड होगा; लेकिन आपको एक मणि या दो मिल जाएगा।
मैंने कभी भी पीआईसी पर कार्यक्रम नहीं किया, लेकिन कोड को पढ़ने के लिए पसंद आया। मैं वास्तव में एक अच्छा और साफ निष्पादन प्रवाह के साथ एक "वास्तविक समय ओएस" याद है। याद रखें कि कोडिंग शैली कितनी संगत थी, लेकिन मैं वहां से शुरू करूंगा।
यह बेहतर है उनमें से ज्यादातर को पढ़ने के लिए और जब यह गद्य जितना आसान है, तो आप अपने शैली
जब लेखन असेंबली, यह बहुत उपयोगी है और पर सभी ओवरबोर्ड पर टिप्पणी नहीं प्रत्येक पंक्ति
मैं बस कुछ ऐसा कहने जा रहा था। मेरे पास कुछ टिप्पणियों के साथ कुछ साल पहले कुछ पुरानी असेंबली है, और मुझे इनमें से कोई भी समझ में नहीं आता है। – Zifre
मैं जेसन एस के साथ हूं - यदि संभव हो तो एक सी कंपाइलर का उपयोग करें, भले ही आप असेंबली भाषा की कुछ पंक्तियों को एम्बेड करते हैं "__asm" कीवर्ड का उपयोग कर आपकी ".c" फ़ाइल।
यदि आपको पीआईसी के लिए असेंबलर में पूरे कार्यक्रम लिखना है, तो अनुशंसित फ़ंक्शन कॉल सम्मेलन PIClist: PIC Paging and PCLATH पर है।
यह वास्तव में आपके द्वारा उपयोग किए जा रहे पीआईसी के मॉडल पर निर्भर करेगा। उदाहरण के लिए, पीआईसी 16 और पीआईसी 18 में बहुत सारे असेंबली उदाहरण हैं जो आसानी से वेब पर पाए जा सकते हैं।
हालांकि पीआईसी 24 और पीआईसी 32 जैसे मॉडल सी की तरफ बहुत अधिक तैयार हैं। सी में उनके बहुत सारे पीआईसी उदाहरण हैं जो आपके विशिष्ट पीआईसी मॉडल के लिए वेबसाइट पर पाए जा सकते हैं। इन पीआईसी मॉडल को अभी भी असेंबली में प्रोग्राम किया जा सकता है, लेकिन उनके बारे में बहुत कम वेब उदाहरण हैं। इसके लिए सबसे अच्छा संसाधन "सहायता" के तहत एमपीएलएबल में है, जो भी आपके पीआईसी मॉडल का उपयोग करने वाले असेंबलर की "सहायता सामग्री" की जांच करें। यह आपको कुछ उदाहरण दिखाएगा साथ ही पीआईसी असेंबली में प्रोग्राम कैसे करें और सरल पीआईसी कार्यों को पूरा करेगा जैसे मेमोरी को परिभाषित करना या मैक्रोज़ लिखना।
यह इस बात पर निर्भर करता है कि आपके प्रोग्रामिंग असेंबली में या सी कंपाइलर का उपयोग आपके लिए असेंबली बनाने के लिए करते हैं, यदि प्रदर्शन महत्वपूर्ण है तो सी कंपाइलर का उपयोग न करें, असेंबली स्वयं लिखें।
लेकिन सामान्य रूप से सम्मेलन प्रत्येक पंक्ति पर टिप्पणी करना है, सार्थक सूचक नामों के साथ सरल सबराउटिन का उपयोग करें। वहाँ somethings तुम खंड पर टिप्पणी की है, यानी
start: movlw 0x24 // \
movf count // put 24 into count
MyCount: decfsz count //decrement count and exit if done
goto myCount //do the loop
goto exit //count is done exit
इस विशिष्ट कोडिंग, पते के लिए प्रथम स्तंभ आदेश के लिए अगले पॉइंटर और संबद्ध आप आमतौर पर पहले हैडर अनुभाग में वार्स परिभाषित वार्स है वास्तविक कार्यक्रम, लेकिन यह उस संयोजन के लिए विशेष है जिसका आप उपयोग कर रहे हैं। कुछ आपको परिवर्तनीय सूचक विकल्प नहीं देते हैं और आपको प्रत्यक्ष स्मृति स्थान का उपयोग करना होगा। यदि आप डिस्सेबलर से वापस आने वाले टिप्पणी कोड को देखते हैं तो यह दिखेगा।
0020 movlw 0x24
0021 movf 0x25 // 0x25 = memory address of count
0022 decfsz 0x25
0023 goto 0x0022 // loop back to 0x22 until count = 0
0024 goto 0x01FF
तो आप इसे बाहर टिप्पणी समूह के लिए सुनिश्चित करें कि आपके कोड का उपयोग करें 'nop की शुरुआत की तरह अच्छा दौर संख्या बीच में आता है और इस तरह के लिए 2 और 20 के बीच स्पष्ट 20 छोड़ने के पते का पता करने के लिए कोड की भरपाई के लिए बनाते हैं।चिप के आधार पर मैं 12f675 के लिए बहुत सारे कोड लिखता हूं, इसलिए यह मॉडल मैं आमतौर पर उपयोग करता हूं।
भी सरल स्पष्ट सबराउटिन में कोड रखता है और वहां पते को आपके शुरुआती सबराउटिन के बीच 10 या तो नॉप के ब्लॉक छोड़ने के अच्छे दौर संख्याएं होनी चाहिए, आप हमेशा वापस जा सकते हैं और बाद में अपने कोड को संपीड़ित कर सकते हैं। और हमेशा अपने कोड पर टिप्पणी करें आप इसे पर्याप्त टिप्पणी नहीं कर सकते हैं।
भी मैं सामान्य रूप से स्मृति के अंत के रूप में अपने init मार्ग को डालता हूं क्योंकि उस वास्तविक कार्यक्रम के लिए अधिकतम स्थान छोड़ने योग्य है।
आशा है कि कुछ मदद करता है।
- 1. पीआईसी असेंबली फ़ंक्शन
- 2. पीआईसी
- 3. असेंबली नामकरण सम्मेलन
- 4. परियोजना और असेंबली नामकरण सम्मेलन
- 5. असेंबली सबराउटिन को मुख्य
- 6. असेंबली भाषा के लिए स्थिर कोड विश्लेषण
- 7. असेंबली असेंबली भाषा स्पेगेटी कोड
- 8. क्या सी में सूचक घोषणाओं के लिए कोई सम्मेलन है?
- 9. प्रोग्रामेटिक रूप से असेंबली बाध्यकारी
- 10. माइक्रोचिप पीआईसी
- 11. सी से असेंबली कॉल सम्मेलन 32 बिट बनाम 64 बिट
- 12. क्या 32 बिट x86 कोड साझा लाइब्रेरी फ़ाइलों के लिए विशेष रूप से पीआईसी-संकलित होना चाहिए?
- 13. ट्रिस्टेट मूल्य - क्या कोई सम्मेलन है?
- 14. पीआईसी 18F
- 15. परीक्षण कोड और मुख्य कोड
- 16. rdtscp के लिए कौन सा इनलाइन असेंबली कोड सही है?
- 17. पीआईसी 16 सी कंपाइलर
- 18. सूचक के लिए सम्मेलन *
- 19. साझा लाइब्रेरी में पीआईसी और गैर-पीआईसी वस्तुओं को मिलाकर
- 20. पीआईसी रजिस्टर (% ईबीएक्स) क्या करता है?
- 21. असेंबली से रिवर्स इंजीनियरिंग सी-सोर्स कोड
- 22. असेंबली कोड अनुकूलित करने के लिए कोई अच्छा, आधुनिक, ऑनलाइन गाइड है?
- 23. डीबग गतिशील रूप से लोड असेंबली
- 24. सी ++ में, क्या यह कोड लिखने के लिए अच्छा रूप है जो मुख्य() से पहले निष्पादित करता है?
- 25. क्या MySQL के लिए नामकरण सम्मेलन है?
- 26. असेंबली कोड को सी कोड
- 27. पीआईसी छवि को पीआईसी छवि में कनवर्ट करें
- 28. असेंबली को सी ++ में बदलने के लिए कोई प्रोग्राम है?
- 29. क्या हस्ताक्षर मान्यता के लिए कोई कोड या एल्गोरिदम है?
- 30. धागे के लिए नामकरण सम्मेलन?
मैं इसे ऑफटॉप नहीं कहूंगा, लेकिन मेरा कोड सम्मेलन सी या सी ++ का उपयोग करना है, असेंबलर नहीं। टिप्पणियों के साथ –
भी समझौते में। मेरा सम्मेलन केवल गति/अंतरिक्ष के अनुकूलन के अंतिम उपाय के रूप में असेंबली का उपयोग करना होगा। – kenny
मुझे उत्पाद की कीमत को कम करने की आवश्यकता है। सी मेरे लिए सबसे अच्छा विकल्प नहीं है। –