Transcript for:
8085 माइक्रोप्रोसेसर इंस्ट्रक्शन की जानकारी

Dear students, welcome to Gate Smashers आज की इस वीडियो में explain करने जा रहा हूँ Instruction in 8085 तो देखो instruction सबसे पहले अगर हम बात करें It is a command to the microprocessor to perform a given task on a particular data इसके साथ अब एक और चीज़ भी add कर लो At a particular time मतलब यहाँ पे timing भी matter कर रही है आप क्या action perform कर रहे हो वो भी matter कर रहा है और microprocessor जो है वो क्या command actual में दे रहा है देखो आपको simple सी language में समझाता हूँ जैसे मेरा जो mind है वो क्या है एक तरह से microprocessor अब देखो मैं बोल रहा हूँ, हाथ भी हिला रहा हूँ, चल भी रहा हूँ तो ये सारे मैं actions perform कर रहा हूँ तो ये जो मेरा mind है ये actual में क्या generate कर रहा है commands generate कर रहा है, मेरे हाथों को क्या कह रहा है कि command दे रहा है कि आपने इस तरीके से move करना है synchronized way से काम कर रही है मतलब timing भी यहाँ पे matter कर रही है action के आप perform कर रहे है वो भी matter कर रहा है तो यह सारी चीज़ें जो है वो क्या है एक तरह से command है जो पूरे का पूरे microprocessor जो है वो action में use करता है ताकि कोई भी particular task को execute कर सके और यहाँ पे अगर हम बात करें 8085 में हमारे पास जो instruction है वो one word की भी हो सकती है जिसको आप one byte भी बोल सकते हो तो by default एक word जो है वो एक बाइट का होता है मत 8 bit का बोल सकते हो ठीक है तो यहाँ पर 1 byte instruction, 2 byte and 3 byte instruction जो है वो 8085 में होती ह�� जिसको आप यह कह सकते हो कि 1 byte मतलब 8 bit की instruction है यहाँ पर 16 bit की हो गई और यहाँ पर आपकी होगी 24 bit की तो इस तरीके से ही आप इसको mention कर सकते हो तो यहाँ पर अगर हम बात करें सबसे पहले किस तरीके से पूरी कहानी जो है वो वर्थ करती है कौन सी 1 bit है, कौन सी 2 bit है, कौन सी 3 तो यह सबसे पहले आप देखो यहाँ पर एक simple से example में दिया हुआ है MBI A 1A तो यहाँ पे कर क्या रहे हैं हम move कर रहे हैं immediately 1A का data जो है वो हम accumulator के अंदर डाल रहे हैं तो देखो instruction में हमारे पास generally होता क्या है एक है हमारे पास up code और दूसरी चीज़े हमारे पास क्या है operate आपकोड का मतलब क्या है कि अक्छल में मुझे करना क्या है टास्क क्या परफॉर्म करना है और ओपरेन मतलब किस पे परफॉर्म करना है किस डेटा पे उसको परफॉर्म करना है तो ये में कहानी होते है तो यहाँ पे अगर हम देखा है तो MBI A,1A तो य तो यह पूरी यह क्या होगी इंस्ट्रक्शन होगी अब इसका साइज अगर हमें निकाल है तो इसके लिए सबसे पहले देखो हमें पता है कि जो हमारी मेमरी है यहां यहाँ पे 16 bit हम लोग address bus को use करते हैं 8085 में मतलब 2 raise to power 16 references हो गए total अब 2 raise to power 16 आप कह सकते हैं इतने आपके blocks हैं और हर एक block जो है वो कितना है? 1 byte का every block is of a 1 byte तब ही यहाँ पे memory वो आपकी कितनी बनती है? 64 kilobyte की memory microprocessor बोलते हैं जहाँ पे 64 के क्या होगी?

