1 ////////////////////////////////////////////////////////////////////////////// 2 //Copyright 2008 3 // Andrew Gacek, Steven Holte, Gopalan Nadathur, Xiaochu Qi, Zach Snow 4 ////////////////////////////////////////////////////////////////////////////// 5 // This file is part of Teyjus. // 6 // // 7 // Teyjus is free software: you can redistribute it and/or modify // 8 // it under the terms of the GNU General Public License as published by // 9 // the Free Software Foundation, either version 3 of the License, or // 10 // (at your option) any later version. // 11 // // 12 // Teyjus is distributed in the hope that it will be useful, // 13 // but WITHOUT ANY WARRANTY; without even the implied warranty of // 14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // 15 // GNU General Public License for more details. // 16 // // 17 // You should have received a copy of the GNU General Public License // 18 // along with Teyjus. If not, see <http://www.gnu.org/licenses/>. // 19 ////////////////////////////////////////////////////////////////////////////// 20 21 /****************************************************************************/ 22 /* */ 23 /* */ 24 /* File mctypes.h. */ 25 /* This file contains the definitions of the low-level */ 26 /* data types that are used in constructing the more complex objects that */ 27 /* are used in data representation and in instruction formats. This file */ 28 /* will likely be included by most others defining the overall system. */ 29 /* */ 30 /****************************************************************************/ 31 #ifndef MCTYPES_H 32 #define MCTYPES_H 33 34 typedef unsigned char Byte; /* 8 bits */ 35 typedef unsigned short TwoBytes; /* 16 bits */ 36 37 38 typedef unsigned char Boolean; /* 8 bits: FALSE/TRUE */ 39 #define TRUE 1 40 #define FALSE 0 41 42 43 typedef unsigned long Word; 44 typedef Word *WordPtr; 45 46 #define WORD_SIZE sizeof(Word) /* 4: 32-bits machine */ 47 /* 8 64-bits machine */ 48 49 typedef Word Mem; /* generic memory type */ 50 typedef Mem *MemPtr; /* pointer to memory */ 51 typedef Byte *CSpacePtr; /* code space pointer */ 52 typedef Byte *BytePtr; 53 54 #endif //MCTYPES_H 55