yasm - क्लाउड में ऑनलाइन

यह कमांड yasm है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे कि उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर में से एक का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।

कार्यक्रम:

नाम


yasm - Yasm मॉड्यूलर असेंबलर

SYNOPSIS


यासम [-f प्रारूप] [-o आउटफाइल] [अन्य विकल्पों...] {फाइल में}

यासम -h

वर्णन


Yasm मॉड्यूलर असेंबलर एक पोर्टेबल, रिटारगेटेबल असेंबलर है जिसे "नया" के तहत लिखा गया है
(2 या 3 खंड) बीएसडी लाइसेंस। Yasm वर्तमान में x86 और AMD64 निर्देश सेट का समर्थन करता है,
NASM और GAS असेंबलर सिंटैक्स को स्वीकार करता है, बाइनरी आउटपुट करता है, ELF32, ELF64, COFF, Win32, और
Win64 ऑब्जेक्ट स्वरूप, और STABS, DWARF 2, और . में स्रोत डिबगिंग जानकारी उत्पन्न करता है
कोडव्यू 8 प्रारूप।

YASM में शामिल हैं: यासम कमांड, लीबियासम, कोर बैकएंड लाइब्रेरी, और बड़ी संख्या
मॉड्यूल के। वर्तमान में, libyasm और लोड करने योग्य मॉड्यूल स्थिर रूप से निर्मित हैं यासम
निष्पादन योग्य।

RSI यासम कमांड फाइल इनफाइल को असेंबल करता है और आउटपुट को फाइल में निर्देशित करता है आउटफाइल if
निर्दिष्ट। अगर आउटफाइल निर्दिष्ट नहीं है, यासम से एक डिफ़ॉल्ट आउटपुट फ़ाइल नाम प्राप्त होगा
इसकी इनपुट फ़ाइल का नाम, आमतौर पर .o या .obj जोड़कर, या सभी एक्सटेंशन हटाकर
एक कच्ची बाइनरी फ़ाइल के लिए। ऐसा न करने पर, आउटपुट फ़ाइल का नाम yasm.out होगा।

अगर an . के साथ बुलाया जाता है फाइल में का "-", यासम मानक इनपुट को इकट्ठा करता है और आउटपुट को निर्देशित करता है
फ़ाइल आउटफाइल, या yasm.out अगर नहीं आउटफाइल अधिकृत है।

विकल्प


दो रूपों में से एक में कई विकल्प दिए जा सकते हैं: या तो एक अक्षर के बाद एक डैश,
या दो डैश के बाद एक लंबा विकल्प नाम। विकल्प वर्णानुक्रम में सूचीबद्ध हैं।

सामान्य जानकारी ऑप्शंस
-a मेहराब or --आर्च=मेहराब: लक्ष्य वास्तुकला का चयन करें
लक्ष्य वास्तुकला का चयन करता है। डिफ़ॉल्ट आर्किटेक्चर "x86" है, जो समर्थन करता है
दोनों IA-32 और डेरिवेटिव और AMD64 निर्देश सेट। की एक सूची मुद्रित करने के लिए
मानक आउटपुट के लिए उपलब्ध आर्किटेक्चर, "सहायता" का उपयोग करें मेहराब. देखना yasm_arch(7) एक के लिए
समर्थित आर्किटेक्चर की सूची।

-f प्रारूप or --ओफॉर्मेट=प्रारूप: वस्तु प्रारूप का चयन करें
आउटपुट ऑब्जेक्ट स्वरूप का चयन करता है। डिफ़ॉल्ट ऑब्जेक्ट प्रारूप "बिन" है, जो एक फ्लैट है
बिना किसी स्थानांतरण के बाइनरी प्रारूपित करें। उपलब्ध ऑब्जेक्ट स्वरूपों की सूची को प्रिंट करने के लिए
मानक आउटपुट, "सहायता" का उपयोग करें प्रारूप. देखना yasm_objfmts(7) समर्थित की सूची के लिए
वस्तु प्रारूप।