locations होगी और b मतलब byte एक location one byte की तो इसको आप कैसे mention कर सकते हो अगर मैं 16 bit का address देना चाहूँ तो यहाँ पे सबसे पहला address एक तरह से क्या हो गया 0 मतलब 16 time आप 0 लिख दो या फिर आप क्या लिखो hexadecimal में लिख दो मतलब ये 0 एक तरह से क्या है 4 time 0 ये भी 0 4 time 0 ये भी 4 time मतलब इसको आप इस तरीके से hexadecimal में represent कर सकते हो तो अगर मेरा पहला 0 हो गया तो last obviously क्या होगा F, F and F मतलब F एक क्या होता है? 1, 1 तो यानि 16 times 1 होगे तो इतनी मेरे पास ही यहाँ पे locations है and every location is of a 1 byte तो यहाँ पे मैं हर एक location में 8 bit जो है वो store कर सकता हूँ तो अब देखो main कहानी आपकी start होगी तो मेरी जो पहली instruction क्या थी? M, D, I, A, 1, A तो यहाँ पे अगर मुझे इस instruction को store करना है तो मेरे को पता है जिस जगह पे मुझे store करना है उसका size तो 1 byte है तो क्या यह पूरी instruction जो है वो 1 byte की है अगर यह 1 byte की है तो मैं उठाओ और यहाँ पे गुजा दू लेकिन अगर यह 1 byte की नहीं है उससे ज़्यादा है तो फिर तो भाईया इसको directly नहीं डाला सकता MBIA इसका मतलब actual में क्या है कि हम लोगों ने move करना है data को accumulator के अंदर और यहाँ पे जो हमारा 8085 है आपको पता है कि यह 8-bit microprocessor है तो यहाँ पे 2 raise to power 8 मिलाब 256 instructions जो हैं वो generate हो सकती है इतने upcodes generate हो सकते है लेकिन Intel वालों ने जब इसको बनाया था तो 246 instructions जो हैं वो इन्होंने create की थी और हर एक को एक number दिया हर एक को क्या दिया एक number दिया ताकि मैं अगर MVIA करना चाहता हूँ immediately accumulator के अंदर तो इसको जो है वो एक hexadecimal code दिया अब देखो मेरे पास 8 bit का है तो यह नहीं आप कह सकते हो 1, 2, 3, 4, 5, 6, 7, 8 से लेके 1, 2, 3, 4, 5, 6, 7 मतलब 00 से लेके 11 के बीच में कोई भी number जो है वो हो सकता है तो वो मेरा जो MBA A है उसके लिए इन्होंने क्या दिया उसके लिए इन्होंने numbering दिया यहाँ पे 3E मतलब ये fixed है this instruction is fixed तो यहाँ पे 3E मतलब ये जो instruction है इसको इन्होंने क्या size दिया 3 तो ये जो instruction है 0011 और E का मतलब आपको पता क्या होता है 1110 तो यानि ये वेला मेरा total कितनी bit का बन गया 8 bit का बन गया यानि 1 byte का बन गया तो यानि आप MVIA वाली जो है इसको आप यहाँ पे let's suppose आप कहीं से भी start कर रहे हो प्रोग्राम को store करना let's suppose मैं यहाँ पे 1000 address से start कर रहा हूँ 1000 hexadecimal address से तो यहाँ पे आप MVIA वाली जो है वो इस जगा पे डाल दो क्योंकि 1 byte की हो गई है यह वाली सारी जो है वो वन बाइट के और इसका fix है इसकी numbering जो है इसकी coding जो है वो fix है इसका code 3 इसका fix है ठीक है अब यहाँ पे दूसरा क्या गया वन A मतलब ये क्या है data operand है अब ये जो data है वन A इसको आप कैसे लिखोगे ये भी hexadecimal में है सारी चीज़े है hexadecimal में represent करते है तो वन क्या होता है ये होता है और A क्या होता है 1010 ये तो आपको पता ही है अब ये भी कितनी bit का हो गया 8 bit का, यानि 1 byte का, तो यानि इसको और इसको हम इकठा तो नहीं डाल सकते, यह तो 2 byte की information होगी, एक byte यह हो गया, और एक byte यह, तो इसको हम बोलेंगे 2 byte की instruction, तो 2 byte को कैसे store करेंगे, एक byte MVIA इधर कर दिया, और जो मेरा 1A था, वो मैंने next location में, next byte location में store कर दिया, बस यह है actual में काहनी, यह मुद्धा अगर आपको समझ आ गया, तो उसके बाद तो कुछ में नहीं है, उसके बाद तो आपको same concept ही apply करना है, अब आगी MBI-B, मतलब 46 value जो है, exact decimal value 46 को B वाले register में डालो, पहले एक emulator में डाल ले थे, अब B register में डाल ले, ठीक है, अब MBI-B जो है, MBI-B आपका 06 coding इन्होंने दे दी, मतलब जब Intel वालों ने 8085 बनाया, तो उन्होंने ये वाली instruction को एक code दे दी, एक number दे दी, क्योंकि MBI-B तो actual में assembly language है, तो machine जो है वो तो 0101 समझता है तो machine को क्या पता MVIB उसको क्या लेने ता है M क्या है V क्या है वो तो 0 और 1 में समझता है तो इलो ने क्या किया MVIB को एक coding दे दी 06 जैसे इसको दी थी 3E इसको 06 अब 06 क्या है 0000 और 6 क्या होता है 0110 यानि एक बाइट की information हो गई एक बाइट ही हमें भरना होता है तो एक बाइट की information मैं यहाँ पे MVIB को भर देता हूँ तो यह 1002 next अब 46 ये भी क्या है?

