NOP

В информатике NOP или NOOP (сокращение от английского: «No OPeration») инструкция процессора на языке ассемблера, или команда протокола, которая предписывает ничего не делать.

NOP как машинная инструкция

Набор команд многих процессоров содержит инструкцию, цель которой состоит не в том, чтобы изменить состояние какого-либо регистра или ячейки памяти, а в том чтобы затратить определённое число тактов процессора. Для тех процессоров, в которых специальная инструкция отсутствует, NOP имитируется какой-то другой инструкцией с такими параметрами, что никакие действия не производятся (регистры и флаги не меняются). Например, в SPARC-процессорах в качестве NOP рекомендуется инструкция "sethi 0, %g0"). В архитектуре x86 команда NOP кодируется одним байтом 90h, в микропроцессоре Z80 — байтом 00h.

NOP’ы обычно используются:

  • для создания задержки на определённое время, например, в целях синхронизации с другими устройствами в компьютере. В частности: в микроконтроллерах AVR цифровые порты имеют очень высокое быстродействие, и между коммутацией выходных портов и считыванием входных рекомендуется установить NOP, чтобы схема успела стабилизироваться;
  • для заполнения памяти программ при выравнивании;
  • для предотвращения ошибок в аппаратной части процессора;
  • для передачи управления при конвейерной организации вычислительного процесса;
  • как заполнитель во время разработки программы;
  • как заполнитель удалённых инструкций, например, при взломе программ. То есть, проверка регистрационного номера и т.п. заменяется на код, который ничего не делает.

Инструкция для x86-совместимых процессоров (фирм Intel, AMD и др.):

  • Обозначение (мнемоника): NOP
  • Количество используемых тактов: 3 (однако следует помнить, что в современных процессорах количество тактов однозначно не определяется)
  • Размер: 1 Байт
  • Код машинной команды (опкод): 0x90

На самом деле, инструкция NOP для x86-процессоров эквивалентна XCHG EAX,EAX (или XCHG AX,AX в реальном режиме), которая имеет тот же опкод 0x90 и не производит никакого эффекта, за исключением следующих специальных случаев:

  • Сочетание "REP NOP" (0xF3 0x90) в процессорах, начиная с Xeon и Pentium 4, интерпретируется как команда PAUSE, сообщая процессору, что программа выполняет цикл ожидания изменения другими процессорами состояния ячейки памяти, что позволяет процессору оптимизировать работу с памятью и энергопотребление.

Дорожка NOP’ов

«Дорожка NOP’ов» или «трамплин NOP’ов» — известный хакерский приём, связанный с исполнением произвольного кода.

Наиболее распространённая причина исполнения произвольного кода — переполнение буфера. Впрочем, зачастую адрес, который запишется вместо точки возврата, известен лишь приблизительно. В таком случае создаётся такой код.

 
 nop
 nop
 ...
 nop
 nop
 ;тут вредоносный код

Перейдя на любой из NOP’ов, процессор в конце концов «скатится» на вредоносный участок.

«Длинные» варианты NOP

Cуществуют различные варианты байтовых наборов, при исполнении которых процессор ничего не делает — «длинные» аналоги команды NOP. Простейший двухбайтовый вариант NOP в 32-разрядной архитектуре x86 — команда XCHG AX,AX с машинным кодом 6690h. От обычной (однобайтовой) команды NOP отличается префиксом изменения разрядности операнда. Например, в среде Delphi для выравнивания размеров процедур и функций по границам двойного слова используются инструкции NOP (1 байт 90h), MOV EAX,EAX (2 байта 89C0h) или LEA EAX,[EAX+0] (3 байта 8D4000h). Другие «длинные» варианты команды NOP (они далеко не единственно возможные), начиная с длины 3 байта, приведены ниже:

  • 3 Байта — 0F1F00h,
  • 4 байта — 0F1F4000h,
  • 5 байт — 0F1F440000h,
  • 6 байт — 660F1F440000h,
  • 7 байт — 0F1F8000000000h,
  • 8 байт — 0F1F84000000000h,
  • 9 байт — 660F1F840000000000h,
  • 10 байт — 662E0F1F840000000000h,
  • 11 байт — 66662E0F1F840000000000h,
  • 12 байт — 6666662E0F1F840000000000h,
  • 13 байт — 666666662E0F1F840000000000h,
  • 14 байт — 66666666662E0F1F840000000000h,
  • 15 байт — 6666666666662E0F1F840000000000h.

