असेम्बली भाषा

असेम्बली भाषा (assembly language) या असेम्बलर भाषा (assembler) कम्प्यूटर तथा अन्य प्रोग्राम करने योग्य युक्तियों (जैसे माइक्रोकन्ट्रोलर) की निम्न-स्तरीय प्रोग्रामन भाषा हैAssembler language , IBM Knowledge center। असेम्बली के बाद भाषा तथा मशीन आर्किटेक्चर में प्रायः बहुत घनिष्ठ सम्बन्ध होता है। एक विशेष कम्प्यूटर आर्किटेक्चर के लिये असेम्बली भाषा भी विशिष्ट होती है। असेम्बली भाषा को 'सांकेतिक मशीन कोड' भी कह सकते हैं।

मशीनी भाषा द्वारा प्रोग्राम तैयार करने में आने वाली कठिनाईयो को दूर करने हेतु कम्प्यूटर वैज्ञानिको ने एक अन्य कम्प्यूटर प्रोग्राम भाषा का निर्माण किया। इस कम्प्यूटर प्रोग्रामिंग भाषा को असेम्बली भाषा कहते हैं। कम्प्यूटर प्रोग्रामिंग भाषा के विकास का पहला कदम यह था कि मशीनी भाषा को अंकीय क्रियांवयन संकेतो के स्थान पर अक्षर चिह्न स्मरणोपकारी का प्रयोग किया गया। स्मरणोपकारी का अर्थ यह है कि -एसी युक्ति जो हमारी स्मृति में वर्ध्दन करें। जैसे घटाने के लिये मशीनी भाषा में द्विअंकीय प्रणाली में 1111 और दशमलव प्रणाली में 15 का प्रयोग किया जाता है, अब यदि इसके लिये मात्र sub का प्रयोग किया जाए तो यह प्रोग्रामर की समय में सरलता लाएगी।

पारिभाषिक शब्दो में, वह कम्प्यूटर प्रोग्रामिंग भाषा जिसमें मशीनी भाषा में प्रयुक्त अंकीय संकेतो के स्थान पर अक्षर अथवा चिन्हो का प्रयोग किया जाता है, असेम्बली भाषा अथवा symbol language कहलाती है।
असेम्बली भाषा में मशीन कोड के स्थान पर ’नेमोनिक कोड’ का प्रयोग किया गया जिन्हे मानव मस्तिष्क आसानी से पहचान सकता था जैसे-LDA(load),Tran(Translation),JMP(Jump) एवं इसी प्रकार के अन्य नेमोनिक कोड जिन्हे आसानी से पहचाना व याद रखा जा सकता था। इनमे से प्रत्येक के लिये एक मशीन कोड भी निर्धारित किया गया, पर असेम्बली कोड से मशीन कोड में परिवर्तन का काम, कम्प्यूटर में ही स्थित एक प्रोग्राम के जरिये किया जाने लगा, इस प्रकार के प्रोग्राम को असेम्बलर नाम दिया गया। यह एक अनुवादक की भांति कार्य करता है।

 असेम्बली भाषा की विशेषताएं 
(१) नेमोनिक कोड और आकडो हेतु उपयुक्त नाम के प्रयोग के कारण इस प्रोग्रामिंग भाषा को अपेक्षाकृत अधिक सरलता से समझा जा सकता है।
(२) इस प्रोग्रामिंग भाषा में कम समय लगता है।
(३) इसमे गलतियो को सरलता से ढूंढकर दूर किया जा सकता है।
(४) इस प्रोग्रामिंग भाषा में मशीनी भाषा की अनेक विशेषताओ का समावेश है।

  असेम्बली भाषा की परिसीमाए 
 
(१) चूंकि इस प्रोग्रामिंग भाषा में प्रत्येक निर्देश चिन्हो एवं संकेतो में दिया जाता है और इसका अनुवाद सीधे मशीनी भाषा में होता है अत: यह भाषा भी हार्डवेयर पर निर्भर करती है। भिन्न ALU एवं Controling Unit के लिये भिन्न प्रोग्राम लिखना पड़ता है।
(२) प्रोग्राम लिखने के लिये प्रोग्रामर को हार्डवेयर की सम्पूर्ण जानकारी होनी आवश्यक है।

 असेम्बली भाषा में प्रोग्राम का उदाहरण 
 पहला उदाहरण -

 # define N 16
 
     .global _start
 
     .comm  BUFF  , N
 
 _start: mov   $3   , %eax
     mov   $0   , %ebx
     mov   $BUFF , %ecx
     mov   $N   , %edx
     int   $0x80
 
     mov   %eax  , %edx
     mov   $4   , %eax
     mov   $1   , %ebx
     mov   $BUFF , %ecx
     int   $0x80
 
     mov   $1   , %eax
     mov   $0   , %ebx
     int   $0x80

 दूसरा उदाहरण -
 पता (Address) नाम (Label) अनुदेश (Instruction (AT&T syntax)) आब्जेक्ट/वस्तु कूट (Object code).begin.org 2048a_start.equ 30002048ld length,%2064be done00000010 10000000 00000000 000001102068addcc %r1,-4,%r110000010 10000000 01111111 111111002072addcc %r1,%r2,%r410001000 10000000 01000000 000000102076ld %r4,%r511001010 00000001 00000000 000000002080ba loop00010000 10111111 11111111 111110112084addcc %r3,%r5,%r310000110 10000000 11000000 000001012088done:jmpl %r15+4,%r010000001 11000011 11100000 000001002092length:2000000000 00000000 00000000 000101002096address:a_start00000000 00000000 00001011 10111000.org a_start3000a:

 सन्दर्भ 

श्रेणी:कंप्यूटर
भाषा, असेम्बली

pl:Asembler#Język asemblera