В інформатиці NOP або NOOP (скорочення від англійського: «No OPeration») — інструкція процесора на мові асемблера, або команда протоколу, яка наказує нічого не робити.
NOP як машинна інструкція
Набір команд багатьох процесорів містить інструкцію, мета якої полягає не в тому, щоб змінити стан будь-якого регістра або комірки пам'яті, а в тому щоб затратити певну кількість тактів процесора. Для тих процесорів, в яких спеціальна інструкція відсутня, NOP імітується якоюсь іншою інструкцією з такими параметрами, що регістри і прапори не змінюються (наприклад в SPARC — процесорах як NOP рекомендується інструкція "sethi 0, %g0").
NOP'и зазвичай використовуються:
- для створення затримки на певний час, наприклад, в цілях синхронізації з іншими пристроями в комп'ютері. Зокрема: в мікроконтролерах AVR цифрові порти мають дуже високу швидкодію, і між комутацією вихідних портів і зчитуванням вхідних рекомендується встановити NOP, щоб схема встигла стабілізуватися;
- для заповнення пам'яті програм при вирівнюванні;
- для запобігання помилок в апаратній частині процесора;
- для передачі управління при конвеєрній організації обчислювального процесу;
- як заповнювач під час розробки програми;
- як заповнювач на місці видалених інструкцій, наприклад, при зломі програм (крякінг). Тобто код перевірки реєстраційного номера тощо замінюється на код, який нічого не робить.
Інструкція для Intel x86 сумісних процесорів
- Назва: NOP
- Кількість використовуваних тактів : 3
- Розмір: 1 Байт
- Код машинної команди: 0x90
Насправді, інструкція NOP для x86 — процесорів є XCHG EAX, EAX або XCHG AX, AX, яка має той же опкод 0x90, і не робить ніякого ефекту, за винятком таких спеціальних випадків :
- Поєднання "REP NOP" (0xF3 0x90) в процесорах, починаючи з Xeon і Pentium 4, інтерпретується як команда PAUSE, повідомляючи процесору, що програма виконує цикл очікування зміни іншими процесорами стану комірки пам'яті, що дозволяє процесору оптимізувати роботу з пам'яттю і енергоспоживання.
Див. також
Джерела
- Толковый словарь по вычислительным системам / Под ред. В. Иллингуорта и др. — М.: Машиностроение, 1989. 568 с. (рос.)
- NOP ARM pseudo-instruction [ 30 червня 2020 у Wayback Machine.](англ.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
V informatici NOP abo NOOP skorochennya vid anglijskogo No OPeration instrukciya procesora na movi asemblera abo komanda protokolu yaka nakazuye nichogo ne robiti NOP yak mashinna instrukciyaNabir komand bagatoh procesoriv mistit instrukciyu meta yakoyi polyagaye ne v tomu shob zminiti stan bud yakogo registra abo komirki pam yati a v tomu shob zatratiti pevnu kilkist taktiv procesora Dlya tih procesoriv v yakih specialna instrukciya vidsutnya NOP imituyetsya yakoyus inshoyu instrukciyeyu z takimi parametrami sho registri i prapori ne zminyuyutsya napriklad v SPARC procesorah yak NOP rekomenduyetsya instrukciya sethi 0 g0 NOP i zazvichaj vikoristovuyutsya dlya stvorennya zatrimki na pevnij chas napriklad v cilyah sinhronizaciyi z inshimi pristroyami v komp yuteri Zokrema v mikrokontrolerah AVR cifrovi porti mayut duzhe visoku shvidkodiyu i mizh komutaciyeyu vihidnih portiv i zchituvannyam vhidnih rekomenduyetsya vstanoviti NOP shob shema vstigla stabilizuvatisya dlya zapovnennya pam yati program pri virivnyuvanni dlya zapobigannya pomilok v aparatnij chastini procesora dlya peredachi upravlinnya pri konveyernij organizaciyi obchislyuvalnogo procesu yak zapovnyuvach pid chas rozrobki programi yak zapovnyuvach na misci vidalenih instrukcij napriklad pri zlomi program kryaking Tobto kod perevirki reyestracijnogo nomera tosho zaminyuyetsya na kod yakij nichogo ne robit Instrukciya dlya Intel x86 sumisnih procesorivNazva NOP Kilkist vikoristovuvanih taktiv 3 Rozmir 1 Bajt Kod mashinnoyi komandi 0x90 Naspravdi instrukciya NOP dlya x86 procesoriv ye XCHG EAX EAX abo XCHG AX AX yaka maye toj zhe opkod 0x90 i ne robit niyakogo efektu za vinyatkom takih specialnih vipadkiv Poyednannya REP NOP 0xF3 0x90 v procesorah pochinayuchi z Xeon i Pentium 4 interpretuyetsya yak komanda PAUSE povidomlyayuchi procesoru sho programa vikonuye cikl ochikuvannya zmini inshimi procesorami stanu komirki pam yati sho dozvolyaye procesoru optimizuvati robotu z pam yattyu i energospozhivannya Div takozhDzherelaTolkovyj slovar po vychislitelnym sistemam Pod red V Illinguorta i dr M Mashinostroenie 1989 568 s ros NOP ARM pseudo instruction 30 chervnya 2020 u Wayback Machine angl Cya stattya ye zagotovkoyu Vi mozhete dopomogti proyektu dorobivshi yiyi Ce povidomlennya varto zaminiti tochnishim