hexadecimal value है अब इसको भी आप खोलोगे क्या लिखोगे? 0, 1, 0 और 6 क्या होता है? आपको पता है 0, 1 मतलब ये भी क्या होगे आपका? 1 byte की information होगी तो इसको आप next location में store कर दो तो 46 आपने next location में store कर दो क्योंकि every location can have only 1 byte उसके बाद आ गया add b तो इसको अभी कह सकते हो 2 byte की instruction है ये भी 2 byte की है अब next आगी add b बी की value, जो बी register में data पड़ा, उसको accumulator में add कर दो, accumulator में जो data पड़ा और बी में जो data पड़ा, दोनों को क्या कर दो, add कर दो और accumulator में store कर दो, तो यह जो add भी है, इसके लिए भी उन्होंने क्या दे दी, value 80, hexadecimal, मतलब इसकी भी coding fix कर दी, जब भी add 0 आए, तो यानि Microsoft सम� और 0 आपको पता है, यह 0, तो यह भी क्या होगी, 1 बाइट की information, अब यह 1 बाइट है, इसके साथ और कुछ भी नहीं है, तो 1 बाइट की है, इसको पूरे को उठाओ, और add b को यहां डाल दो, क्योंकि यह तो 1 बाइट की है, तो 1 बाइट की आपकी 80 वाली जो है वो location, यह वाली आपकी 1004 location में डल गई, खतम, अब यह 1 बाइट की आपकी instruction है, STA, यह क्या है, Store, Store करना आपको जो accumulator में rate है, आपने 2 values को add कर दिया, एक्यूमिलेटर में डाटा आ गया, लेकिन उस डाटा को आपको मेमरी में स्टोर करना है, मेमरी में किसी लोकेशन पर, let's suppose लोकेशन है, 2500H, यह भी क्या है, hexadecimal है, तो STA, STA actual में क्या है, उसके लिए इन्होंने coding दे दी 32, microprocessor में coding दे दी 32, तो 32 का मतलब क्या हो गया, फिर वही, 0011, और 2 आपको बता है 0010, तो यानि 1 byte की information, तो लो जी, स्टी तो आपका यहाँ पे store हो गया यह तो एक बाइट की information यहाँ पे store हो गई और उसके बाद आपके पास क्या है location 2500 2500 का मतलब क्या है यह 16 bit की information है यह memory के address है और memory में आपको पता है हर एक address यहाँ पे every address is of 16 bit तो अगर आप इसको open भी करोगे 2 आपको पता है 0010 5 आपको पता है 00 यह आपका 16 bit का बड़ा code है तो 16 bit information यहाँ तो डाल नहीं सकते, यहाँ तो 8 bit डाल सकते हो, तो यानि आप क्या करोगे, 25 को अलग, और 00 को अलग, मतलब यह आपका जो 2500 है, इसमें यह जो है, एक तरह से upper byte है, 4 bit यह, टोटल क्या हो गया, 8 हो गया, तो यह upper byte आप कह सकते हो, और यह 448, यह आपका lower byte है, तो आप क्या करते हो, सबसे पहले जो lower byte है, वो आपने यहाँ पे डाल दिया है, मतलब 00 जो है, वो आपने यह इस address पे डाल दिया है, और जो 25 है वो आपने इस address पे डाल दिया तो ये actual में कहानी है अब देखो जी STA 2500 को store करने के लिए आपने कितने memory location लिये 3 तो यानि ये 3 byte की instruction है add के लिए 1 block लिया 1 byte की move वाली 2-2 block लिये तो यानि ये 2 byte की last में आगी जी आपकी halt halt जो है वो आपकी HLT जो है वो यहाँ पे 1008 इस तरीके से आपकी store जाए वन बाइट की information है, इसके लिए code उन्होंने Intel वालों दिया 7-6, ठीक है, तो जब भी इस तरीके से coding आती है, तो आप इसको easily, मतलब आपको यह रटने की जूरत नहीं है, यह तो just आपको example के तौर पर बताया, main कानी है कि instruction क्या होती है, अलग-लग size की instruction कैसे हम लोग जो हैं, व