কিছু এনওপি কোড অন্যের চেয়ে আলাদা আচরণ করা হয়?


12

আমি এটি সম্পর্কে কৌতূহল বোধ করি, আমার বলি:

00000000001 90                              nop        
00000000002 90                              nop        
00000000003 90                              nop 

এটি কি ঠিক একইভাবে মৃত্যুদন্ড কার্যকর করা হয়?

00000000001 0F1F00                          nop        dword [ds:rax]

প্রথম উদাহরণটির বিপরীতে দ্বিতীয় উদাহরণটি কী প্রভাব ফেলবে?


1
আমি ভাবতে আগ্রহী যে দ্বিতীয়টি প্রথমটির চেয়ে দ্রুত সঞ্চালন করবে এটি 3 এর পরিবর্তে একটি নির্দেশের কারণ এটি আধুনিক পাইপলাইং যদিও এটি পরিবর্তন করতে পারে possible
লরেইন পেচটেল

1
এই ট্যাগ কেন ?
কিথ থমসন

গুগলের জন্য multi byte nop, বেশ কয়েকটি ফলাফল প্রকাশ করে।
ফ্যান্ট0 মি

1
@ কিথথম্পসন - আমি সি এবং কোডিং-স্টাইল ট্যাগগুলি টানলাম; তারা অন্তর্ভুক্ত ছিল না।

@ ফ্যান্ট0 মি - আপনি কি এই মন্তব্যটিকে একটি উত্তরে রেখে আরও কিছু প্রাসঙ্গিক ফলাফলের সংক্ষিপ্তসার করবেন? সেই অনুসন্ধান কোয়েরি থেকে কী ফিরে আসবে তা সঠিকভাবে বুঝতে আমাদের সবার পটভূমি নেই।

উত্তর:


2

এটি মেশিন আর্কিটেকচারের উপর নির্ভর করে। ক্লাসিক কেএ-10 (পিডিপি -10) এর প্রচুর নোপ কোড ছিল, সম্ভবত এটির নিয়মিত নির্দেশিকাঠামো সেট ছিল এবং সত্য যে এটি মাইক্রোকোড দ্বারা নয়, ডেসক্রিট উপাদান দ্বারা প্রয়োগ করা হয়েছিল। কিছু এনওপি মেমরিকে রেফারেন্স দেয়, কিছু টেস্টগুলি এড়িয়ে যায় যা কখনই এড়ানো যায় না, তবে তবুও শর্তটি পরীক্ষা করেছিল যা সম্ভবত এড়িয়ে যেতে পারে and "জেএফসিএল 0," ম্যানুয়ালটিতে দ্রুততম নপ হিসাবে বিজ্ঞাপন দেওয়া হয়েছিল।


আমি একবার (8085?) এসেম্বলারের উপর কাজ করেছিলাম যে একবারে একক জেএমপি নির্দেশাবলী সহ একাধিক এনওপি প্রতিস্থাপনের বিকল্পটি দেয়। পারফরম্যান্স পেনাল্টি প্রদান করে আপনি ডাব্লু / ও চেয়েছিলেন এমন প্রান্তিককরণটি পেয়েছেন। পিআইসি-তে আপনার স্ট্রিং থাকাকালীন সহজ, আপনার যদি সিপিইউ-ভিত্তিক টাইমিং লুপ থাকে (তবে এটি ডিফল্টরূপে বন্ধ ছিল) hand
টিএমএন

বেশিরভাগ সময় এনওপি নির্দেশটি একটি সংক্ষিপ্ত বিলম্ব সন্নিবেশ করানোর জন্য ব্যবহৃত হয়, সাধারণত কিছু হার্ডওয়্যার নির্ভরতা বা ডিভাইস ত্রুটিযুক্ত কাজ প্রায়শই কাজ করে। পারফরম্যান্স পেনাল্টি হ'ল এনওপি ব্যবহারের কারণ।
uɐɪ

