PurePicBasic - Asm

Forum de développement du compilateur asm / basic pour les puces microchip
 
AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
-55%
Le deal à ne pas rater :
Aspirateur sans sac PHILIPS PowerPro Active FC9533/09
89.99 € 199.99 €
Voir le deal

 

 Implémentation 16bit

Aller en bas 
AuteurMessage
wood51

wood51

Messages : 72
Date d'inscription : 20/01/2013
Age : 39
Localisation : Orléans

Implémentation 16bit  Empty
MessageSujet: Implémentation 16bit    Implémentation 16bit  EmptyVen 15 Mar - 22:00

Salut , après un passage a vide me revoilà ...
Après réflexion sur la génération du code assembleur , il s'est posé un problème :
si on fait a = 127 * 127 , la syntaxe est bonne , mais le code généré est faux puisque le pic ne gère que les registre 8bits et que le resultat est sur 16bit.
Je voulais implémenté le 16bit plus tard car c'est pas ma tasse de thé niveau assembleur mais là y'a plus le choix Sad . il va falloir que je trouve les codes pour la manipulation 16bit .
l'implémentation de l'erreur "out of range" est faite . Le problème qui se pose es au niveau de la déclaration des variables :
à la base quant la variable n'est pas déclaré , le compilo la déclare lui même en 8bit (16bit serait trop gourmand en automatique pour la RAM) . au passage , une petite multiplication avec un résultat sur 16bits et là c'est foutue , out of range . On est obligé lorsque l'on code de déclaré la variable en 16bits manuellement .
La question est : ne serait-il pas plus judicieux de rendre la déclaration de variable obligatoire ? Qu'en pensez vous ?


Quelque exemple de l'état actuel :

Citation :
a = 15 * 16 ;Résultat : 240 sur 8bits OK
-> A:= 240

a = 127 * 127 ;Résultat : 16129 sur 16bits N-OK
-> Out of Range

a.w = 127 * 127;Résultat : 16129 sur 16bits OK
-> A_Low := 1
-> A_Hight := 63

; A_Hight * 256 + A_Low = Result
;Result = 63*256+1 = 16129

Voilà j’attends vos réaction ... Very Happy
Revenir en haut Aller en bas
 
Implémentation 16bit
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
PurePicBasic - Asm :: PurePicBasic-
Sauter vers: