TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: Fainx en 06 de Noviembre de 2009, 13:52:47
-
Saludos a todos los del foro, aqui denuevo estoy queriendo sacarme dudas, en este caso el funcionamiento del pcl. uso un pic P16F628A mi pregunta es con respecto al program counter supongamos k tengo la siguiente instruccion
PCL numero de instruccion
1 org 5
2 movlw 0x0f
3 addwf 0x0e
a lo que quiero llegar se que el program counter guarda el numero de instruccion proxima a ejecutar pero si antes de mi programa yo pongo org 5 quiere decir que para el program counter su proxima instruccion a ejecutar es la 6? o al poner org 5 solo indico que empiezo de la posicion 5 de memoria y el program counter tendra como valor instruccion 1 a su primera instruccion en el programa. Espero que se entienda.
Saludos.
-
Haber cuando vos hagas por ejemplo:
Org 0x00
goto Inicio
org 0x05
Inicio
movlw 0x0f..
Al iniciarse PC comienza en 0, pero en 0x00 se indica que se debe ir a la etiqueta inicio, osea que al ejecutar goto Inicio PC se carga con 5.
Saludos!
-
Haber cuando vos hagas por ejemplo:
Org 0x00
goto Inicio
org 0x05
Inicio
movlw 0x0f..
Al iniciarse PC comienza en 0, pero en 0x00 se indica que se debe ir a la etiqueta inicio, osea que al ejecutar goto Inicio PC se carga con 5.
Saludos!
Gracias por la respuesta entiendo lo que quieres explicarme pero mi pregunta va a no declarar el org 0x00 si no que el programa empieza directamente como
org 5.
1. org 0x05
2. Inicio
3. movlw 0x0f..
-
Pero es lo que explique, no carga 0x06, sino 0x05.
Saludos!
-
Fainx, es tal como te lo explicó Suky.
Recuerda que, ORG no es una instrucción sino una directiva para el MPASM
Si a tu ejemplo lo escribimos tal como irá al PIC, te quedará así:
0x00 goto inicio
0x01
0x02
0x03
0x04
0x05 inicio movlw 0x0f
-
.
No se puede iniciar el programa con otra directiva que no sea ORG 0X00, porque es desde ahí desde donde el PIC comienza a leer el programa. Si empiezas tu código con ORG 0X05, dejás vacío el registro 0x00 de la memoria de programa. No vacío en realidad; alguna instrucción va a quedar almacenada ahí, y es la que el PIC ejecutará primero.