Précédent   Forum du club des développeurs et IT Pro > Autres langages > Assembleur
Assembleur Forum d'entraide Assembleur. Avant de poster -> F.A.Q Assembleur Tutoriels Assembleur
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 10/02/2012, 15h25   #1
CydGy
Invité régulier
 
Femme
Inscription : février 2012
Messages : 11
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : février 2012
Messages : 11
Points : 7
Points : 7
Par défaut Etudes pour l'assembleur

Bonjour,

Je suis en Terminale STI.

J'aimerai savoir s'il y a des études qui permettent d'apprendre l'assembleur, le fonctionnement d'ordinateur,
enfin tout ce qui touche la .. "source" de l'informatique (cad tout ce qui est de "bas niveau" dont beaucoup de programmeurs programment sans réellement comprendre).
J'aime surtout le développement.

Merci
CydGy est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 10/02/2012, 16h05   #2
golden boy
Membre confirmé
 
Avatar de golden boy
 
Homme
Étudiant
Inscription : novembre 2010
Messages : 120
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2010
Messages : 120
Points : 224
Points : 224
Bonjour.

Les gens en STI électronique de mon lycée touchent déjà un peu à l'assembleur pour les µC PIC. Ainsi, je pense qu'une orientation vers l'électronique (ce qui serait en adéquation avec un bac STI) te permettrait d'apprendre un peu le langage des circuits : l'assembleur. En étude d'informatique j'ai un peu plus de doutes, mais je peux me tromper. Ça me semblerait bizarre qu'en 2012 on enseigne de l'assembleur aux futurs programmeurs, mais ça doit bien-sûr dépendre de l'établissement. Ou alors il faudrait des cours d'info orientés sur l'architecture des machines. Ouais, l'étude de l'architecture des machines semble bien approprié je dirais.

Mais sinon la voie de l'autodidacte est bien aussi
golden boy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2012, 20h10   #3
CydGy
Invité régulier
 
Femme
Inscription : février 2012
Messages : 11
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : février 2012
Messages : 11
Points : 7
Points : 7
Ok, merci
CydGy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2012, 12h49   #4
aslo92
Membre régulier
 
Avatar de aslo92
 
Homme
Ingénieur développement logiciels temps réel
Inscription : février 2012
Messages : 43
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels temps réel
Secteur : Industrie

Informations forums :
Inscription : février 2012
Messages : 43
Points : 72
Points : 72
Bonjour CydGy,

personnellement, j'ai appris l'assembleur tout seul en lisant des livres.
Tu peux également trouver facilement des cours d'initiation sur Internet.

Après si ça de plait, je pense que le mieux c'est d'écrire un petit programme en C puis de le désassembler et étudier le code généré par le compilateur. C'est très instructif.

Tu peux aussi exécuter ton programme C avec un débugger en mode code assembleur. Ca te permettra de voir la valeur prise par les registres et le contenu de la mémoire en mode pas à pas.

L'assembleur n'est pas un langage très facile, mais c'est le seul qui permet de tout faire et de comprendre comment marche un processeur.

De plus il n'y a pas plus rapide.
A toi de jouer ...
aslo92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2012, 17h16   #5
CydGy
Invité régulier
 
Femme
Inscription : février 2012
Messages : 11
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : février 2012
Messages : 11
Points : 7
Points : 7
Ok, merci
CydGy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2012, 17h35   #6
Obsidian
Modérateur
 
Avatar de Obsidian
 
Homme
Chercheur d'emploi
Inscription : septembre 2007
Messages : 4 613
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 36
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Chercheur d'emploi
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2007
Messages : 4 613
Points : 11 086
Points : 11 086
Hello,

À l'époque où j'ai suivi cette voie (autour de 1994) on enseignait encore le 6809, qui était déjà vieux mais très didactique. Il a équipé de nombreux systèmes industriels mais également la série des Thomson 8 bits ce qui fait qu'à l'époque, on pouvait directement manipuler ce processeur sur un ordinateur personnel et pas sur une simple platine de simulation dans le cadre d'un TP.

Bon nombre de gens pourront légitimement se demander où se trouve l'intérêt d'explorer aujourd'hui un processeur si ancien mais tout ceux qui ont travaillé avec, moi le premier, te diront qu'il est « ni trop simple ni trop compliqué ». Son jeu d'instruction est très orthogonal, avec une bonne séparation des instructions proprement dites et des modes d'adressage de l'autre et la syntaxe des mnémoniques associés a été travaillée de façon à structurer tout cela. Elle fait bien ressortir les opérations de lecture et d'écriture par LDx ou STx, là où Intel, par exemple, assimile le tout à une seule instruction MOV qui se déclinent pourtant en une centaine de variétés.

Si tu as l'occasion d'y toucher, n'hésite pas.
Obsidian est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2012, 20h03   #7
CydGy
Invité régulier
 
