Movatterモバイル変換


[0]ホーム

URL:


Vés al contingut
Viquipèdial'Enciclopèdia Lliure
Cerca

NOP (codi)

De la Viquipèdia, l'enciclopèdia lliure

Eninformàtica, unNOP,no-op oNOOP (pronunciat "no op"; abreviatura deno operació) és una instrucció dellenguatge màquina i la seva mnemotècnica delllenguatge ensamblador, declaració dellenguatge de programació o ordre deprotocol informàtic que no fa res.[1]

Instruccions en llenguatge màquina

[modifica]

Algunsconjunts d'instruccions d'ordinador inclouen una instrucció el propòsit explícit de la qual és no canviar l'estat de cap delsregistres,senyals d'estat omemòria accessibles pel programador. Sovint es necessita un nombre ben definit decicles de rellotge per executar-se. En altres conjunts d'instruccions, no hi ha cap instrucció NOP explícita, però la mnemotècnica del llenguatge ensamblador NOP representa una instrucció que actua com a NOP; per exemple, a l'SPARC,sethi 0, %g0.

Un NOP no ha d'accedir a la memòria, ja que això podria provocar unerror de memòria ode pàgina.

Un NOP s'utilitza més habitualment amb finalitats de temporització, per forçarl'alineació de memòria, per prevenirperills, per ocupar unaranura de retard de branca, per anul·lar una instrucció existent, com ara un salt, com a objectiu d'unainstrucció d'execució o com a lloc- el titular per ser reemplaçat per instruccions actives més endavant en el desenvolupament del programa (o substituir les instruccions eliminades quan la reorganització seria problemàtica o requereix molt de temps). En alguns casos, un NOP pot tenir efectes secundaris menors; per exemple, a la sèrie de processadorsMotorola 68000, el codi operatiu NOP provoca una sincronització de lacanalització.[2]

A continuació es mostren exemples d'instruccions NOP per a algunes arquitectures de CPU:

Arquitectura

CPU

mnemonicBytesOpcodeNotes
Intelx86CPU famíliaNOP1; 1–9 for i686 and x86-640x90[3]0x90 descodifica a xchg eax, eax en tots els modes excepte en mode llarg, on el codi operatiu 0x90 encara no té cap efecte. Les codificacions més llargues es descriuen al manual d'Intel.
Intel8051 /MCS-51 famíliaNOP10x00
ARM A32NOP40x00000000Això significa andeq r0, r0, r0. La instrucció de muntatge nop probablement s'ampliarà a mov r0, r0 que està codificat 0xE1A00000 (arquitectura little-endian).[4]

Des del punt de vista del disseny de maquinari, les àrees no mapejades d'un autobús sovint estan dissenyades per retornar zeros; com que el comportament dela diapositiva NOP és sovint desitjable, dona un esbiaix a codificar-lo amb el codi d'operació de tots zeros.

Referències

[modifica]
  1. «What is no op (no operation)? | Definition from TechTarget» (en anglès). [Consulta: 13 novembre 2023].
  2. «Motorola 68000 Programmer's Reference Manual» (en anglès).
  3. «Intel 64 and IA-32 Architectures Software Developer's Manual: Instruction Set Reference A-Z». [Consulta: 1r març 2012].
  4. «4.8.4. NOP ARM pseudo-instruction» (en anglès). RealView Compilation Tools for BREW Assembler Guide.
Obtingut de «https://ca.wikipedia.org/w/index.php?title=NOP_(codi)&oldid=34830317»
Categoria:

[8]ページ先頭

©2009-2025 Movatter.jp