30

Merci beaucoup ! En fait la découverte de l'asm donne vraiment envie d'aller encore plus loin : comment fonctionnent les romcalls utilisées, comment l'asm est-il compilé, puis tout ce qui est de l'électronique. Donc je ne sais pas par où commencer : est-ce que je dois apprendre l'asm directement, en incluant l'utilisation des romcalls (entre autres), et accepter d'utiliser des outils que je ne comprends pas entièrement ; ou est-ce que je dois directement m'intéresser à un plus "bas" niveau : apprendre des bases d'électronique, commencer par coder en hexa.
En tout cas, je commence à assimiler les bases de l'asm, à force de les voir dans différents tutos (dont le tien). Merci encore pour ces quelques réponses, d'autres questions suivront certainement lorsque j'aurai terminé ce fichu programme en Caml ^^.

31

Si tu veux comprendre tout, t'es pas prêt d'avoir fini!! Par contre, je te conseille de chercher "Architecture de Ordinateurs" dans google... Tu trouveras plein de ressources intéressantes, même si c'est pas spécifique au z80.

Par contre, depuis que je fais de l'Asm avec la fac, je me suis rendu compte que les tutos pour calto du z80 n'apprenaient pas du tout les règles d'écriture (genre quels registres doivent être sauvegardés par l'appelant/appelé), enfin bon ça aide pas vraiment à faire de l'assembleur ailleurs...

32

T'as sûrement raison. Enfin bon, est-ce que quelqu'un peut me dire quoi apprendre ? Je veux dire un truc constructif.

33

Voir post ci-dessus... hum

34

Baaah j'aurais aimé d'autres avis ^^. Mais tu crois que c'est bien de s'intéresser directement à l'architecture des ordis ?

35

J'sais pas mais ça dépend surtout de ce que tu veux faire, moi je te conseillerais d'apprendre directement l'asm sans t'acharner à tout comprendre, mais seulement si t'as l'intention de faire des programmes plus performant qu'en TI-Basic.

Si tu préfères simplement apprendre le fonctionnement de l'asm et des TI z80 alors commence par apprendre des trucs plus générale (électronique etc...). Et puis sinon coder en héxa ça t'avanceras pas beaucoup puisque les instructions ont un équivalent héxa (qui est lu par le compilo avant de le "convertir" en binaire).

36

Ouais mais par exemple les labels : comment c'est traduit en hexa ?

37

Baruch (./30) :
Merci beaucoup ! En fait la découverte de l'asm donne vraiment envie d'aller encore plus loin : comment fonctionnent les romcalls utilisées, comment l'asm est-il compilé, puis tout ce qui est de l'électronique.


Pas besoin d'aller voir du coté de l'électronique! On peut savoir ce que les instructions font sans comprendre comment ça se passe à ce niveau, heureusement pour la grande majorité des codeurs ASM smile en tout cas moi.

En revanche, savoir comment tout ce que tu écris dans ton code est interprété et converti par SPASM ou TASM, ça c'est très utile.

Tes questions sur ".org 9D93h" et les labels sont répondues dans mon tuto (et certainement d'autres, du genre "learn asm in 28 days"). Quant à la ligne ".db $BB,$6D " , je crois que ce sont deux octets qui permettent à ton programme d'être listé dans MirageOS ou ION.

38

Les labels pour le compilo c'est juste des adresses (déterminées à partir de .org machin truc, dans notre cas). Genre "jr Start" ça donnera "jr 9E43h" ou quelque chose du genre.

39

en fait, ça serait plutôt "jp Start" qui serait traduit en "jp 9E43h".. jr est une instruction de jump relatif, qui ne prend qu'un seul octet en "paramètre", et qui s'execute donc bien plus vite.

40

dancingmad de retour!

41

et ouais... je pensait en avoir fini pour de bon avec l'asm Z80, mais au final, ça m'a pas mal manqué tongue

Du coup, je reprend le Worms Armageddon que j'avais commencé, sortie prévue en Septembre 2009 !

42

love Yeah !

Ça fait plaisir de savoir que ce projet n'est finalement pas mort smile N'hésites pas à poster des screens au fur et à mesure de son développement.

Sinon au sujet de GBA Lib 2, toujours pas de date de sortie officielle ? (De ce que j'ai pu tester, elle marche parfaitement bien maintenant top)