Diferencia entre revisiones de «Código de operación»

Contenido eliminado Contenido añadido
Sin resumen de edición
Sin resumen de edición
Línea 1:
En [[informática]], un '''opcode''' ('''Op'''eration '''Code''') o '''Código de Operación''', 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 unos o más [[operando]]s - 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 opno tengo ojoseranaplican pueden, dependiendo de la arquitectura del CPU, consistir de. [[Registro (hardware)|registros]], valores en [[Memoria primaria|memoria]], valores almacenados en el [[stack]], puertos de [[I/O]], [[bus]], etc. Las operaciones que un opcode puede especificar pueden incluir [[aritmética]], copia de datos, [[Álgebra de Boole|operaciones lógicas]], y control del programa.
 
Los opcodes también pueden ser encontrados en los [[bytecode]]s interpretados por un interpretador de código de byte (o la [[máquina virtual]], en un sentido de ese término). En éstos, 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 [[tipo de dato|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 incluyen la [[máquina virtual de Java]] (JVM) del [[lenguaje de programación]] [[Lenguaje de programación Java|Java]], el código de byte usado en [[GNU Emacs]] para el código [[compilador|compilado]] de [[LISP]], y muchos otros.