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 ^^.
gon33 Le 25/02/2009 à 17:03 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...
T'as sûrement raison. Enfin bon, est-ce que quelqu'un peut me dire quoi apprendre ? Je veux dire un truc constructif.
Baaah j'aurais aimé d'autres avis ^^. Mais tu crois que c'est bien de s'intéresser directement à l'architecture des ordis ?
deeph Le 25/02/2009 à 18:40 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).
Ouais mais par exemple les labels : comment c'est traduit en hexa ?
deeph Le 25/02/2009 à 19:13 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.
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.