В качестве примеров команды размером 4 байта, которая ничего не делает, можно также привести команду LEA SI,[SI] (машинный код 67668D34h) или команду MOVSX AX,AX (машинный код 660FBFC0h).

NOP в командах протокола

Скриншот программы Telnet клиента при проверке команд NOOP и NOP в одной из реализации SMTP-протокола.

Многие протоколы, например telnet, содержат NOP-команду, которую клиент может отправить, чтобы получить ответ от сервера без выполнения каких-либо других действий. Команда NOOP присутствует в следующих наиболее известных протоколах:

Возможные применения команде NOP:

  • Ответ на команду NOP может быть использован клиентом для определения доступности сервера по сети.
  • Сервер может быть запрограммирован автоматически отключаться, если клиент некоторое время не посылает данных. В таком случае периодически посылаемая команда NOP означает, что клиент ещё «жив» и соединение разрывать нельзя.

См. также

Read other articles:

OpakAsalNegara asalIndonesiaRincianBahan utamasingkong, garam, dsblbs Opak adalah penganan goreng, dibuat dari ubi kayu (singkong) yang digiling dan dibumbui, dibentuk bundar dan pipih, dijemur hingga kering.[1][2] Referensi ^ Opak singkong[1] ^ Nikmatnya Opak Singkong yang Perlu Kalian Coba[2]

 

Artikel bertopik bandar udara ini perlu dikembangkan agar dapat memenuhi kriteria sebagai entri Wikipedia.Bantulah untuk mengembangkan artikel ini. Jika tidak dikembangkan, artikel ini akan dihapus. Artikel ini tidak memiliki referensi atau sumber tepercaya sehingga isinya tidak bisa dipastikan. Tolong bantu perbaiki artikel ini dengan menambahkan referensi yang layak. Tulisan tanpa sumber dapat dipertanyakan dan dihapus sewaktu-waktu.Cari sumber: Bandar Udara Aru – beri...

 

PietrelcinaKomuneComune di PietrelcinaLokasi Pietrelcina di Provinsi BeneventoNegara ItaliaWilayah CampaniaProvinsiBenevento (BN)Luas[1] • Total28,25 km2 (10,91 sq mi)Ketinggian[2]350 m (1,150 ft)Populasi (2016)[3] • Total3.381 • Kepadatan120/km2 (310/sq mi)Zona waktuUTC+1 (CET) • Musim panas (DST)UTC+2 (CEST)Kode pos82020Kode area telepon0824Situs webhttp://www.comune.pietrelcina.b...

