Alors voilà, j'arrive à compiler ça (syntaxe Pseudo-Pascal) :

algorithme Carre
(* Demande un nombre, et calcule son carré *)

var n:entier

debut
	lire(n);
	ecrire(n*n);
	n := n*n;
	ecrire(n);
fin

Et en gros ça fait ça :

$ ./di20 carre.dcode
Entrez un entier : 4
16
16

Et là je suis vachement complètement fier. OK, il reste encore à traduire le langage compilé en Assembleur pour pouvoir ensuite le refourguer à GCC pour pouvoir se passer de l'interpréteur, mais bon... voilà quoi !

[NB]: Le premier qui me casse ma joie...