elea9003-emu/elea_tipi.h
2019-12-23 01:44:35 +01:00

50 wiersze
1,5 KiB
C

#define statico static
typedef uint8_t carattere;
typedef int8_t segno;
/* 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 */
};