1
নোপগুলিতে প্রচুর এশোটেরিক ব্যবহার রয়েছে। কিছু আর্কিটেকচারের জাম্পগুলির জন্য বাইট-প্রান্তিককরণের প্রয়োজনীয়তা রয়েছে। স্ব-সংশোধনকারী কোড (ভয়াবহতা) স্প্লাইস পয়েন্ট হিসাবে nops ব্যবহৃত। বাগ সিস্টেমগুলি ব্যর্থ প্রতিবেদনের তথ্য সংরক্ষণের জন্য নপ ব্যবহার করে।
ddyer

@ ডিডিয়ার: কিছু প্রসেসরের নির্দেশাবলী রয়েছে (কখনও কখনও নথিভুক্ত, কখনও কখনও না) যা মেমরি বাইট আনবে এবং হয় আনার মানটিকে পুরোপুরি উপেক্ষা করবে, বা সেট ফ্ল্যাগ ব্যতীত কিছুই করবে না যা প্রোগ্রামার যত্ন নিতে পারে না। 6502-তে, "বিআইটি অ্যাবস" নির্দেশনাটি পরবর্তী দুটি বাইট গবল করার উপায় হিসাবে ব্যবহার করা বেশ সাধারণ বিষয় ছিল; এছাড়াও কিছু অননুমোদিত অপকড রয়েছে যা কোনও পতাকা আপডেট না করে ব্যতীত একই রকম আচরণ করে। এই জাতীয় কৌশলগুলি সহ একটি সতর্কতা, যদিও: তারা ঠিকানার জায়গার বাইট পড়বে। কিছু 6502 পেরিফেরালগুলি অপারেশন পড়তে প্রতিক্রিয়া জানাতে পারে।
সুপারক্যাট

0

এটি প্রদর্শিত হয় যে দ্বিতীয় উদাহরণটি প্রথমের চেয়ে দ্রুত চালানো উচিত। প্রথম উদাহরণে, পৃথক তিনটি নির্দেশ কার্যকর করা হবে। দ্বিতীয়টিতে, কেবল একটি নির্দেশ। মাল্টি-বাইট এনওপিগুলি সিপিইউ "ইঙ্গিতগুলি" (ঠিক কীভাবে এবং কখন দৃশ্যত গোপনীয় হয় ) এর জন্য ব্যবহার করার উদ্দেশ্যে । এগুলি প্রান্তিককরণের উদ্দেশ্যে (ক্যাশে লাইনে একটি টান লুপ শুরু করার জন্য) দরকারী হতে পারে তবে বর্তমানে তাদের অন্য কোনও ব্যবহার নেই। এটি স্পষ্ট নয় যে সিপিইউ আসলে আর্গুমেন্টগুলি মূল্যায়ন করে কিনা তাই এটি নির্দেশের ডিকোডিংয়ের সময় বাড়িয়ে দেয় বা মেমোরি অ্যাক্সেস জরিমানা যুক্ত করে কিনা তা বলা সম্ভব নয় not ভাল আইসিসি সহ যে কেউ এইগুলির মধ্যে একটি পরীক্ষা করতে চান এবং কোন ঠিকানাগুলি বাসের সন্ধানে পপ আপ করতে চান?


যদিও অনেক 6502 এসেম্বলবার মেমোরি আনার জন্য অননুমোদিত অপকোডগুলির জন্য স্মৃতিচারণমূলক "এনওপি" ব্যবহার করেন (যেমন এনওপি F 1FF9) একটি দ্বি-বাইট নির্দেশিকা যা ঠিকানা 0x1FF9 পড়ে এবং মানটি উপেক্ষা করে), আমি চিপ প্রস্তুতকারকের কাছে আশা করবো না এমন নির্দেশের জন্য "নোপ" শব্দটি ব্যবহার করুন যা প্রোগ্রামের কাউন্টার / নির্দেশ নির্দেশকের অগ্রিমের বাইরে কিছু করে থাকে কারণ কোনও প্রসেসরকে হার্ডওয়্যারে আটকানো হবে না এমন কোনও গ্যারান্টি নেই (উদাহরণস্বরূপ কোড ব্যাঙ্ক 1 এ স্যুইচ করা) যখন নির্দিষ্ট ঠিকানা (যেমন 0x1FF9 ) অ্যাক্সেস করা হয় এবং এ জাতীয় ট্রিগার হুবহু "অপারেশন" হয় না ,.
সুপারক্যাট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.