FarewellLe 02/10/2009 à 21:43
Ok super ! Mais au niveau de l'implémentation, comment est-ce que je retiens ça ?
Je pensis passer directement du source au fichier objet (composé de plusieurs handles pour les symboles, les adressages, le binaire etc...).
Je pense que je devrais donc appliquer ta méthode ligne après ligne dans mon source, non ? Et remplir mes handles au fur et à mesure.
Mais comment implémenter ça, le représenter en mémoire ? J'avais idée d'écrire les instructions dans un buffer de 10 octets (ou directement dans le handle du binaire), au fur et à mesure de ce que je lis :
"move" > j'écris le masque
".w" > j'écris sa taille
"#" > je véfirie que mon move supporte un entier immédiat, si oui, je parse le
"1234" > que j'écris à sa place après le masque de l'instruction
"," > ça, il fallait nécessairement que je le trouve après mon entier, sinon erreur
"d0" > c'est un registre, je lis le masque associé dans la table des instructions, puis je rajoute le résultat dans le masque de l'instruction
"EOL" > ok, on valide la ligne en l'écrivant dans le binaire, et on recommence.
C'est pas bon de s'y prendre comme ça ? Ya des pièges que je vois pas ?