Autor Tema: duda  (Leído 2192 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado el_Petrosky

  • PIC10
  • *
  • Mensajes: 1
duda
« en: 20 de Octubre de 2018, 01:21:52 »
 :5] cuando uno crea registros de proposito especifico generalmente se pueden crear desde la posicion 0x20 pero porque cuando se inicia un codigo generalmente es en la 5!!? no ndeberia empezar al menos en la 20 porque de ahi para abajo estan reservadas esas direcciones? gracias. :s

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:duda
« Respuesta #1 en: 20 de Octubre de 2018, 09:44:18 »
:5] cuando uno crea registros de proposito especifico generalmente se pueden crear desde la posicion 0x20 pero porque cuando se inicia un codigo generalmente es en la 5!!? no ndeberia empezar al menos en la 20 porque de ahi para abajo estan reservadas esas direcciones? gracias. :s

Me parece que hay una equivocacion... Primero por una mala practica si es lo que creo... Yo imagino que lo que vos te preguntas es el ejemplo que voy a escribir aca:

Código: ASM
  1. ORG 0x00
  2.    GOTO INICIO
  3.    ORG 0x04
  4.    GOTO INTERRUPCION
  5.  
  6.    ORG 0x05
  7. INICIO:
  8.     ; Aca mi codigo

Muchas veces veo eso, a veces incluso sin el 0x04 que es la interrupcion. Y te diria que es mala practica poner el 0x05, el ORG hace que las instrucciones que le siguen se ubiquen en la FLASH a partir de esa direccion. La FLASH es donde esta mi programa.

Citar
cuando uno crea registros de proposito especifico generalmente se pueden crear desde la posicion 0x20

Algunos PIC poseen otra direccion de comienzo de los registros para el usuario. PERO esta direccion es de otra memoria, es la RAM, una memoria distinta de la FLASH.

Espero que eso conteste a tu pregunta, sino podes mostrarme un ejemplo donde ocurre lo que me planteas y lo vemos.


 

anything