2019-12-24 01:26:09 +01:00
|
|
|
#include "elea_tipi.h"
|
|
|
|
#include "caratteri.h"
|
|
|
|
#include "telescrivente.h"
|
|
|
|
#include "memoria.h"
|
|
|
|
#include "codifica_istruzioni.h"
|
|
|
|
|
2019-12-25 19:07:48 +01:00
|
|
|
extern const carattere hello_world[];
|
|
|
|
extern const int hello_world_lunghezza;
|
|
|
|
|
|
|
|
extern const carattere long_division[];
|
|
|
|
extern const int long_division_lunghezza;
|
|
|
|
|
2019-12-23 22:08:41 +01:00
|
|
|
/* main */
|
|
|
|
int main(int argc, char *argv[])
|
|
|
|
{
|
2019-12-24 01:26:09 +01:00
|
|
|
istruzione istr;
|
|
|
|
/* TEST: memoria / phi */
|
|
|
|
|
|
|
|
/* Riempie la memoria 1:11 con "HELLO.WORLD" */
|
|
|
|
mem_scrivi_carattere(1,CAR_H);
|
|
|
|
mem_scrivi_carattere(2,CAR_E);
|
|
|
|
mem_scrivi_carattere(3,CAR_L);
|
|
|
|
mem_scrivi_carattere(4,CAR_L);
|
|
|
|
mem_scrivi_carattere(5,CAR_O);
|
|
|
|
mem_scrivi_carattere(6,CAR_PUNTO);
|
|
|
|
mem_scrivi_carattere(7,CAR_W);
|
|
|
|
mem_scrivi_carattere(8,CAR_O);
|
|
|
|
mem_scrivi_carattere(9,CAR_R);
|
|
|
|
mem_scrivi_carattere(10,CAR_L);
|
|
|
|
mem_scrivi_carattere(11,CAR_D);
|
|
|
|
|
|
|
|
/* Costruisce una istruzione MS artificiale con indirizzo 0001 e lunghezza 11
|
|
|
|
* per stampare il testo sulla telescrivente
|
|
|
|
*/
|
|
|
|
istr.gen.F = OP_MS;
|
|
|
|
|
|
|
|
istr.gen.I[0] = CAR_UNO;
|
|
|
|
istr.gen.I[1] = CAR_ZERO;
|
|
|
|
istr.gen.I[2] = CAR_ZERO;
|
|
|
|
istr.gen.I[3] = CAR_ZERO;
|
|
|
|
|
|
|
|
istr.gen.L[0] = CAR_UNO;
|
|
|
|
istr.gen.L[1] = CAR_UNO;
|
|
|
|
istr.gen.Tm = CAR_DIESIS;
|
|
|
|
|
|
|
|
/* Esegue l'istruzione phi */
|
|
|
|
op_ms(&istr);
|
2019-12-25 19:07:48 +01:00
|
|
|
|
|
|
|
mem_scrivi_blocco(1, hello_world, hello_world_lunghezza);
|
|
|
|
mem_scrivi_blocco(100, long_division, long_division_lunghezza);
|
|
|
|
|
2019-12-23 22:08:41 +01:00
|
|
|
return 0;
|
|
|
|
}
|