elea_tipi.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #define statico static
  2. typedef uint8_t carattere;
  3. typedef int8_t segno;
  4. /* bit gA: valido solo se il carattere e` letto da Accumulatore.
  5. * Nelle operazioni aritmetiche le cifre che lo seguono sono zeri
  6. * Nei trasferisferimento a mem principale il bit e` ignorato i
  7. */
  8. #define gA(x) ((x >> 7) & 0x01)
  9. struct __attribute__((packed)) istruzione_gen {
  10. carattere F; /* Tipo di funzione */
  11. carattere Tm; /* Modificatore */
  12. carattere I[4]; /* Indirizzo */
  13. carattere L[2]; /* Lunghezza */
  14. };
  15. struct __attribute__((packed)) istruzione_t {
  16. carattere F; /* Tipo di funzione */
  17. carattere Tm; /* Modificatore */
  18. carattere To; /* Indirizzo del secondo operando*/
  19. carattere L[2]; /* Lunghezza */
  20. };
  21. struct __attribute__((packed)) istruzione_c {
  22. carattere F; /* Tipo di funzione */
  23. carattere To; /* Registro operando */
  24. carattere C[5]; /* Costante */
  25. carattere X; /* Non utilizzato */
  26. };
  27. struct __attribute__((packed)) istruzione_s {
  28. carattere F; /* Tipo di funzione */
  29. carattere Tm; /* Modificatore */
  30. carattere I[4]; /* Indirizzo per il salto */
  31. carattere Ts; /* Indirizzo da cui avviene il salto */
  32. carattere E; /* Eventualita` */
  33. };
  34. struct __attribute__((packed)) istruzione_n {
  35. carattere F; /* Tipo di funzione */
  36. carattere Tm; /* Modificatore */
  37. carattere I[4]; /* Indirizzo del blocco in memoria */
  38. carattere n; /* Unita` nastro */
  39. carattere X; /* Non utilizzato */
  40. };