Mexican Roman Catholic prelate In this Spanish name, the first or paternal surname is Arizmendi and the second or maternal family name is Esquivel. His EminenceFelipe Arizmendi EsquivelCardinalBishop Emeritus of San Cristóbal de las CasasArizmendi in 2016ChurchRoman Catholic ChurchDioceseSan Cristóbal de Las CasasSeeSan Cristóbal de Las CasasAppointed31 March 2000Installed1 May 2000Term ended3 November 2017PredecessorSamuel Ruiz GarcíaSuccessorRodrigo Aguilar MartínezOther post(...

 

Gert-Jan TheunisseGert-Jan Theunisse en 2011InformationsNaissance 14 janvier 1963 (61 ans)OssNationalité néerlandaiseSpécialité GrimpeurÉquipes amateurs 1982-1983Amstel BierÉquipes professionnelles 1984-1986Panasonic-Raleigh1987-1989PDM-Ultima-Concorde1990Panasonic-Sportlife1991-1992TVM-Sanyo1993-1994TVM-Bison Kit01.1995-04.1995Collstrop-LystexÉquipes dirigées 2010MilramPrincipales victoires 1 classement annexe de grand tour Meilleur grimpeur du Tour de France 19891 étape dans l...

 

Iran's first/former supreme leader of Iran, who issued a 8-article command in 1982 Khomeini's 8-article command (Persian: فرمان هشت ماده‌ای خمینی), is an issued 8-article command by Iran's Supreme leader,[1][2][3][4] Seyyed Ruhollah Khomeini;[5][6][7] addressing to Judicial system of Iran and executive organizations of the country, on 15 December 1982—in order to make the laws based on Islam's orders.[8] Th...

UK professional association For the disease having similar initials (CIDP), see Chronic inflammatory demyelinating polyneuropathy. CIPDNative nameChartered Institute of Personnel and DevelopmentCompany typeChartered, Not for Profit, Royal CharterIndustryHuman Resources, L&D, Association and Awarding Body.PredecessorInstitute of Personnel and Development Founded1913HeadquartersWimbledon, London, England, UK, United KingdomNumber of locationsCIPD UK, Asia, Middle East, Parts of Europe....

 

2021 Toyota Tundra 225 Race details Race 9 of 22 of the 2021 NASCAR Camping World Truck Series Date May 22, 2021Official name Toyota Tundra 225Location Austin, Texas, Circuit of the AmericasCourse Permanent racing facility3.426 mi (5.513 km)Distance 41 laps, 140.507 mi (226.115 km)Scheduled Distance 41 laps, 140.507 mi (226.115 km)Average speed 70.790 miles per hour (113.925 km/h)Pole positionDriver Tyler Ankrum GMS RacingTime 2:43:591Most laps ledDriver Sheldon Creed GMS RacingLaps 19Wi...

 

ОбластьВидинская областьболг. Област Видин 43°48′ с. ш. 22°41′ в. д.HGЯO Страна  Болгария Входит в Северо-Западный регион Включает 11 общин Адм. центр Видин Областной управитель Албена Георгиева История и география Дата образования 8 января 1999 Площадь 3033 км² (21-е...

Belgian-based chocolaterie Godiva ChocolatierCompany typePrivate[1]IndustryConfectionery productionFounded1926FounderJoseph DrapsHeadquarters333 West 34th Street, New York City, U.S.Area servedWorldwideKey peopleSalman Amin, CEOProductsFood and Beverage (Chocolate and Coffee)ParentYıldız HoldingWebsitewww.godiva.com Godiva Chocolatier (/ɡəˈdaɪvə/; French pronunciation: [gɔdiva]) is a Belgian-based international chocolate maker[2][3][4] which is ...

 

Grupp 3-element kallas gruppen av grundämnen i periodiska systemet som omfattar följande ämnen: Skandium (Sc) Yttrium (Y) Lutetium (Lu) Lawrencium (Lr) v • rPeriodiska systemet 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18  1  H He  2  Li Be B C N O F Ne  3  Na Mg Al Si P S Cl Ar  4  K Ca Sc Ti V Cr Mn Fe Co Ni Cu Zn Ga Ge As Se Br Kr  5  Rb Sr Y Zr Nb Mo Tc Ru Rh Pd Ag Cd In Sn Sb Te I Xe  6  Cs Ba Lu Hf Ta W Re Os Ir ...

 

Alicatado, termine spagnolo che deriva dall'arabo al-qataa, ha il significato di rivestimento piastrellato geometrico per pavimenti, per pareti, per soffitti. I singoli elementi sono detti aliceres. Alicatado nella cappella di San Bartolomeo (Cordoba) Mosaico, Alhambra Indice 1 Descrizione e storia 2 Bibliografia 3 Altri progetti 4 Collegamenti esterni Descrizione e storia Non era consentito ai musulmani riprodurre figure umane e di animali, quindi la decorazione interna delle case e dei pala...

Ej att förväxla med Hässleby församling. Hässelby församlingFörsamling Hässelby Strands kyrkaLandSverigeKommunStockholms kommun[1]TrossamfundSvenska kyrkanStiftStockholms stiftBildad1 januari 1962 av del avSpånga-Kista församlingMedlemmar15 374 (40 %) (2019-12-31)[2]Folkmängd38 551 (2019-12-31)[2]Upphov tillHässelby distriktKarta Hässelby församlings läge i Stockholms län. Hässelby församlings läge i Stockholms län.Koordinat59°21′37″N 17°49′56�...

 

Specification for Javascript and other programming languages ECMAScriptParadigmMulti-paradigm: prototype-based, functional, imperativeDesigned byBrendan Eich, Ecma InternationalFirst appeared1997; 27 years ago (1997)Typing disciplineweak, dynamicWebsitewww.ecma-international.org/publications-and-standards/standards/ecma-262/Major implementationsJavaScript, ActionScript, JScript, QtScript, InScript, Google Apps ScriptInfluenced bySelf, HyperTalk, AWK, C, CoffeeScrip...

 

Franci chloride[1]Danh pháp IUPACFrancium chlorideTên khácFrancium(I) chlorideNhận dạngPubChem21290442Ảnh Jmol-3DảnhSMILES đầy đủ [Fr+].[Cl-] InChI đầy đủ 1S/ClH.Fr/h1H;/p-1 Thuộc tínhCông thức phân tửFrClKhối lượng mol258,45 g/molBề ngoàichất rắn màu trắngĐiểm nóng chảy 590 °C (863 K; 1.094 °F) Điểm sôi 1.275 °C (1.548 K; 2.327 °F) Độ hòa tan trong nướctanÁp suất h...

Cet article est une ébauche concernant une localité tchèque. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Roprachtice   Administration Pays Tchéquie Région Liberec District Semily Région historique Bohême Maire Mandat Zdeněk Petřina[1],[2] 2018-2022 Code postal 513 01 Indicatif téléphonique international +(420) Démographie Population 281 hab. (2021) Densité 24 hab./km2 Géographie ...

 

Pour les articles homonymes, voir Mobile et BFM. Mobile De haut en bas et de gauche à droite : Pincus Building, Old City Hall, Fort Condé, Barton Academy, Cathédrale de l'Immaculée-Conception de Mobile et panorama du centre-ville de Mobile depuis le fleuve Mobile. Administration Pays États-Unis État Alabama Comté Mobile Type de localité City Maire Mandat Sandy Stimpson 2017-2021 Code ZIP 36601-36613, 36615-36619, 36621-36622, 36625, 36628, 36630, 36633, 36640-36641, 36644, 33652...

 

Carte des alliés majeur non membre de l OTANÉtats-Unis Le reste de l'OTAN MNNA Ancien alliés majeurs non membres de l'OTAN (Afghanistan) ]] Un allié majeur non-membre de l'OTAN (en anglais : major non-NATO ally, MNNA) est un pays, proche allié des États-Unis, travaillant étroitement avec les forces armées de ce dernier pays mais qui n'est pas membres de l'OTAN, désigné comme tel par le gouvernement américain[1]. Histoire Prayut Chan-o-cha, commandant en chef de l'Armée royale...

Psychoanalytic concept of allocation of emotional energy This article is about the psychological term. For other uses, see Cathexis (disambiguation). Not to be confused with Catharsis. Part of a series of articles onPsychoanalysis Concepts Psychosexual development Psychosocial development (Erikson) Unconscious Preconscious Consciousness Psychic apparatus Id, ego and superego Ego defenses Projection Introjection Libido Drive Transference Countertransference Resistance Denial Dreamwork Cathexis...

 

Culpable conduct within a company that leads to a person's death The examples and perspective in this article may not represent a worldwide view of the subject. You may improve this article, discuss the issue on the talk page, or create a new article, as appropriate. (June 2018) (Learn how and when to remove this message) Criminal law Elements Actus reus Mens rea Causation Concurrence Scope of criminal liability Accessory Accomplice Complicity Corporate Principal Vicarious Severity of offense...