1

Pour resumer la situation, ca serait bien que dans 10 jours j'ai un minimum de maitrise de l'assembleur arm.
(et bien sur je ne suis pas en vacances)
J'ai pas encore trop regarder ce qu'il y avait comme info sur le forum (bouh c'est mal. Mais c'est vrai que la fonction recherche, elle n'est pas hyper terrible non plus) donc si vous avez des liens vers des sources toutes betes, avec de l'arm au milieu du code C, genre inversion d'une image ou un truc du genre,vous pouvez me poster ca en dessous ?
Gros merci !

P.S: NON, ca n'est pas parce que j'ai besoin de vous pour le boulot que je suis revenu. Le boulot me sert de grosse excuse pour revenir sur le forum. Comme ca a la fois je travaille et je traine ici. C'est pas le bonheur ?

2

Si tu connais un peu d'ASM tu devrais pouvoir te débrouiller avec les docs constructeur, mais ce n'est pas hyper agréable.

Perso, j'avais déjà cherché un peu de docs sur l'ARM sur internet, et je n'avais pas trouvé grand chose. Tu devrais essayer de trouver un bouquin là-dessus dans une BU.
avatar« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

3

-

4

c'est vrai que niveau exemple c pas trop ça sad sinon ya des bouquins sur l'arm http://www.arm.com/documentation/books.html dispo sur amazon.com
avatarspace reporter

5

Pour du bete code C, mon compilateur m'a fait la tete hier soir, j'ai pas eu le temps de m'attaquer a l'assembleur.
Par contre j'ai pense ce matin a Mr. Spiv:
http://www.cs.helsinki.fi/u/jikorhon/condev/gp32/
Il y a un peu d'assembler gp32 sur ce site. Reste plus qu'a comprendre.
Il y a qqun d'autre qui fasse de l'assembler sur gp32 ?
Sinon la piste GBA m'a l'air sympa, je vais voir ce que ca donne ce week-end.

6

sur le forum cherche comme auteur pphd tora qq truc qui peuve tinteresse a mon avis il doit avoir plein de doc ossi c un dieu lui ^^

7

Pour la petite histoire, j'suis dans l'assembleur depuis hier.
Comme projet initial de merde, je tente l'affichage de sprite 8 bits (lire pixel, ecrire pixel, lire pixel, ecrire pixel)

Inclure l'asm directement dans un fichier .c c'etait pas la joie (utilisation des mots cles "asm volatile" etc.) donc je mets ca dans un .s
Ca manque de couleurs dans l'editeur (j'utilise le vieux visual mingw de minigp32 1ere version) mais ca compile.
Pour le moment j'affiche un sprite plus petit que l'ecran aux coordonnees "hardware" 0,0 (= en bas a gauche).
Il ne me reste plus qu'a l'afficher ailleurs, gerer les sorties d'ecran et la couleur "invisible".

Je laisserai trainer le source une fois fini. Ca peut depanner pour ceux qui comme moi, risque de se galerer pas mal au debut.

8

Au fait, premieres reactions face a l'asm arm: il y a des fonctions qui font 4 trucs en meme temps, c'est hallucinant.
Par contre, en general, il y a pas mal de limites.

9

C'est un peu logique RISC : avoir un jeu d'instruction simple mais qui s'exécute vite.
C'est quel genre d'instruction qui fait 4 trucs en même temps ?
et quand tu dis en même temps, c'est en parallèle ou bien une action à la fois ?
avatar

10

C'est plutot dans le style:
mettre dans R1 la somme du contenu de R2 et de la case memoire pointee par R3 + n*R4 en testant si la valeur est positive et en mettant R3+n*R4 dans R3

Sinon t'as aussi les fonctions qui stockent plusieurs registres en meme temps (utile pour empiler la valeur de tous les registres d'un coup)

Bref en gros optimise pour les acces a des donnees stockees dans des tableaux. Et avec la possibilite pour la majorite des instructions de demander ou pas un test sur le signe de la valeur transferee.

11

J'adoooooooooooooooooooooore les GFX gp32 qui forcent un nombre de point multiple de 4 en hauteur. Je crois que j'ai autant galere pour regler ce detail que pour tout le reste.

Mais a priori c'est bon, j'suis le winner de l'assembler.
Je nettoie un peu tout ca et je mets les sources en ligne quelque part.

En gros j'ai fait en assembleur cette jolie fonction (une centaine de lignes). Super utile n'est-ce pas ? Surtout qu'il y a a peu pres la meme chose dans le SDK et que la mienne a peut-etre des bugs qui trainent encore.
extern void GpBitBltASM(GPDRAWSURFACE* screen, int X, int Y, unsigned char* sprite, int sprite_width, int sprite_height);