# Opcode - Códigos de operación



## julian403 (May 21, 2012)

Para poder programar un microcontrolador se utilizan códigos memotécnicos que representan el código de operación que está en binario. Creo que decir que está en binario es algo que le encanta a los informáticos, pero viéndolo desde un punto de vista físico-eléctrico (que es el que me interesa), sería que tensión (V [volts] ó 0[volts]) tendría un pin del micro, de los pines que conforman esa entrada y que ese conjunto de pines de entrada con sus respectivas tensiones (alta y 0) codifican una instrucción. 

Si yo compro un microcontrolador, tengo en el datasheet la configuración de los pines, como realizar la programación, con que compilador. Pero ¿es posible conseguir los opcodes? Perdonen mi ignorancia, a lo que me refiero es ¿como saber la representación de una instrucción como MOV para el micro? 

saludos.


----------



## Chico3001 (May 21, 2012)

Claro que se pueden saber... la forma mas simple es consultando el manual tecnico del microcontrolador... normalmente hay una seccion dedicada a los nemonicos que utiliza y alli mismo aparece el equivalente en binario


----------



## Destiand (Ago 1, 2012)

Hola 
Cada comando Mov A-B como mov A hacia una direccion de memoria presentan un conjnto de numeros binarios que representan al comando mov.. como otros comando ahorita no tengo a mano los comando pero esos comandos los hicimos en el curso de DSP en la UNI PERU. Si aun estas pendiente del tema te podria ayudar. Bueno Saludos


----------



## julian403 (Ago 1, 2012)

me gustaria saber cuales serían los conjuntos de numeros binarios para cada comando


----------



## Chico3001 (Ago 1, 2012)

consulta el manual del procesador... alli vienen los equivalentes binarios....


----------



## chclau (Ago 2, 2012)

Por que te resulta tan importante saber los valores binarios de los opcodes?


----------



## Scooter (Ago 2, 2012)

Desde que no ensamblo a mano no tengo ni idea, ni me interesa, saber el código binario de las instrucciones.
Pero efectivamente están en el manual.


----------



## Chico3001 (Ago 2, 2012)

Algunas veces es interesante conocerlo para efectos didacticos... eso ya es a decision de cada quien... lo importante es que practicamente todos os fabricantes los publican en sus manuales....


----------



## chclau (Ago 2, 2012)

Conocer la estructura de una instruccion (para mi) tiene un cierto interes didactico para ver diferencias entre instrucciones que tienen un operador interno, o dos, o que apuntan a una direccion de memoria, etc. 

Pero supongamos que tenemos una instruccion JUMP, en la que parte de la instruccion es el opcode y parte es el offset. Los distintos tipos de JUMP son codificados con distintos valores de bits del opcode y para nosotros, que no tenemos ninguna informacion sobre la estructura interna del micro, esos valores son completamente arbitrarios y el conocer el valor especifico del opcode para cada tipo de JUMP, me parece, no agrega nada al conocimiento que poseemos sobre el micro.


----------



## Scooter (Ago 3, 2012)

chclau dijo:


> Conocer la estructura de una instruccion (para mi) tiene un cierto interes didactico para ver diferencias entre instrucciones que tienen un operador interno, o dos, o que apuntan a una direccion de memoria, etc.
> 
> Pero supongamos que tenemos una instruccion JUMP, en la que parte de la instruccion es el opcode y parte es el offset. Los distintos tipos de JUMP son codificados con distintos valores de bits del opcode y para nosotros, que no tenemos ninguna informacion sobre la estructura interna del micro, esos valores son completamente arbitrarios y el conocer el valor especifico del opcode para cada tipo de JUMP, me parece, no agrega nada al conocimiento que poseemos sobre el micro.



Eso si que me interesa, lo que me da igual es saber si sjmp es 3E o A1 como opcode


----------



## Meta (Ago 4, 2012)

Hola:

Aquí te explica algo en general.
http://es.wikipedia.org/wiki/Código_de_operación







http://www.micro-examples.com/public/microex-navig/doc/087-pic16-secret-opcode.html

Saludo.


----------