-g डिबग or --dformat=डिबग: डिबगिंग प्रारूप का चयन करें
डिबग जानकारी के लिए डिबगिंग प्रारूप का चयन करता है। डिबगिंग जानकारी का उपयोग किया जा सकता है
एक डीबगर द्वारा निष्पादन योग्य कोड को स्रोत फ़ाइल में वापस जोड़ने या डेटा प्राप्त करने के लिए
संरचना और प्रकार की जानकारी। उपलब्ध डिबग प्रारूप विभिन्न वस्तुओं के बीच भिन्न होते हैं
प्रारूप; यासम गलत संयोजन चुने जाने पर त्रुटि होगी। डिफ़ॉल्ट वस्तु
प्रारूप का चयन वस्तु प्रारूप द्वारा किया जाता है। उपलब्ध डिबगिंग की सूची मुद्रित करने के लिए
मानक आउटपुट के लिए प्रारूप, "सहायता" का उपयोग करें डिबग. देखना yasm_dbgfmts(7) . की सूची के लिए
समर्थित डिबगिंग प्रारूप।

-L सूची or --lformat=सूची: सूची फ़ाइल स्वरूप का चयन करें
आउटपुट सूची फ़ाइल के स्वरूप/शैली का चयन करता है। सूची फ़ाइलें आम तौर पर बीच-बीच में मिलाती हैं
कोडांतरक द्वारा उत्पन्न मशीन कोड के साथ मूल स्रोत। डिफ़ॉल्ट सूची
प्रारूप "nasm" है, जो NASM सूची फ़ाइल स्वरूप की नकल करता है। उपलब्ध की सूची मुद्रित करने के लिए
मानक आउटपुट के लिए फ़ाइल स्वरूपों की सूची बनाएं, "सहायता" का उपयोग करें सूची.

-l लिस्टफाइल or --सूची=लिस्टफाइल: सूची फ़ाइल नाम निर्दिष्ट करें
आउटपुट सूची फ़ाइल का नाम निर्दिष्ट करता है। यदि इस विकल्प का उपयोग नहीं किया जाता है, तो कोई सूची फ़ाइल नहीं
उत्पन्न होता है।

-m मशीन or --मशीन=मशीन: लक्ष्य मशीन वास्तुकला का चयन करें
लक्ष्य मशीन वास्तुकला का चयन करता है। अनिवार्य रूप से चयनित का एक उपप्रकार
आर्किटेक्चर, मशीन प्रकार एक आर्किटेक्चर के प्रमुख सबसेट के बीच चयन करता है। के लिये
उदाहरण के लिए, "x86" आर्किटेक्चर के लिए, दो उपलब्ध मशीनें "x86" हैं, जो है
IA-32 और व्युत्पन्न 32-बिट निर्देश सेट के लिए उपयोग किया जाता है, और "amd64", जिसका उपयोग किया जाता है
64-बिट निर्देश सेट के लिए। उत्पन्न करने के लिए इस भेदभाव की आवश्यकता है
सीओएफएफ और ईएलएफ जैसे स्थानांतरित करने योग्य ऑब्जेक्ट प्रारूपों के लिए उचित ऑब्जेक्ट फ़ाइल। प्रिंट करने के लिए
किसी दिए गए आर्किटेक्चर के लिए मानक आउटपुट के लिए उपलब्ध मशीनों की सूची, "सहायता" का उपयोग करें
मशीन और दिए गए आर्किटेक्चर का उपयोग कर -a मेहराब. देखना yasm_arch(7) अधिक जानकारी के लिए।

-o फ़ाइल का नाम or --objfile=फ़ाइल का नाम: ऑब्जेक्ट फ़ाइल नाम निर्दिष्ट करें
Yasm द्वारा उत्पन्न किसी भी डिफ़ॉल्ट नाम को ओवरराइड करते हुए, आउटपुट फ़ाइल का नाम निर्दिष्ट करता है।

-p पार्सर or --पार्सर=पार्सर: पार्सर चुनें
पार्सर (असेंबलर सिंटैक्स) का चयन करता है। डिफ़ॉल्ट पार्सर "नासम" है, जो
NASM, नेटवाइड असेंबलर के सिंटैक्स का अनुकरण करता है। एक अन्य उपलब्ध पार्सर "गैस" है,
जो GNU AS के सिंटैक्स का अनुकरण करता है। उपलब्ध पार्सर्स की सूची को मानक पर प्रिंट करने के लिए
आउटपुट, "सहायता" के रूप में उपयोग करें पार्सर. देखना yasm_parsers(7) समर्थित पार्सर्स की सूची के लिए।

