AVR assembler basics

एव्हीआर असेंब्लर प्रणाली

असेंब्ली भाषेत प्रोग्राम लिहून एव्हीआरचे प्रोग्रामिंग करता येते. त्याचे अनेक फायदे आहेत. त्याची चर्चा या लेखात केली आहे. असेंब्ली वापरून एव्हीआर ला पुढील पायऱ्यांनी “शिकवता येते”.

  1. एका एडिटर मधे प्रोग्राम लिहून काढा. त्यासाठी एव्हीआरच्या १३० सूचनापैकी योग्य त्या निवडून त्यांचा योग्य वापर तुमचा उद्देश साध्य होण्याच्या दृष्टीने करा.
  2. असेंब्लर ही प्रणाली वापरून तुमच्या सूचना “असेंबल” करा. तुम्ही सूचना लिहीत असताना सूचनांचा अयोग्य वापर झाला असेल तर असेंब्लर प्रणाली तुम्हाला तसे दाखवून देते. या चुका (syntax-errors) दुरुस्त केल्यानंतरच असेंब्लर प्रणाली त्या प्रोग्रामचे रूपांतर कंट्रोलरच्या मेंदूला समजू शकेल अशा hex फाइल मधे करते. (या ठिकाणी एक गोष्ट लक्षात ठेवण्यासारखी आहे. ती म्हणजे syntax-errors नसलेल्या प्रोग्राममधे तर्कदृष्ट्या अनेक चुका असू शकतात. त्यामुळे तुमच्या कंट्रोलर उद्दिष्ट साध्य करू शकत नाही.)
  3. syntax-errors नसलेला आणि तर्कदृष्ट्या बिनचूक असा प्रोग्राम hex मधे रूपांतरित झाला की मग तो avrdude प्रणाली आणि usbasp सर्किट हार्डवेअर वापरून संगणकाच्या साह्याने एव्हीआर चिपमधे भरता येतो.

या तीनही पायऱ्यांमधे पहिली पायरी सर्वात महत्वाची आहे. असेंब्ली भाषेतील प्रोग्राम असेंबल करणारी असेंब्लर ही प्रणाली आपल्याला नीट माहिती करून घ्यावी लागेल. या लेखात त्यासाठी gavrasm ही प्रणाली वापरली आहे.

असेंब्लर प्रणालीसंबंधी मूलभूत संकल्पना

आदेश (directives)

प्रोग्राम लिहिणारी व्यक्ती आपल्या प्रोग्राममधे काही भाग कंट्रोलरच्या मेंदूसाठी तर काही भाग असेंब्लर प्रणालीसाठी लिहीत असते. त्यातील जो भाग असेंब्लर प्रणालीशी संवाद साधायला उपयोगी असतो त्याला directive असे म्हणतात.

सूचना

एव्हीआर कंट्रोलर एकूण १३० प्रकारच्या आज्ञा पाळतो. त्यांची थोडक्यात चर्चा या ठिकाणी केली आहे.

असेंब्ली ची प्रक्रिया