Avec tous ces tutos en C je me demande si ça vaut encore la peine que je m'acharne à essayer de comprendre l'assembleur. Finalement la plupart des gens qui maitrisent l'assembleur aujourd'hui l'ont appris il y a 20 ans quand il n'y avait que ça dans leur chambre sur cpc ^^
Inscription : 15 Août 2008, 13:00 Message(s) : 968 Localisation : Troyes, France
Il y a de très bonnes raisons d'apprendre l'assembleur sur CPC mais la principale pour moi est qu'importe le compilateur , tu auras toujours un meilleur résultat, que ce soit en vitesse ou en taille...
Tu pratiques le C sur d'autres machines ? (est ce que tu pratiques d'autres languages ?)
_________________ "NOP" tel est le programme parfait ! court, rapide, lisible et sans bugs (connus)
Inscription : 15 Août 2008, 13:00 Message(s) : 968 Localisation : Troyes, France
ced64k a écrit :
Juste le javascript, bref c'est pas gagné
Tu as déjà des structures de contrôle assez proches du C , si tu omets bien sûr l'orientation objet et les variables non typées donc tu ne devrais pas avoir de gros soucis à te mettre au C. Après, En ASM c'est toi qui crées les structures mais rien ne t'empêche d'avoir la même approche structurée qu'en C (c'est d'ailleurs de que les débutants en asm ont du mal à comprendre semble t'il) En conclusion, je dirai que si tu as vraiment des difficultés à commencer en asm sous CPC , pourquoi pas le C (les compilateurs permettent l'intégration d'ASM même si c'est pas très confortable), si ça peut te permettre de connaitre la machine quitte à évoluer progressivement vers l'ASM par la suite.
_________________ "NOP" tel est le programme parfait ! court, rapide, lisible et sans bugs (connus)
Ouvre une discussion genre : "Questions de débutant en assembleur" et on viendra répondre à tes questions.
Mais d'abord, éxécute sous Dams/Maxam ou autre, chaque routine du livre, (ainsi que le livre "programmes en langage machine de Steve Webb"), Il est très facile. Tu peux continuer avec la méthode Watson, puis "Langage Machine" de Micro-app., etc... (mais surtout pas "prog Z80" de Rodnay Zacks, c'est un descriptif du Z80, pas une méthode d'apprentissage).
L'assembleur n'est pas difficile, il suffit d'être méthodique et d'avancer instructions par instructions. C'est vrai qu'on y a passé des heures à l'époque, mais tu peux le faire aujourd'hui si tu es motivé. Le secret, c'est de s'y mettre. Tu peux aussi bien sûr essayer le C, le Turbo-Pascal sur CPC, mais vu que l'assembleur n'est pas bien difficile, tu pourras faire bien plus de choses, même avec peu d'espace mémoire. Question de passion. Mais c'est pas un problème de "difficulté". Les excuses du style "j'ai pas le temps" veulent dire que ce n'est pas pour toi. (manque de motivation, mais pas une question d'intelligence ni de capacités). Peut-être que tu es fait pour le bricolage, la menuiserie, la pêche à la ligne, que sais-je encore...
-------------------------------------------- post.scriptum : Je viens de craquer le système Unix de Jurassic Park... Mouaaaahahahaha: http://jurassicsystems.com
J'ai commencé par balancer dans l'Url : "nomdusite.com/robots.txt" pour tester un peu la bête (première chose qu'on fait quand on veut pirater un site) : l'auteur a vraiment de l'humour!! J'me suis bien marré. ^^
Vous avez 5 commandes Unix à votre disposition : LS, DISPLAY, SYSTEM, ACCESS et HELP (qui est présente sur CP/M)
Coïncidence amusante, car j'ai piraté un vrai site ce soir avec mon associé (et pas pour rire)... sans me douter que j'allais affronter le malicieux Dennis Nedry en rentrant à la maison. Haha! (^_^)Y
Ahhhh, c'est là mon plus gros problème J'ai commencé à peu près tous les livres dont tu parles mais j'ai à chaque fois arrêté après une cinquantaine de page. Je m'attends à une courbe d'apprentissage comme ça :
Alors qu'en réalité c'est plutôt comme ça:
Je trouve qu'il y a vraiment un gros gap à franchir avant de pouvoir faire quelque chose un tant soit peu motivant. La plupart des bouquins/tuto expliquent la théorie (exemple mettre une valeur dans tel registre) mais rarement la pratique (par exemple deplacer un personnage à l'écran avec le joystick). Il y a celui-là qui est assez abouti mais il faut déjà un bon niveau avant de tout comprendre.
Maintenant c'est peut-être aussi à moi d'avoir un déclic pour mettre tout ça en pratique
Inscription : 15 Août 2008, 13:00 Message(s) : 968 Localisation : Troyes, France
Je te rassure c'est pour tout le monde , l'apprentissage c'est jamais linéaire , tu progresses par paliers, souvent t'as un déclic qui te rend clair tout ce qui te semblait obscur avant , bon courage !
_________________ "NOP" tel est le programme parfait ! court, rapide, lisible et sans bugs (connus)
manque de motivation :Ahhhh, c'est là mon plus gros problème
J'avais deviné juste. C'est tellement rare que quelqu'un veuille apprendre l'assembleur, que bien sûr, on essaie de te conseiller. On ne te laissera pas au bord de la route comme un charclo, l'ami. Mais à toi d'y mettre de l'huile de coude. Regarde le film Karaté Kid 1 pour te motiver, quand le gamin nettoie des voitures, repeint des murs puis devient fou! : la récompense demande un peu de patience. Hihihi
ced64k a écrit :
J'ai commencé à peu près tous les livres dont tu parles mais j'ai à chaque fois arrêté après une cinquantaine de page.
Voilà. Tu as toi-même donné la solution. On ne commence pas plein de livres sans en terminer un seul!!! Tu perds ton temps, ton énergie, tu t'éparpilles...
Arrêterais-tu une recette de cuisine pour en commencer un autre, puis ainsi de suite dans ta cuisine ? A la fin, rien ne serait mangeable et tout devrait partir à la poubelle! Seul un fou ferait ça! Pourquoi te permets-tu cela avec l'apprentissage de l'Assembleur ?
ced64k a écrit :
Je trouve qu'il y a vraiment un gros gap à franchir avant de pouvoir faire quelque chose un tant soit peu motivant. La plupart des bouquins/tuto expliquent la théorie (exemple mettre une valeur dans tel registre) mais rarement la pratique (par exemple deplacer un personnage à l'écran avec le joystick).
Tu n'as pas vraiment lu, ni mis sérieusement en pratique les bouquins (programmer chaque routine donnée dans le livre) , donc c'est dur pour toi de te faire une opinion.
Avant de commencer un jeu vidéo avec sprite à l'époque, on commençait tous par PONG. Puis un casse-brique ultra-simple (PAS Arkanoid). Puis on affichait un petit sprite (32x32) et on le faisait bouger. Ensuite c'est parti! Mais on passait des soirées entières à programmer (en plus du déplombage/replombage).
Si tu veux gagner un peu de temps, tu peux récupérer une routine qui affiche un sprite et le déplacer. Apprendre à détecter le joystick ou le clavier n'est pas compliqué, il y a les routines sytèmes (vecteurs) du MOS du CPC.
Un sprite peut se déplacer en XOR sur un décor, comme SORCERY. C'est simple et rapide. Ou détectecter les zones du décor de fond, et passer devant/derrière.
Mais le plus, simple, tu crées un petit jeu d'arces vaisseau/alien à détruire, en fond noir. (pas de décor). Tu laisses une bande noire de 8 pixels à droite et à gauche de ton sprite. Ainsi, quand tu le déplaces à droite ou à gauche de 8 pixels, il s'auto-efface et se réaffiche plus loin. C'est très simple, et très rapide. Pour passer devant ou derrière un décor, tu mémorises la zone écran ou va aller ton sprite, tu affiches le sprites dessus, puis tu ré-affiches cette zone écran quand ton sprite à bougé.
Si c'est ton sprite qui s'efface, on a l'impression qu'il passe derièrre le décor. Si c'est le décor qui disparait, on a l'impression que ton sprite est devant (donc pseudo-profondeur et illusion de 3D).
Sorcery est programmé très simplement, donc les couleurs changent a cause du XOR quand le magicien passe sur un décor...
ced64k a écrit :
Maintenant c'est peut-être aussi à moi d'avoir un déclic pour mettre tout ça en pratique
Je pense que le déclic, tu risques de l'attendre longtemps. Crée-toi un RV de 20 minutes par jour où tu programmes en Assembleur. Et tiens toi-y. Point barre.
Sinon, allume-toi une bonne pipe, fous-toi les doigts de pieds en éventail devant la télé avec un paquet de bonbons! Hahahahaahaha! J'suis méchant là. ^__^
Sinon, allume-toi une bonne pipe, fous-toi les doigts de pieds en éventail devant la télé avec un paquet de bonbons! Hahahahaahaha! J'suis méchant là. ^__^
'tain mais comment il sait J'en suis en train de lire les forums cpc depuis mon canapé là
Une bonne chose puisque tu t'intéresses à l'assembleur est de penser autrement que "Jeux" ou "Demos". La plupart des utilisateurs CPC aujourd'hui ne pensent qu'aux jeux car ils sont nostalgiques de leur enfance. C'est bien, mais le CPC est bien plus qu'une console de jeux!
Par exemple, tu peux regarder la protection des jeux, (desassemblage, Reverse Engineering), la gestion de fichiers en assembleur, voire créer un utilitaire comme un éditeur de secteur.
C'est un excellent apprentissage de l'assembleur également. Mais si seuls les jeux t'intéressent, je ne suis pas sectaire.
Je te rassure c'est pour tout le monde , l'apprentissage c'est jamais linéaire , tu progresses par paliers, souvent t'as un déclic qui te rend clair tout ce qui te semblait obscur avant , bon courage !
Entièrement d'accord avec Fano, on a tous a un moment ou un autre eu cette impression d'être perdu. On a des instructions qui font des choses ultra simples (rotation, lire une valeur, etc... ), comment arriver à faire avec des choses complexes ? Les bouquins ne t'expliquent jamais qu'un gros programme, c'est juste un empilement de petites routines assembleur. Il faut "décomposer" le travail à faire jusqu'à ce que chaque étape corresponde à une routine simple.
Pour commencer, je pense que tu devrais "t'amuser" avec des petites routines graphiques (effacement de l'écran, affichage d'une page 16kb avec un effet différent de la simple recopie, etc.. ). Ca te permettra de manipuler les registres et les opérations de base. Accessoirement, tu appréhenderas aussi une des caractéristiques les moins funs du CPC, son organisation de la mémoire vidéo .
Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 23 invité(s)
Vous ne pouvez pas publier de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas insérer de pièces jointes dans ce forum