Femme
Inscription : février 2012
Messages : 11
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : février 2012
Messages : 11
Points : 7
Points : 7
OK, merci pour vos réponse,

Je pense que je ne vais pas me lancer dans "full" assembleur.
Car un développeur assembleur, c'est pas trop "vendeur"..
Rectifiez-moi si je me trompe. Et si ça l'est, où?

je pense donc continuer les langages de haut niveau, et parallèlement faire de l'assembleur, car.. je ne peut m'en empêcher. (mais disons que j'en ferai juste un peu tous les jours si possible).
CydGy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2012, 20h09   #8
Obsidian
Modérateur
 
Avatar de Obsidian
 
Homme
Chercheur d'emploi
Inscription : septembre 2007
Messages : 4 613
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 36
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Chercheur d'emploi
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2007
Messages : 4 613
Points : 11 086
Points : 11 086
Je pense que tu as la « fibre » !

Un développeur 100 % assembleur aura effectivement du mal à se vendre parce que plus personne ne développe des projets 100 % assembleur aujourd'hui. Par contre, un ou plusieurs assembleurs sur un CV accompagnant des technologies phares permet de faire le distingo entre un programmeur purement académique et quelqu'un qui, effectivement, est allé au fond des choses.

Tout recruteur ayant un peu de bouteille reconnaîtra cela. C'est malheureusement loin d'être le cas de toutes les personnes recrutant des programmeurs…
Obsidian est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 14/02/2012, 20h47   #9
CydGy
Invité régulier
 
Femme
Inscription : février 2012
Messages : 11
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : février 2012
Messages : 11
Points : 7
Points : 7
Ok, et bien, résolu.
Merci encore.


PS: ça fait quand même rêver de maîtriser à fond l'asm... Mais on va dire que .. c'est risqué.
CydGy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2012, 20h52   #10
Obsidian
Modérateur
 
Avatar de Obsidian
 
Homme
Chercheur d'emploi
Inscription : septembre 2007
Messages : 4 613
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 36
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Chercheur d'emploi
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2007
Messages : 4 613
Points : 11 086
Points : 11 086
Citation:
Envoyé par CydGy Voir le message
ça fait quand même rêver de maîtriser à fond l'asm... Mais on va dire que .. c'est risqué.
Pas tellement, en fait.

Paradoxalement, comme l'assembleur se situe au plus près de la machine, c'est une couche qui est encore relativement restreinte et dont on peut humainement faire le tour. J'entends par cette dernière phrase qu'il est possible de passer en revue les différents modes de fonctionnement, les mnémoniques et les modes d'adressages de façon exhaustive et dans un temps raisonnable.

Après, pour en exploiter pleinement le potentiel, il faut pratiquer un peu, comme pour tout. L'ennui est que les machines d'aujourd'hui ne sont pas conçues pour travailler en permanence à ce niveau et qu'il est beaucoup plus difficile d'accéder au matériel, par exemple, et donc de faire des choses intéressantes avec.

Si tu as l'occasion de récupérer une vraie machine 8 bits ou 16 bits pour quelques euros dans une brocante, saute dessus. Tu trouveras toute la documentation nécessaire en ligne, tu seras sûr que toutes les machines de ce modèle sont identiques entre elles (contrairement à un PC moderne qui peut contenir n'importe quel type de matériel) et tu pourras t'amuser à faire des POKE dans tous les sens sans risquer le crash.

Amuse-toi bien ! :-)
Obsidian est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2012, 11h52   #11
aslo92
Membre régulier
 
Avatar de aslo92
 
Homme
Ingénieur développement logiciels temps réel
Inscription : février 2012
Messages : 43
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels temps réel
Secteur : Industrie

