Annotation of ADD_ver_10/defines.h, revision 1.1
1.1 ! rico 1: /********************************************************************/
! 2: /* defines.h */
! 3: /* */
! 4: /* Copyright (c) 1997-2006 Rafael Rico (rafael.rico@uah.es) */
! 5: /* */
! 6: /* This file is part of ADD version 5.10. */
! 7: /* */
! 8: /* ADD is free software; you can redistribute it and/or modify */
! 9: /* it under the terms of the GNU General Public License as */
! 10: /* published by the Free Software Foundation; either version 2 of */
! 11: /* the License, or (at your option) any later version. */
! 12: /* */
! 13: /* ADD is distributed in the hope that it will be useful, */
! 14: /* but WITHOUT ANY WARRANTY; without even the implied warranty of */
! 15: /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
! 16: /* GNU General Public License for more details. */
! 17: /* */
! 18: /* You should have received a copy of the GNU General Public */
! 19: /* License along with ADD; if not, write to the Free Software */
! 20: /* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA */
! 21: /* 02111-1307 USA */
! 22: /* */
! 23: /* --------------------------- History --------------------------- */
! 24: /* */
! 25: /* Revision 1.2. 01/2006 */
! 26: /* Added GPL License and JavaDoc style documentation */
! 27: /* */
! 28: /* Revision 1.1. 09/2005 */
! 29: /* Initial Revision */
! 30: /* */
! 31: /********************************************************************/
! 32:
! 33:
! 34: /*****************************************************************************/
! 35: /* MÓDULO: defines.h */
! 36: /* */
! 37: /* Módulo con definiciones de constantes. */
! 38: /*****************************************************************************/
! 39: /* Fecha: 29 de septiembre de 2005 */
! 40: /*****************************************************************************/
! 41:
! 42: #define MAX_LINE 128
! 43:
! 44: #define NO 0
! 45: #define SI 1
! 46:
! 47: /* CONFIGURACIÓN */
! 48: #define TRAZA 0
! 49: #define SECUENCIA 1
! 50: #define CADENAHEX 2
! 51:
! 52: /* SALVAR CONFIGURACIÓN */
! 53: #define CFG 2
! 54:
! 55: /* BYTES POR INSTRUCCIÓN EN LA TRAZA */
! 56: #define BYTES_POR_INSTRUCCION 6
! 57:
! 58: #define MAX_VENTANA 2048
! 59:
! 60: /* NOTIFICACIONES */
! 61: #define ECO_NO 0
! 62: #define ECO_SI 1
! 63:
! 64: #define ERROR_SALIR 0
! 65: #define ERROR_SEGUIR 1
! 66: #define NO_ERROR 2
! 67:
! 68: #define ALL 0
! 69: #define EX_CFG 1
! 70: #define ERRORS 2
! 71:
! 72: /* MÁXIMOS TAMAÑOS EN DEFINICIÓN DE TIPOS */
! 73: #define MAX_NEMO 15
! 74: #define MAX_OPE 12
! 75: #define MAX_LISTA 50
! 76: #define MAX_UBI 10
! 77: #define MAX_DEPEN 6
! 78: #define MAX_HEX 15
! 79:
! 80: /* BASES DE DATOS */
! 81: #define TABLA_NEMONICOS 100
! 82: #define TABLA_SIMBOLOS 200
! 83: #define TABLA_CICLOS 300
! 84: #define TABLA_UBICACIONES 400
! 85: #define CAMPO_NEMONICO 101
! 86: #define CAMPO_SIMBOLO 201
! 87: #define CAMPO_IDENTIFICADOR 301
! 88: #define CAMPO_NOMBRE 401
! 89:
! 90: /* TIPO DE INSTRUCCIÓN (Fichero IA16-nemos.isa) */
! 91: #define TRANSFERENCIA 0
! 92: #define ARITMETICA 1
! 93: #define LOGICA 2
! 94: #define SALTO_INCONDICIONAL 3
! 95: #define SALTO_CONDICIONAL 4
! 96: #define PREFIJO 5
! 97: #define PREFIJO_SEG 6
! 98: #define CADENAS 7
! 99: #define CONTROL 8
! 100: #define SIN_TIPO 100
! 101:
! 102: /* MODO DEL OPERANDO (Fichero IA16-nemos.isa) */
! 103: #define LEIDO 0
! 104: #define ESCRITO 1
! 105: #define LEIDOYESCRITO 2
! 106: #define NO_EXISTE 3
! 107:
! 108: /* SEGMENTO POR DEFECTO (Fichero IA16-ubis.isa) */
! 109: #define NO_SEG 0
! 110: #define CS 1
! 111: #define SS 2
! 112: #define DS 3
! 113: #define ES 4
! 114:
! 115: /* FUNCIÓN DE LA UBICACIÓN (Fichero IA16-ubis.isa) */
! 116: #define DATOS 0
! 117: #define PTR_MEM 1
! 118: #define PTR_PILA 2
! 119: #define BANDERAS 3
! 120: #define ACCESOS_MEM 4
! 121: #define OTROS 5
! 122:
! 123: /* SALTOS */
! 124: #define INCONDICIONAL 0
! 125: #define NO_SALTO 1
! 126: #define TOMADO 2
! 127: #define NOTOMADO 3
! 128:
! 129: /* TIPOS DE DEPENDENCIAS */
! 130: #define RW 0 /* verdadera o lectura después de escritura */
! 131: #define WR 1 /* antidependencia o escritura después de lectura */
! 132: #define WW 2 /* salida o escritura después de escritura */
! 133:
! 134: /* TIPOS DE DATOS */
! 135: #define DATOSEXP 10 /* datos explícitos */
! 136: #define DATOSIMP 11 /* datos implícitos */
! 137: #define DIREXP 20 /* direcciones explícitos */
! 138: #define DIRIMP 21 /* direcciones implícitos */
! 139: #define PILAEXP 30 /* pila explícitos */
! 140: #define PILAIMP 31 /* pila implícitos */
! 141: #define CCEXP 40 /* códigos de condición explícitos */
! 142: #define CCIMP 41 /* códigos de condición implícitos */
! 143:
! 144: /* FORMATO ENSAMBLADOR */
! 145: #define INTEL 0 /* formato de instrucción ensamblador INTEL */
! 146: #define ATT 1 /* formato de instrucción ensamblador ATT */
! 147:
! 148:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>