5 optimize stuff like : bra $4, 4: (jump to the next line)
6 eliminate dead code after branches before next label (should be generated at all, surprising, but look at asm from test6, label $5 has a return after a bra $4)
9 pour avoir comparaison d'egalite avec cste, load cste dans wreg, et CPFSEQ
10 TODO verifier si je l'ai pas deja ajoute
13 += is not supported, so probably neither are his brothers
16 postinc/dec in an expression does not work (sigma example had res = res + n--, gave the decremented value)
18 avoir suite de tests (entre autres, tous les types de conditions)
20 add support for pointer types parsing in six
22 pour l'instant, faire marcher declarations de tableaux avec taille fixe (i.e. int b[3]), devrait etre assez, su moins pour le moment (ou p-e meme pour picobit au complet)
24 six.index should behave correctly if used in the lhs of an assignment
26 simulator does not support byte-to-byte, whatever that is NEEDED FOR MOVFF (avoir movff)
28 voir si en C, on peut caster de int vers byte, par exemple
30 faire marcher les < et > sur plusieurs bytes
32 elimination de tests sur relations avec juste des literaux : 0 > 1
34 voir si un fonction qui prend un int, a qui on donne un byte marche convenablement
35 aussi, voir si casts explicites peuvent marcher commedu monde
39 var SIXPIC_MEMORY_DIVIDE : a partir de cette adresse, la memoire est geree par l'usager
42 see test 21, implicit return at the end cannot return array assignations, so array assignations cannot be the last statement, bug ?
47 reconnait si on pre/post inc/dec vars speciales FSRx et on utilise POSTINC0 et cie
48 PICOBIT : ajouter bignums (voir code marc), ca fait une contribution
50 compiler picobit petit bout par petit bout pour voir ou on peut ameliorer
52 binums dans picobit : 0 = 16 bits de 0 et pointeur vers 16 bits de 0, objet qq part en memoire, ca donne suite infinie de 0
53 -1 est meme chose avec juste des 1, -2 est 111..10 et pointeur vers -1, donc ca fait 0 avec infinite de -1, on arrete algos quand les 2 vals sont a 0 ou -1
54 p-e avoir un tableau qu ipointe vers -1...10 alloues en permanence, ou p-e avoir 2 espaces de 1 objet pour mettre les operandes en objets d'une primitive, qu'on genere on the fly, voir code marc
56 p-e autre chose, j'ai le feeling d'avoir oublie de quoi
59 there is a way to put a var in FSR0, but any regular table access would overwrite it, watch out
61 if a special FSR var, only SIXPIC_FSRX[0] makes any sense, since the address should already be good
62 use simple dereference (*) syntax instead, to avoir confusion
64 SYNTAX DE DEREF MARCHE DANS SIX, utiliser
66 simplifier assignation sur dereference pour utiliser nouvelle version de array-base-name quand array-ref va etre un operateur, pas un cas particulier de syntaxe
70 BUG : si on fait SIXPIC_FSR0 = SIXPIC_MEMORY_DIVIDE;, allocation de registres doit merger les 2, et FSR est pas stocke dans FSR, donc on perd le benefices, corriger
71 p-e, pour regler ca, mettre un flag sur les values pour dire si elle doit etre allouee dans un registre ou non ?
76 000092 E150 movf FSR1L, w
79 000098 E250 movf FSR1H, w
84 0000AA D950 movf FSR2L, w
87 0000B0 DA50 movf FSR2H, w
92 0000BA E96E movwf FSR0L
94 0000BE EA6E movwf FSR0H
95 pas super, on pourrait tranferer le resultat au fur et a mesure qu'il est calcule, on sauverait des voyages par w