Errores en Simulacion - Codewarrior 6.3

De Wikitronica
Saltar a: navegación, buscar
  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

Contributors

CeMoron, Nsroger, Racuna