1

Pkoi ca ca m'affiche un nombre sous forma hexa ??

void AfficheNombre(int x, int y, long nombre, int largeur)
{
	int a,b=1,c=0;
	for (c=0;c<=largeur;c++) b=b*10;
	for (a=0;a<largeur;a++)
	{
		c=nombre;
		c=c/b;
		Sprite8_XOR(x+a*6,y,9,&police[9*c],vscreen1);
		nombre=nombre-(c*b);
		b=b/10;
	}
}


Comment faire pour qu'a 10, ca retombe au chiffre 0 et non A ?
Site personnel
Site professionnel

msn / mail : racine.f(at)free.fr

2

Bon voila un shot de ce que ca fait pour etre plus comprehensible :

ballbug.gif
Site personnel
Site professionnel

msn / mail : racine.f(at)free.fr

3

humm, tu joue bien smile

4

sinon, ici, c le forum asm wink
t'as trop picol
grin

5

Merde me suis plante de forum grin
Site personnel
Site professionnel

msn / mail : racine.f(at)free.fr

6

Elle est bien compliquée, ta routine ...
essaye peut-etre ca:

void AfficheNombre(int x, int y, long nombre, int largeur)
{
int I;
for (I= 0; I < largeur; I++) {
 Sprite8_XOR(x+(largeur-I-1)*6,y,9,&police[nombre%10],vscreen1);
 nombre/= 10;
}

7

oki v bien voir smile
Site personnel
Site professionnel

msn / mail : racine.f(at)free.fr

8

Bah ca me fait un bo Divide by zero, j'avais deja eu ce pb avant, alors que dans aucun cas il n'y a de division par 0 sad
Site personnel
Site professionnel

msn / mail : racine.f(at)free.fr

9

void AfficheNombre(int x, int y, int nombre, int largeur)
{
	int I;
	for (I= 0; I < largeur; I++)
	{
		Sprite8_XOR(x+(largeur-I-1)*5,y,9,&police[(nombre%10)*9],vscreen1);
		nombre/= 10;
	}
}


La ca marche smile
Site personnel
Site professionnel

msn / mail : racine.f(at)free.fr

10

En fait avec cette routine, je ne peux pas utiliser de LONG sinon j'ai droit a un divide by zero, surement a cause de "nombre%10", est-il possible de corriger ce probleme ?
Site personnel
Site professionnel

msn / mail : racine.f(at)free.fr

11

>[Pollux]: tigcc buggue ...

http://tigcc.ticalc.org/report.html (si ce n'est pas déjà fait).
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

12

FlashZ> nombre%10 est un modulo 10 ... je ne vois pas comment ca peut faire un divide par zero .... confus

Pour le *9, ca depend comment est definis [i]police[i] ... (si c'est un char[][9] ou un char[])

13

Je croie que je sais d'ou viens l'erreur !

gcc ne sait pas faire les modulo sur les longs ! (pas d'instruction processeur, et surement pas de ROM_CALL comme pour les division/multiplication)
regarde le code genré, je suis sur qu'il y a une grosse connerie !

14

Il y a des ROM calls sur les modulos normalement, et c'est ceux que TIGCC utilise. Il se peut cependant que ces ROM calls ne marchent pas correctement, ou que TIGCC ne les appelle pas correctement.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

15

J'ai bien dit: il se peut!
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

16

Bah il y a bel et bien un bug, etant donne que chez moi ca plante avec la derniere version de l'IDE...
Site personnel
Site professionnel

msn / mail : racine.f(at)free.fr