Informations forums :
Inscription : février 2012
Messages : 43
Points : 72
Points : 72
Citation:
Car un développeur assembleur, c'est pas trop "vendeur"..
Rectifiez-moi si je me trompe. Et si ça l'est, où?
L'assembleur est encore utilisé:
- Dans les systèmes d'exploitation (une partie du noyau linux est écrite en assembleur)
- Dans les drivers (en particulier dans les routines d'interuption matérielles)
- Dans certaines fonctions pour des applications temps réel strictes
- ...

Je suis d'accord avec obsidian, ça fait bien dans un CV. Ca veut dire que tu sais programmer à bas niveau également.
aslo92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2012, 20h15   #12
CydGy
Invité régulier
 
Femme
Inscription : février 2012
Messages : 11
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : février 2012
Messages : 11
Points : 7
Points : 7
Ok, eh bien, merci
CydGy est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 16/02/2012, 17h46   #13
golden boy
Membre confirmé
 
Avatar de golden boy
 
Homme
Étudiant
Inscription : novembre 2010
Messages : 120
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2010
Messages : 120
Points : 224
Points : 224
Connaître l'assembleur et l'avoir déjà utilisé pas mal de fois change complètement ta façon de programmer en C ; tu as plus de recul, tu as une meilleure idée de la représentation en mémoire des variables, des constantes ou même des structures plus complexes. Par ailleurs, regarder des codes générés par gcc -S peut être en effet formateur pour cette raison.
Du moins, tel fut mon sentiment personnel.

Et si un embaucheur connaît bien le domaine, il saura tout ça quand il lira ton CV et ça peut éventuellement faire la différence avec d'autres programmeurs C qui n'ont jamais touché à l'assembleur.
golden boy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2012, 19h52   #14
bifur
Membre habitué
 
passe le balais et l'aspirateur
Inscription : mars 2008
Messages : 111
Détails du profil
Informations personnelles :
Âge : 28

Informations professionnelles :
Activité : passe le balais et l'aspirateur

Informations forums :
Inscription : mars 2008
Messages : 111
Points : 126
Points : 126
au départ je programmait en basic sur le bon vieux logiciel qbasic puis j'ai été déçu par la lenteur du logiciel. j'ai demandé a un pote (qui lui est vraiment informaticien) quel est le langage le plus rapide et il m'as répondu l'assembleur
donc voila...

j'ai plusieurs vielles machines chez moi ou je teste des minis pilotes pour les différents organes de ceux-ci. a mon avis pas la peine de prendre une machine 8 bit pour ça, le 32 bit c'est tellement plus interessant

par contre j'ai jamais réussis a me mettre au C,
bifur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2012, 20h09   #15
CydGy
Invité régulier
 
Femme
Inscription : février 2012
Messages : 11
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : février 2012
Messages : 11
Points : 7
Points : 7
ouais, merci,

Ba, je vais finir un gros projet web, et puis je me lancerai à l'assembleur, et je ne ferai pas d'autres langages.
Et niveau étude, je vais sûrement arrêter après le bac.
C'est risqué, mais non. C'est comme ça.
CydGy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2012, 08h47   #16
mala92
Expert Confirmé
 
Homme
Développeur informatique
Inscription : décembre 2011
Messages : 1 250
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : décembre 2011
Messages : 1 250
Points : 2 524
Points : 2 524
Citation:
Envoyé par CydGy Voir le message
Et niveau étude, je vais sûrement arrêter après le bac.
C'est risqué, mais non. C'est comme ça.
Risqué, je ne dirais pas ça !! Je dirais plutôt suicidaire. Essaie le BTS, si tu peux.

Faire de l'assembleur pour Intel ne sera pas la même que pour ARM ou Texas Instrument (DSP). Donc, maîtriser l'assembleur veut dire que tu maîtrises toutes les architectures.

Le C est un bon complément, j'ai déjà vu des programme bas niveau qui mixaient l'ASM et le C. Mais malheureusement, c'était hors de portée pour moi : traitement du signal (chose que tu vois post BAC), donc grosse algorithmie.

Citation:
Et si un embaucheur connaît bien le domaine, il saura tout ça quand il lira ton CV et ça peut éventuellement faire la différence avec d'autres programmeurs C qui n'ont jamais touché à l'assembleur.
Tout à fait !! Pour une double compétences, un recruteur prendra de préférence celui qui connait la couche la plus baisse. Mon cas, j'étais accepté pour un poste C# (à 80% et 20% en C ) alors que je fais du C.
mala92 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 16/12/2012, 12h01   #17
elnineo
Invité de passage
 
Homme Karim Nini
Étudiant
Inscription : août 2012
Messages : 1
Détails du profil
Informations personnelles :
Nom : Homme Karim Nini
Localisation : Maroc

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : août 2012
Messages : 1
Points : 2
Points : 2
Par défaut Asm -> C -> C++ -> Java/C# -> {Lua, Python, Ruby}

Bonjour,
Il n'y a pas mieux que de suivre l'évolution de l'histoire pour mieux appréhender la situation. Au début on a commencé à programmer en binaire (0 et 1 pour les calculs seulement). Fatigué, on a trouvé une solution : l'Hexadécimal (opcode) qui a beaucoup soulagé. Puis on est passé à l'assembleur qui a une relation bijective avec l'opcode (on ne rate rien de ce que peut exécuter la machine). Les programmes commencent à se compliquer et deviennent de plus en plus gros, on crée alors le premier langage haut niveau, on gagne en abstraction mais on perd en pénétration : on ne peut plus commander à la machine de faire des opérations dont elle est nativement capable de faire. Solution, on incruste du code assembleur dans du code HLL là où il est difficile, fastidieux voire même impossible d'utiliser le code HLL (High Level Language) pour avoir la fonction souhaitée.
Je crois qu'un programmeur doit être polyglotte capable de programmer en plusieurs langages et d'utiliser le langage le mieux adapté ou mixer plusieurs en fonction des besoins de son projet.
elnineo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 13h17.


 
 
 
 
Partenaires

Hébergement Web