elea.c 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #include "elea_tipi.h"
  2. #include "caratteri.h"
  3. #include "telescrivente.h"
  4. #include "memoria.h"
  5. #include "codifica_istruzioni.h"
  6. extern const carattere hello_world[];
  7. extern const int hello_world_lunghezza;
  8. extern const carattere long_division[];
  9. extern const int long_division_lunghezza;
  10. /* main */
  11. int main(int argc, char *argv[])
  12. {
  13. istruzione istr;
  14. /* TEST: memoria / phi */
  15. /* Riempie la memoria 1:11 con "HELLO.WORLD" */
  16. mem_scrivi_carattere(1,CAR_H);
  17. mem_scrivi_carattere(2,CAR_E);
  18. mem_scrivi_carattere(3,CAR_L);
  19. mem_scrivi_carattere(4,CAR_L);
  20. mem_scrivi_carattere(5,CAR_O);
  21. mem_scrivi_carattere(6,CAR_PUNTO);
  22. mem_scrivi_carattere(7,CAR_W);
  23. mem_scrivi_carattere(8,CAR_O);
  24. mem_scrivi_carattere(9,CAR_R);
  25. mem_scrivi_carattere(10,CAR_L);
  26. mem_scrivi_carattere(11,CAR_D);
  27. /* Costruisce una istruzione MS artificiale con indirizzo 0001 e lunghezza 11
  28. * per stampare il testo sulla telescrivente
  29. */
  30. istr.gen.F = OP_MS;
  31. istr.gen.I[0] = CAR_UNO;
  32. istr.gen.I[1] = CAR_ZERO;
  33. istr.gen.I[2] = CAR_ZERO;
  34. istr.gen.I[3] = CAR_ZERO;
  35. istr.gen.L[0] = CAR_UNO;
  36. istr.gen.L[1] = CAR_UNO;
  37. istr.gen.Tm = CAR_DIESIS;
  38. /* Esegue l'istruzione phi */
  39. op_ms(&istr);
  40. mem_scrivi_blocco(1, hello_world, hello_world_lunghezza);
  41. mem_scrivi_blocco(100, long_division, long_division_lunghezza);
  42. return 0;
  43. }