ensamblador saltos indexados y tablas

Upload: charlyy-torres

Post on 06-Jul-2018

262 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/18/2019 Ensamblador Saltos Indexados y Tablas

    1/16

    Saltos indexados y tablas

  • 8/18/2019 Ensamblador Saltos Indexados y Tablas

    2/16

    Salto indexado

    Es una técnica que permite resolverproblemas que puedan ser representadosmediante una tabla de verdad.

    Instrucción addwf PCL,F . La dirección desalto se consigue sumando al contador deprograma (PCL) un valor de

    desplazamiento almacenado en el registrode trabajo W

  • 8/18/2019 Ensamblador Saltos Indexados y Tablas

    3/16

    Salto indexado

    La dirección del salto se consiguesumando a un registro base (PCL) unvalor de desplazamiento almacenado en

    un registro índice que es el registro detrabajo W

    Al valor de desplazamiento se le

    denomina también offset

  • 8/18/2019 Ensamblador Saltos Indexados y Tablas

    4/16

    Salto indexado

    addwf Suma W con el registro f 

    addwf f,dSuma el contenido del registro W alcontenido del registro “f” y almacena elresultado en W si d=0 y en el registro “f”

    si d=1. Si se produce acarreo el flag C sepone a “1” 

  • 8/18/2019 Ensamblador Saltos Indexados y Tablas

    5/16

    Salto indexado

    addwf Suma W con el registro f 

    addwf Registro,0 ;(Registro)+(W)->W

    Antes instrucción:

    (W)=0x17, (Registro)=0xC2, y C=¿?

    Después instrucción:

    (W)=0xD9, (Registro)=0xC2, y C=0

  • 8/18/2019 Ensamblador Saltos Indexados y Tablas

    6/16

    Salto indexado

  • 8/18/2019 Ensamblador Saltos Indexados y Tablas

    7/16

    Salto indexado

  • 8/18/2019 Ensamblador Saltos Indexados y Tablas

    8/16

    Tablas

    Una tabla de datos en la memoria ROM deprograma es una lista de constantes queel programa puede recoger mediante la

    instrucción retlw

  • 8/18/2019 Ensamblador Saltos Indexados y Tablas

    9/16

    Tablas

    Instrucción retlw (Return with Literal inW)

    Funciona de forma similar que return,produce el retorno de una subrutina perocon un valor en el registro W

    Característica importante cuando sedesea acceder a tablas de datos en lamemoria de programa

  • 8/18/2019 Ensamblador Saltos Indexados y Tablas

    10/16

    Tablas

    retlw k

    donde “k” es el valor de la constante quese carga en el registro de trabajo W

  • 8/18/2019 Ensamblador Saltos Indexados y Tablas

    11/16

    Tablas

  • 8/18/2019 Ensamblador Saltos Indexados y Tablas

    12/16

    Tablas

  • 8/18/2019 Ensamblador Saltos Indexados y Tablas

    13/16

    Tablas

    La tabla está formada por una serie dedatos ordenados secuencialmente, de talforma que para leer uno de ellos se le

    suma el valor del registro W al contadorde programa mediante la instrucción delsalto indexado addwf PCL,Fposicionándolo en el valor requerido y

    extrayendo el dato de la tabla con lainstrucción retlw

  • 8/18/2019 Ensamblador Saltos Indexados y Tablas

    14/16

    Tablas

    Los valores de las constantes estángrabados y no se pueden alterar.

    La única manera de alterar una tablaROM es volver a grabar elmicrocontrolador.

    Las tablas de datos RAM contienenvariables almacenadas en los registros dela memoria de datos y si pueden alterarse

  • 8/18/2019 Ensamblador Saltos Indexados y Tablas

    15/16

    Tablas

    Directiva DT (Define Tabla)

    Sustituye el empleo repetitivo de muchasinstrucciones retlw

    DT[, ,…, ]

    Esta directiva genera durante la fase de

    ensamblado instrucciones retlw, una instrucciónpor cada

  • 8/18/2019 Ensamblador Saltos Indexados y Tablas

    16/16

    Tablas