-r प्रीप्रोक or --प्रीप्रोक=प्रीप्रोक: प्रीप्रोसेसर का चयन करें
पार्सर को पास करने से पहले इनपुट फ़ाइल पर उपयोग करने के लिए प्रीप्रोसेसर का चयन करता है।
प्रीप्रोसेसर अक्सर मैक्रो कार्यक्षमता प्रदान करते हैं जो मुख्य में शामिल नहीं है
पार्सर डिफ़ॉल्ट प्रीप्रोसेसर "नासम" है, जो वास्तविक का एक आयातित संस्करण है
NASM प्रीप्रोसेसर। एक "कच्चा" प्रीप्रोसेसर भी उपलब्ध है, जो बस छोड़ देता है
प्रीप्रोसेसिंग चरण, इनपुट फ़ाइल को सीधे पार्सर को पास करना। की एक सूची मुद्रित करने के लिए
मानक आउटपुट के लिए उपलब्ध प्रीप्रोसेसर, "सहायता" का उपयोग करें प्रीप्रोक.

-h or --मदद: विकल्पों का सारांश प्रिंट करें
आमंत्रण विकल्पों का सारांश प्रिंट करता है। अन्य सभी विकल्पों पर ध्यान नहीं दिया जाता है, और कोई आउटपुट नहीं होता है
फ़ाइल उत्पन्न होती है।

--संस्करण: Yasm संस्करण प्राप्त करें
यह विकल्प Yasm को Yasm के संस्करण संख्या के साथ-साथ लाइसेंस को प्रिंट करने का कारण बनता है
मानक आउटपुट के लिए सारांश। अन्य सभी विकल्पों पर ध्यान नहीं दिया जाता है, और कोई आउटपुट फ़ाइल नहीं है
उत्पन्न।

चेतावनी ऑप्शंस
-W विकल्पों के दो विपरीत रूप हैं: -Wनाम और -नहीं-नाम. केवल गैर-डिफ़ॉल्ट रूप हैं
यहाँ दिखाया गया है।

चेतावनी विकल्पों को कमांड लाइन पर दिए गए क्रम में नियंत्रित किया जाता है, इसलिए यदि -w is
द्वारा पीछा -वर्फन-लेबल, सभी चेतावनियां बंद कर दी गई हैं सिवाय अनाथ-लेबल के लिए।

-w: सभी चेतावनी संदेशों को रोकें
यह विकल्प Yasm को सभी चेतावनी संदेशों को बाधित करने का कारण बनता है। जैसा कि ऊपर चर्चा की गई है, यह
निर्दिष्ट चेतावनियों को फिर से सक्षम करने के लिए अन्य विकल्पों के साथ विकल्प का पालन किया जा सकता है।

-आतंक: चेतावनियों को त्रुटियों के रूप में मानें
यह विकल्प Yasm को सभी चेतावनियों को त्रुटियों के रूप में मानने का कारण बनता है। आम तौर पर चेतावनियां नहीं होतीं
किसी ऑब्जेक्ट फ़ाइल को उत्पन्न होने से रोकें और विफलता से बाहर निकलने की स्थिति में परिणाम न दें
से यासम, जबकि त्रुटियाँ करते हैं। यह विकल्प चेतावनियों को त्रुटियों के बराबर बनाता है
इस व्यवहार का।

-अज्ञात-चारो: अपरिचित इनपुट वर्णों पर चेतावनी न दें
इनपुट में पाए गए अपरिचित वर्णों पर Yasm को चेतावनी न देने का कारण बनता है। आम तौर पर यास्मो
इनपुट फ़ाइल में पाए जाने वाले किसी भी गैर-ASCII वर्ण के लिए एक चेतावनी उत्पन्न करेगा।

-वर्फन-लेबल: अनुगामी विकल्प की कमी वाले लेबलों पर चेतावनी
NASM- संगत पार्सर का उपयोग करते समय, Yasm को अकेले पाए जाने वाले लेबल के बारे में चेतावनी देने का कारण बनता है
अनुगामी बृहदान्त्र के बिना एक पंक्ति। जबकि ये NASM सिंटैक्स में कानूनी लेबल हैं, वे हो सकते हैं
टाइपो या मैक्रो डेफिनिशन ऑर्डरिंग के कारण अनजाने में हो।

-X अंदाज: त्रुटि/चेतावनी रिपोर्टिंग शैली बदलें
त्रुटि और चेतावनी संदेशों के लिए एक विशिष्ट आउटपुट शैली का चयन करता है। डिफ़ॉल्ट "ग्नू" है
शैली, जो के आउटपुट की नकल करती है जीसीसी. "वीसी" शैली भी उपलब्ध है, जो नकल करती है
माइक्रोसॉफ्ट के विजुअल सी++ कंपाइलर का आउटपुट।

