Bon en fait j'ai vu qu'il y a deja un programme existant dans la Librairie HP-41C sur HPmuseum. J'ai donc essaye d'utiliser une autre methode. Ceci dit le programme sur HPmuseum fonctionne de la meme facon que les programmes C ou BASIC presentes dans ce fil...babaorhum a écrit :@cgh, tu peux nous guider un peu sur le fonctionnement de ton pgm stp ? je nage !
J'utilise les 4 drapeaux 3 a 0, avec 3 pour les milliers, 2 pour les centaines, 1 pour les dizaines et 0 pour les unites. Comme seul un drapeau peut etre leve (SF et FS?), cela me permet de faire un code generique, le choix des diviseurs (1000, 100, 10 ou 1) et des chiffres romains (I, V, X, L, C, D, M) etant choisi en fonction du drapeau qui est leve. Ce qui fait qu'il n'y a qu'une boucle principale (LBL 14) et une sortie "anticipee" (LBL 00 -> Le 0 n'existe pas en chiffres romains). Il y a 3 sous programmes pour chaque type des chiffres : I, X, C, M (LBL 11) et V, L, D (LBL 12); le cas du 9 etant gere d'un maniere particuliere : IX, XC, CM (LBL 09). Apres les autres chiffres, c'est de l'empilement d'appel a 11 et 12. Le programme n'est pas "completement optimise". Je pense que l'on pouvoir faire mieux. Il est plus long que celui de HPmuseum: 154 octets contre 167, mai le E3 de la ligne 4 de HPmuseum necessite le BYTE GRABBER pour etre programme; de meme, le label "A-R" pese III octets contre VI pour "ROMAIN"...