En informática, un código de operación u opcode (acrónimo inglés de operation code) es la porción de una instrucción de lenguaje de máquina que especifica la operación a ser realizada. Su especificación y formato serán determinados por la arquitectura del conjunto de instrucciones (ISA) del componente de hardware de computador - normalmente un CPU, pero posiblemente una unidad más especializada.

Una instrucción completa de lenguaje de máquina contiene un opcode y, opcionalmente, la especificación de uno o más operandos - sobre los que la operación debe actuar. Algunas operaciones tienen operandos implícitos, o de hecho ninguno. Algunas ISAs tiene instrucciones con campos definidos para los opcodes y operandos, mientras que otras (ej. la arquitectura Intel x86) tienen una estructura más complicada y de propósito específico. Los operandos sobre los cuales los opcodes aplican pueden, dependiendo de la arquitectura del CPU, consistir en registros, valores en memoria, valores almacenados en la pila, puertos de I/O, bus, etc. Las operaciones que un opcode puede especificar pueden incluir aritmética, copia de datos, operaciones lógicas, y control del programa.

Los opcodes también pueden encontrarse en los bytecodes interpretados por un interpretador de código de byte (o la máquina virtual, en un sentido de ese término). En estos, una arquitectura de conjunto de instrucciones es creada para ser interpretada por software en vez de un dispositivo de hardware. A menudo, los interpretadores de código de byte trabajan con tipos de datos y operaciones de más alto nivel, que el de un conjunto de instrucciones por hardware, pero son construidas a lo largo de líneas similares. Ejemplos de ello son la máquina virtual de Java (JVM) del lenguaje de programación Java, el código de byte usado en GNU Emacs para el código compilado de LISP, y muchos otros.

El lenguaje de máquina es tedioso y difícil para que los seres humanos lo programen directamente, de modo que, si no se desea la abstracción dada por un lenguaje de programación de alto nivel, se emplea un lenguaje ensamblador. Aquí, se usan instrucciones mnemónicas que corresponden a las especificaciones del opcode y el operando de las instrucciones de lenguaje de máquina generadas. Esto da un mayor nivel de legibilidad y comprensibilidad que al trabajar directamente con operaciones de lenguaje de máquina, a la vez que sigue dando un control preciso del lenguaje de máquina generado. Un programa llamado ensamblador transforma el lenguaje ensamblador en código de máquina.

Referencias

editar

📚 Artikel Terkait di Wikipedia

Sega RingWide

Yubipuru Hime Chen! 3 Medaru no Gunman Melty Blood Actress Again Current Code Operation G.H.O.S.T. Pengo / Pongoe Sangokushi Taisen HA / Samurai Wars / Warring

Zero

2018. Lelouch Lamperouge, apodado Zero, protagonista del animé Code Geass. Operation Z.E.R.O., una película de la serie animada de Cartoon Network Codename:

Vapor Trail: Hyper Offence Formation

Offense Formation, conocido en Japón como Kuuga – Operation Code Vapor Trail (空牙 – Operation Code Vapor Trail), o simplemente Vapor Trail, es un juego

Operación negra

Una Operación Negra (del inglés: Black Operation, o también Black Ops en plural) es una operación encubierta o clandestina llevada a cabo por una agencia

Operación Puente de Londres

La Operación Puente de Londres (en inglés: Operation London Bridge) fue el nombre en clave del operativo que se llevó a cabo tras el anuncio de la muerte

Cargador de programas

entrada.​​ Algunos malware usan su propio PE loader. Por ejemplo, la "Operation WizardOpium" usaba un exploit que después de lograr una lectura/escritura

ArmA: Armed Assault

de Operation Flashpoint. Armed Assault fue desarrollado por un equipo de 15 personas de BIS. BIS y Codemasters, distribuidores en su día de Operation Flashpoint

Gang Starr

del jazz rap. Lil 'Dap "I'm The Man" (Daily Operation, 1992) Jeru The Damaja "I'm The Man" (Daily Operation, 1992) Lil 'Dap "Speak Ya Clout" (Hard To Earn