2009-08-10 80 views

उत्तर

35

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

अन्यथा समेकित भाषा मशीन भाषा के बराबर है। कभी-कभी आपके पास एक पुराना असेंबलर होगा जो नए प्रोसेसर के कुछ निर्देशों के लिए निमोनिक्स का समर्थन नहीं करेगा - फिर भी आप प्रोग्राम में सीधे ऑपरेशन कोड डाल सकते हैं।

+0

धन्यवाद sharptooth है, मुझे लगता है मैं यह मिल गया – freenight

5

असेंबली में, निर्देश सीपीयू निर्देशों के प्रतिनिधित्व को समझने में आसान हैं।

लेकिन कोडांतरक भी उदाहरण के लिए बनाता है, को संबोधित आसान:

  • मशीन भाषा में आप जहां हैं और आप
  • के लिए कूद करना चाहते हैं जहां के बीच की दूरी (पता स्थान में) पता होना चाहिए विधानसभा भाषा में आप "iWantToJumpHere" एक पते फोन और उसके बाद आप कह सकते हैं "कूद iWantToJumpHere"

इस विधानसभा बहुत आसान बनाए रखने के लिए बनाता है, खासकर जब पतों परिवर्तन के बीच की दूरी।

14

मशीन भाषा एक सीपीयू के ऑपकोड का "बिट एन्कोडिंग" है।

असेंबली लैंगेज एक सीपीयू के ऑपकोड का "सिंबलिक एन्कोडिंग" है।

तो के लिए उदाहरण प्रतीकात्मक:

# Mythical CPU Machine code 4 bits operation, 
#       4 bit "option" 
     0x41  # 4 is a "dec" and represents r1; 
     0x7E  # 7 is bnq and E means PC -2; 

आम तौर पर यह एक से एक के लिए संबंध है, लेकिन कुछ संयोजन भाषाओँ ocationally अतिरिक्त विधानसभा निर्देश है कि नक्शा या तो करने के लिए कई होगा:

loop: dec R1 # Decrement register R1 
     bnq loop # Branch if not equal to zero to 
       # address "loop" 

बिट एन्कोडिंग हो जाता है मशीन कोड निर्देश या किसी अन्य ओपोड का पुन: उपयोग करें। मशीन कोड "xor R1, R1" को "clr R1" या कुछ समान के रूप में उपयोग करने जैसे।

इसके अलावा असेंबली भाषाएं "मैक्रो प्रोग्रामिंग" का समर्थन करती हैं, जो 80 के दशक में जब असेंबली का उपयोग बड़े पैमाने पर स्रोत कोड को "उच्च स्तर" उपस्थिति प्रदान करता था। मैंने आम तौर पर असेंबली मैक्रोज़ लिखे हैं जो सामान्य संचालन को सरल बनाने के लिए "प्लॉट एक्स, वाई" और "हेक्स वैल" की तरह दिखते हैं।

उदाहरण के लिए:

# Mythically CPU Macro 
.macro spinSleep x,y 
      ld #x,y 
localLoop: dec y 
      brq localLoop 
.endmacro 
# Macro invocation 
      spinSleep 100,R1 
# Macro expantion 
      ld #100,R1 
localLoopM: dec R1 
      brq localLoopM # localLoopM is "Mangled" for localization. 
0

स्तर की भाषा इकट्ठा प्रोग्रामर बाइनरी कोड (मशीन कोड) के बजाय स्मृति सहायकों लिखने के लिए अनुमति देकर प्रोग्रामिंग सरल बनाने की दिशा में पहला सचेत कदम है।

8

मैं एक बहुत अच्छी व्याख्या, इसे यहाँ पोस्ट करने के लिए, ताकि अन्य लोग इसे पढ़ सकता है सोचा था कि पाया:

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

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

एक असेंबली भाषा प्रोग्राम (यानी टेक्स्ट फ़ाइल) को एक असेंबलर द्वारा मशीन भाषा में अनुवादित किया गया है। डिस्सेबलर रिवर्स फ़ंक्शन करता है (हालांकि टिप्पणियां और लेबल के नाम असेंबलर प्रक्रिया में छोड़े गए होंगे)।

स्रोत: What is difference between machine language and assembly language?

1

मशीन भाषा क्या चिप समझता विधानसभा आप क्या समझ

हर विधानसभा आदेश एक मशीन बराबर भाषा है है

43 00 00 00 = इंक EBX

41 00 00 00 = inc eax

3 बी सीए 00 00 = सीएमपी ECX, EDX

सी 3 00 00 00 = सेवानिवृत्त

और इतने

पर
-2

विधानसभा भाषा opcode (आपरेशन कोड) का प्रतीक एनकोड है कि मनुष्यों द्वारा समझते हैं और केवल विशिष्ट कार्य करने के लिए कंप्यूटर प्रोसेसर (हार्डवेयर ऑपरेशन) और रोबोट (रोबोटिक ऑपरेशन) को निर्देश देने के लिए उपयोग करें। यह मानव के लिए एक समझने योग्य भाषा है। यह भाषा केवल हार्डवेयर ऑपरेशन को निर्देश देने के लिए उपयोग की जाती है और निश्चित रूप से सॉफ्टवेयर प्रोग्राम बनाने के लिए उपयोग नहीं करती है। एक असेंबलर का उपयोग मशीन भाषा में ऑपोड (ऑपरेशन कोड) के इस प्रतीकात्मक एन्कोड भाग को बदलने के लिए किया जाता है। ऑपरेशन कोड (ओपोड) मशीन भाषा का एक हिस्सा है।

+0

यह स्पष्ट नहीं है कि क्या इस उत्तर को व्यक्त करने का इरादा है लगता है। –

-1

मशीन भाषा:

  1. यह पहली पीढ़ी के कार्यक्रमों की भाषा
  2. है यह विधानसभा भाषा की तुलना में बहुत मुश्किल है
  3. मानव
  4. यह के रूप में है से समझना मुश्किल 0s और 1s
  5. मशीन भाषा प्लेटफ़ॉर्म
  6. से भिन्न होती है ANNOT आसानी से बदला जा
  7. यह संशोधन
  8. त्रुटि के अस्तित्व का खतरा अधिक है
  9. बाइनरी कोड याद नहीं किया जा सकता
  10. संकलक की कोई ज़रूरत नहीं

विधानसभा भाषा का समर्थन नहीं करता:

  1. यह दूसरी पीढ़ी प्रोग्रामिंग भाषा
  2. 0 है
  3. यह मानव द्वारा समझने के लिए मशीन भाषा
  4. आसान से भी कम समय के लिए मुश्किल है
  5. यह प्रतीकात्मक निर्देश, डेटा आइटम के लिए वर्णनात्मक नाम और स्मृति स्थान
  6. विधानसभा भाषा है मंच निर्भर
  7. यह आसानी से परिवर्तनीय है का उपयोग करता है
  8. यह समर्थन में परिवर्तन
  9. त्रुटि की घटना कम हो जाता है
  10. मेमोरेबलिटी का खतरा अधिक है
  11. यह संकलक की जरूरत है और कोडांतरक के रूप में जानता है
संबंधित मुद्दे