/*--------------------------------------------------------------------
 * FICHERO:  MemLeeCo.c
 * OBJETIVO: Definir la funcin Mem_LeeContador()
 * AUTOR:    Pedro Reina
 * FECHA:    J.13.7.1995
 *------------------------------------------------------------------*/

/*--------------------------------------------------------------------
 * Ficheros de cabecera
 *------------------------------------------------------------------*/

#include "Memoria.h"

/*--------------------------------------------------------------------
 * Definicin de funciones
 *------------------------------------------------------------------*/

/*--------------------------------------------------------------Olimpo
 * FUNCION:  Mem_LeeContador()
 * OBJETIVO: Dar el valor de una posicin de memoria como 
 *           contador
 * ENTRADAS: La posicin de memoria y el modo de almacenamiento
 * SALIDAS:  El valor
 * EJEMPLO:  Mem_LeeContador (Memoria+10, MEM_MOTOROLA)
 * ALGORITMO:
 *      Si el modo es el nativo del ordenador, se devuelve el valor natural
 *      Si no, se intercambian los dos octetos, se devuelve el valor
 *             natural y se vuelven a intercambiar.
 *------------------------------------------------------------------*/
contador Mem_LeeContador (Memoria, Modo)
memoria Memoria;
octeto  Modo;
  {
  contador Respuesta;
  
#ifdef OLIMPO_QL
  if ( Modo == MEM_MOTOROLA )
#endif
#ifdef OLIMPO_PC
  if ( Modo == MEM_INTEL )
#endif
    { Respuesta = * ((contador *)Memoria); }
    
  else
    {
    Mem_Intercambia (Memoria,Memoria+1);
    Respuesta = * ((contador *)Memoria);
    Mem_Intercambia (Memoria,Memoria+1);
    }
  
  return ( Respuesta );
  }