J'ai un projet à faire qui consiste à faire une calculatrice en ASM 68k
Cette calc doit pouvoir faire 4 instructions (+-*/) et doit savoir traiter 10 chiffre apres la virgule et 10 apres.
on peut stocker des valeurs dans des Vars (26 de 'A' à 'Z')
Qqun a t-il des idées pour gérer ce genre de calculs ?
Idée : Codage DCB ?
Bien sur il faut aussi rediriger les erreurs (Div par 0 par exemple ou Overflow, underflow ...)
T3 member
TimeToTeam : A new generation of games for TI
PpHd Le 31/05/2002 à 18:14 Va voir les docs sur comment implementer les reels sur une machine bases sur des entiers.
Kevin Kofler Le 31/05/2002 à 19:18Edité par Kevin Kofler le 31/05/2002 à 19:19 Bon, on va donner une réponse sérieuse:
C'est 10 chiffres avant et 10 chiffres après la virgule dans tous les cas? Pas d'exposant? Alors pas la peine d'utiliser de la virgule flottante ni du DCB (BCD). Tu peux tout coder en virgule fixe en multipliant par 1010. Il te faut donc pouvoir enregistrer des nombres jusqu'à ±1020. Il faut donc au minimum 68 bits, c'est-à-dire 8,5 octets, pour représenter tes nombres. Si tu les représentes sur 9, 10, 12 ou 8,5 octets dépend de la quantité de manipulations supplémentaires que tu veux faire pour économiser de la place.
Et plutôt de rediriger les exceptions, il peut être judicieux de vérifier avant s'il y a erreur. Surtout pour la division par 0, vu que tu ne peux pas utiliser les instructions du 68k pour diviser des nombres sur plus de 4 octets.
FluF Le 31/05/2002 à 19:40 les nombres floattant oua c cho !!!
nous a la FAC on nous appris la norme IEEE754:
x=(-1)^signe*1,Mantisse^127-exposant
et c stocke:
signe exposant mantisse
1bits 8bits 23bits
et c pour du simple precision (32bits)
Plus tu pedale moins vite moins t'avance plus vite
Ma team CS Merci KK & FluF
Je pense que je vais adopter une représentation à virgule fixe : 5 bytes + , + 5 bytes
T3 member
TimeToTeam : A new generation of games for TI
Ça ne suffit pas pour la précision demandée.