यह विकल्प उपलब्ध है ताकि Yasm IDE वातावरण में अधिक स्वाभाविक रूप से एकीकृत हो सके
जैसे विजुअल स्टूडियो या Emacs, जिससे IDE को सही ढंग से पहचानने की अनुमति मिलती है
इस तरह की त्रुटि/चेतावनी संदेश और स्रोत कोड की आपत्तिजनक पंक्ति से वापस लिंक करें।

प्रीप्रोसेसर ऑप्शंस
हालांकि ये प्रीप्रोसेसर विकल्प सैद्धांतिक रूप से किसी भी प्रीप्रोसेसर को प्रभावित करेंगे, केवल
वर्तमान में Yasm में प्रीप्रोसेसर "nasm" प्रीप्रोसेसर है।

-D मैक्रो[=मान]: मैक्रो को पूर्व-परिभाषित करें
एकल-पंक्ति मैक्रो को पूर्व-परिभाषित करता है। मान वैकल्पिक है (यदि कोई मान नहीं दिया गया है, तो
मैक्रो अभी भी परिभाषित है, लेकिन एक खाली मूल्य के लिए)।

-e or --प्रीप्रोक-केवल: केवल पूर्व प्रक्रिया
प्रीप्रोसेसिंग चरण के बाद असेंबली बंद कर देता है; प्रीप्रोसेस्ड आउटपुट को भेजा जाता है
निर्दिष्ट आउटपुट नाम या, यदि कोई आउटपुट नाम निर्दिष्ट नहीं है, तो मानक आउटपुट। नहीं
ऑब्जेक्ट फ़ाइल बनाई जाती है।

-I पथ: जोड़ें फ़ाइल पथ शामिल करें
निर्देशिका जोड़ता है पथ फ़ाइलों को शामिल करने के लिए खोज पथ पर। खोज पथ डिफ़ॉल्ट रूप से
केवल उस निर्देशिका सहित जिसमें स्रोत फ़ाइल रहती है।

-P फ़ाइल का नाम: फ़ाइल को पूर्व-शामिल करें
पूर्व-फ़ाइल शामिल है फ़ाइल का नाम, ऐसा लगता है जैसे फ़ाइल का नाम के लिए तैयार किया गया था
इनपुट। बहु-पंक्ति मैक्रोज़ को प्रीपेन्ड करने के लिए उपयोगी हो सकता है कि -D समर्थन नहीं कर सकता।

-U मैक्रो: मैक्रो को अपरिभाषित करें
एकल-पंक्ति मैक्रो को अपरिभाषित करता है (या तो एक अंतर्निहित मैक्रो हो सकता है या पहले परिभाषित किया जा सकता है
के साथ कमांड लाइन में -D.

उदाहरण


NASM सिंटैक्स को इकट्ठा करने के लिए, 32-बिट x86 स्रोत source.asm को ELF फ़ाइल source.o में, चेतावनी पर
अनाथ लेबल:

yasm -f elf32 -Worphan-लेबल source.asm

NASM सिंटैक्स AMD64 स्रोत x.asm को Win64 फ़ाइल object.obj में इकट्ठा करने के लिए:

yasm -f win64 -o object.obj x.asm

पहले से संसाधित NASM सिंटैक्स x86 स्रोत y.asm को फ्लैट बाइनरी फ़ाइल y.com में इकट्ठा करने के लिए:

yasm -f bin -r कच्चा -o y.com y.asm

निदान


RSI यासम आदेश सफलता पर 0 से बाहर निकलता है, और यदि कोई त्रुटि होती है तो गैर-शून्य।

संगतता


Yasm´s NASM पार्सर और प्रीप्रोसेसर, जबकि वे यथासंभव संगत होने का प्रयास करते हैं
NASM के साथ, YASM की विभिन्न आंतरिक संरचना के कारण कुछ असंगतियाँ हैं।

Yasm´s GAS पार्सर और प्रीप्रोसेसर में GNU AS में मौजूद कई सुविधाएँ गायब हैं।

प्रतिबंध


चूंकि ऑब्जेक्ट फाइलें अक्सर आर्किटेक्चर और मशीन पर निर्भर होती हैं, न कि सभी संयोजनों के
ऑब्जेक्ट प्रारूप, आर्किटेक्चर और मशीनें कानूनी हैं; अमान्य का उपयोग करने का प्रयास कर रहा है
संयोजन एक त्रुटि का परिणाम होगा।

प्रतीक मानचित्रों के लिए कोई समर्थन नहीं है।

onworks.net सेवाओं का उपयोग करके ऑनलाइन yasm का उपयोग करें



नवीनतम Linux और Windows ऑनलाइन प्रोग्राम