Annotation of ADD_ver_10/Source Code/Header Files/defines.h, revision 1.2

1.2     ! rico        1: /********************************************************************/
        !             2: /*  defines.h                                                       */
        !             3: /*                                                                  */
        !             4: /*                                                                  */
        !             5: /*  Copyright (c) 1997-2006 Rafael Rico      (rafael.rico@uah.es)   */
        !             6: /*                                                                  */
        !             7: /*  Este fichero forma parte de ADD                                 */
        !             8: /*  (Analizador de Dependencias de Datos)                           */
        !             9: /*  Version 5.10.                                                   */
        !            10: /*                                                                  */
        !            11: /*                                                                  */
        !            12: /*  ADD es software libre. Puede redistribuirlo y/o modificarlo     */
        !            13: /*  bajo los términos de la Licencia Pública General de GNU         */
        !            14: /*  según es publicada por la Free Software Foundation, bien bajo   */
        !            15: /*  la versión 2 de dicha Licencia o bien (según su elección)       */
        !            16: /*  bajo cualquier versión posterior.                               */
        !            17: /*                                                                  */
        !            18: /*  ADD se distribuye con la esperanza de que sea útil,             */
        !            19: /*  pero SIN NINGUNA GARANTÍA, incluso sin la garantía MERCANTIL    */
        !            20: /*  implícita y sin garantizar la CONVENIENCIA PARA UN PROPÓSITO    */
        !            21: /*  PARTICULAR. Véase la Licencia Pública General de GNU para       */
        !            22: /*  más detalles.                                                   */
        !            23: /*                                                                  */
        !            24: /*  Debería haber recibido una copia de la Licencia Pública General */
        !            25: /*  junto con ADD. Si no ha sido así, escriba a la Free Software    */
        !            26: /*  Foundation, Inc., 51 Franklin St, Fifth Floor,                  */
        !            27: /*  Boston, MA  02110-1301  EEUU.                                   */
        !            28: /*                                                                  */
        !            29: /*  -------------------------- Historia --------------------------- */
        !            30: /*                                                                  */
        !            31: /*  $Id$                                                            */
        !            32: /*                                                                  */
        !            33: /*  Revisión 1.2. 01/2006                                           */
        !            34: /*  Se añade la licencia GPL y documentación en estilo Javadoc      */
        !            35: /*                                                                  */
        !            36: /*  Revisión 1.1. 09/2005                                           */
        !            37: /*  Versión inicial                                                 */
        !            38: /*                                                                  */
        !            39: /********************************************************************/
        !            40: 
1.1       rico       41: /*****************************************************************************/
                     42: /* MÓDULO: defines.h                                                         */
                     43: /*                                                                           */
                     44: /* Módulo con definiciones de constantes.                                    */
                     45: /*****************************************************************************/
                     46: /* Fecha: 29 de septiembre de 2005                                           */
                     47: /*****************************************************************************/
                     48: 
                     49: #define MAX_LINE 128
                     50: 
                     51: #define NO 0
                     52: #define SI 1
                     53: 
                     54: /* CONFIGURACIÓN */
                     55: #define TRAZA 0
                     56: #define SECUENCIA 1
                     57: #define CADENAHEX 2
                     58: 
                     59: /* SALVAR CONFIGURACIÓN */
                     60: #define CFG 2
                     61: 
                     62: /* BYTES POR INSTRUCCIÓN EN LA TRAZA */
                     63: #define BYTES_POR_INSTRUCCION 6
                     64: 
                     65: #define MAX_VENTANA 2048
                     66: 
                     67: /* NOTIFICACIONES */
                     68: #define ECO_NO 0
                     69: #define ECO_SI 1
                     70: 
                     71: #define ERROR_SALIR 0
                     72: #define ERROR_SEGUIR 1
                     73: #define NO_ERROR 2
                     74: 
                     75: #define ALL 0
                     76: #define EX_CFG 1
                     77: #define ERRORS 2
                     78: 
                     79: /* MÁXIMOS TAMAÑOS EN DEFINICIÓN DE TIPOS */
                     80: #define MAX_NEMO 15
                     81: #define MAX_OPE 12
                     82: #define MAX_LISTA 50
                     83: #define MAX_UBI 10
                     84: #define MAX_DEPEN 6
                     85: #define MAX_HEX 15
                     86: 
                     87: /* BASES DE DATOS */
                     88: #define TABLA_NEMONICOS 100
                     89: #define TABLA_SIMBOLOS 200
                     90: #define TABLA_CICLOS 300
                     91: #define TABLA_UBICACIONES 400
                     92: #define CAMPO_NEMONICO 101
                     93: #define CAMPO_SIMBOLO 201
                     94: #define CAMPO_IDENTIFICADOR 301
                     95: #define CAMPO_NOMBRE 401
                     96: 
                     97: /* TIPO DE INSTRUCCIÓN (Fichero IA16-nemos.isa) */
                     98: #define TRANSFERENCIA 0
                     99: #define ARITMETICA 1
                    100: #define LOGICA 2
                    101: #define SALTO_INCONDICIONAL 3
                    102: #define SALTO_CONDICIONAL 4
                    103: #define PREFIJO 5
                    104: #define PREFIJO_SEG 6
                    105: #define CADENAS 7
                    106: #define CONTROL 8
                    107: #define SIN_TIPO 100
                    108: 
                    109: /* MODO DEL OPERANDO (Fichero IA16-nemos.isa) */
                    110: #define LEIDO 0
                    111: #define ESCRITO 1
                    112: #define LEIDOYESCRITO 2
                    113: #define NO_EXISTE 3
                    114: 
                    115: /* SEGMENTO POR DEFECTO (Fichero IA16-ubis.isa) */
                    116: #define NO_SEG 0
                    117: #define CS 1
                    118: #define SS 2
                    119: #define DS 3
                    120: #define ES 4
                    121: 
                    122: /* FUNCIÓN DE LA UBICACIÓN (Fichero IA16-ubis.isa) */
                    123: #define DATOS 0
                    124: #define PTR_MEM 1
                    125: #define PTR_PILA 2
                    126: #define BANDERAS 3
                    127: #define ACCESOS_MEM 4
                    128: #define OTROS 5
                    129: 
                    130: /* SALTOS */
                    131: #define INCONDICIONAL 0
                    132: #define NO_SALTO 1
                    133: #define TOMADO 2
                    134: #define NOTOMADO 3
                    135: 
                    136: /* TIPOS DE DEPENDENCIAS */
                    137: #define RW 0    /* verdadera o lectura después de escritura */
                    138: #define WR 1    /* antidependencia o escritura después de lectura */
                    139: #define WW 2    /* salida o escritura después de escritura */
                    140: 
                    141: /* TIPOS DE DATOS */
                    142: #define DATOSEXP 10        /* datos explícitos */
                    143: #define DATOSIMP 11        /* datos implícitos */
                    144: #define DIREXP 20        /* direcciones explícitos */
                    145: #define DIRIMP 21        /* direcciones implícitos */
                    146: #define PILAEXP 30        /* pila explícitos */
                    147: #define PILAIMP 31        /* pila implícitos */
                    148: #define CCEXP 40        /* códigos de condición explícitos */
                    149: #define CCIMP 41        /* códigos de condición implícitos */
                    150: 
                    151: /* FORMATO ENSAMBLADOR */
                    152: #define INTEL 0            /* formato de instrucción ensamblador INTEL */
                    153: #define ATT 1            /* formato de instrucción ensamblador ATT */
                    154: 
                    155: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>