12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- #ifndef ELEA_TIPI_INCLUSO
- #define ELEA_TIPI_INCLUSO
- #include <stdint.h>
- typedef uint8_t carattere;
- typedef int8_t segno;
- typedef uint8_t booleano;
- typedef uint32_t indirizzo;
- #define SI (1)
- #define NO (0)
- /* bit gA: valido solo se il carattere e` letto da Accumulatore.
- * Nelle operazioni aritmetiche le cifre che lo seguono sono zeri
- * Nei trasferisferimento a mem principale il bit e` ignorato i
- */
- #define gA(x) ((x >> 7) & 0x01)
- struct __attribute__((packed)) istruzione_gen {
- carattere F; /* Tipo di funzione */
- carattere Tm; /* Modificatore */
- carattere I[4]; /* Indirizzo */
- carattere L[2]; /* Lunghezza */
- };
- struct __attribute__((packed)) istruzione_t {
- carattere F; /* Tipo di funzione */
- carattere Tm; /* Modificatore */
- carattere To; /* Indirizzo del secondo operando*/
- carattere L[2]; /* Lunghezza */
- };
- struct __attribute__((packed)) istruzione_c {
- carattere F; /* Tipo di funzione */
- carattere To; /* Registro operando */
- carattere C[5]; /* Costante */
- carattere X; /* Non utilizzato */
- };
- struct __attribute__((packed)) istruzione_s {
- carattere F; /* Tipo di funzione */
- carattere Tm; /* Modificatore */
- carattere I[4]; /* Indirizzo per il salto */
- carattere Ts; /* Indirizzo da cui avviene il salto */
- carattere E; /* Eventualita` */
- };
- struct __attribute__((packed)) istruzione_n {
- carattere F; /* Tipo di funzione */
- carattere Tm; /* Modificatore */
- carattere I[4]; /* Indirizzo del blocco in memoria */
- carattere n; /* Unita` nastro */
- carattere X; /* Non utilizzato */
- };
- struct __attribute__((packed)) istruzione_da {
- carattere F; /* Tipo di funzione */
- carattere Tm; /* Modificatore */
- carattere I[2]; /* Indirizzo interno dell'accumulatore */
- carattere X[4]; /* Non utilizzato */
- };
- typedef union u_istruzione {
- struct istruzione_gen gen;
- struct istruzione_t t;
- struct istruzione_c c;
- struct istruzione_s s;
- struct istruzione_n n;
- struct istruzione_da da;
- } istruzione;
- #endif /* ELEA_TIPI_INCLUSO */
|