2019-12-24 01:26:09 +01:00
|
|
|
|
#include <stdio.h>
|
2019-12-23 23:05:03 +01:00
|
|
|
|
#include "elea_tipi.h"
|
2019-12-24 01:26:09 +01:00
|
|
|
|
#include "governo.h"
|
|
|
|
|
#include "memoria.h"
|
|
|
|
|
|
|
|
|
|
static const carattere mappa_caratteri[64][3] = {
|
|
|
|
|
"0", "1", "~", "2", "4", "+", "#", "3", "5", "6", "/", "7", "9", "-", "÷", "8",
|
|
|
|
|
"Φ", "A", "δ", "B", "D", "=", "α", "C", "E", "F", "%", "G", "I", ",", "γ", "H",
|
|
|
|
|
".", "S", "θ", "T", "V", "!", ")", "U", "W", "X", "?", "Y", "\'", "&", "⊗", "Z",
|
|
|
|
|
"ε", "J", "*", "K", "M", "(", "β", "L", "N", "O", "$", "η", "R", "P", "π", "Q"
|
|
|
|
|
};
|
2019-12-23 23:05:03 +01:00
|
|
|
|
|
|
|
|
|
int op_cm(istruzione *i)
|
|
|
|
|
{
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int op_ms(istruzione *i)
|
|
|
|
|
{
|
2019-12-24 01:26:09 +01:00
|
|
|
|
struct istruzione_gen *ms = &i->gen;
|
|
|
|
|
uint32_t ind;
|
|
|
|
|
int len;
|
|
|
|
|
int j;
|
|
|
|
|
int r;
|
|
|
|
|
carattere c, *stampabile;
|
|
|
|
|
|
|
|
|
|
r = estrai_cifra(ms->L[0]);
|
|
|
|
|
if (r < 0)
|
|
|
|
|
return -1; /* Errore */
|
|
|
|
|
len = r;
|
|
|
|
|
r = estrai_cifra(ms->L[1]);
|
|
|
|
|
if (r < 0)
|
|
|
|
|
return -1; /* Errore */
|
|
|
|
|
len += 10 * r;
|
|
|
|
|
ind = estrai_indirizzo(ms->I);
|
|
|
|
|
if (ind == (uint32_t)(-1))
|
|
|
|
|
return -1; /* Errore */
|
|
|
|
|
for (j = 0; j < len; j++) {
|
|
|
|
|
c = mem_leggi_carattere(ind + j);
|
|
|
|
|
printf("%s", mappa_caratteri[c]);
|
|
|
|
|
}
|
|
|
|
|
printf("\r\n");
|
2019-12-23 23:05:03 +01:00
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|