Errores en Simulacion - Codewarrior 6.3
Normal 0 21 false false false ES-PE X-NONE X-NONE MicrosoftInternetExplorer4 En el desarrollo de un programa, al momento de una depuración de un proyecto nos puede salir los siguientes mensajes de error:
Error Fuera de Rango
Si el Programa Principal es muy largo y se emplea el manejo de subrutinas a través del comando BRS (Branch Subrutine) y las mismas son colocadas al final del código del programa principal, se puede presentar el siguiente mensaje de error:
Error: Axxx: Value out of range -128...127
Esto es debido a que el comando BSR maneja un relativo, el cual permite realizar los saltos a una rutina deseada con un desplazamiento ubicado en el rango de 80 - 7F (-128 … 127), ya que el mismo puede realizar el Branch para arriba o abajo (Dependiendo el caso).
Soluciones
Se pueden establecer tres tipos de soluciones para este caso:
a. Si el Código principal es muy largo, se debe definir las subrutinas justo después de las llamadas con BSR, una vez realizada cada una de estas realizamos un BRA al código principal
Configuracion:
BSR Configurar_GPIO
BSR Configurar_RTC
BRS Configurar_TPM
BRS Configurar_IRQ
CLI
BRA main
Configurar_GPIO:
LDA #$3F
STA PTCDD
LDA #$C0
STA PTEDD
LDA #$3F
STA PTCD
LDA #$C0
STA PTED
RTS
BSR Configurar_RTC
.
.
.
RTS
BRS Configurar_TPM
.
.
.
RTS
BRS Configurar_IRQ
.
.
.
RTS
main:
MOV #10, Contador
MOV #1, Num1
MOV #2, Num2
Pantalla en blanco en el True-Time Simulator & Real-Timer Debugger
Modos de direccionamiento