|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : DEBUTANT [ Archives / Newbii ] (tekila_bandita)
Informations & options pour cette discussion
mercredi 22 février 2006 à 16:09:27 |
DEBUTANT

tekila_bandita
|
Bonjour, Je programme C++/C et VB, et j'aimerais étendre mon champ de language à l'assembleur, seul probleme : Je ne suis pas en age d'apprendre la programmation à l'école (classe de 3°...) ! Pour apprendre le VB le C et le C++, j'ai du beaucoup investir de mon argent dans des bouquin parfois fort couteux, alors j'aimerais savoir si des personnes connaitrait des addresses de site, tuto, ou des references des meilleurs bouquins (meme s'il sont chers, ça peut toujours m'etre utile de savoir au cas où...), ou meme si cela existe, un myen de pouvoir prendre des cours ou des lycees enseignant la programation dès la seconde... Pouvez vous m'expliquer aussi les differents types de processeurs, les plus repandus, ainsi les plus importants à connaitre le fontcionnement, etc... MERCI BEAUCOUP ! j'espere avoir été humainement comprehensible, et ne pas etre trop exigeant... 
|
|
|
mercredi 22 février 2006 à 17:03:16 |
Re : DEBUTANT
|
jeudi 23 février 2006 à 00:52:21 |
Re : DEBUTANT
|
jeudi 23 février 2006 à 09:01:39 |
Re : DEBUTANT

Nasman
|
Réponse acceptée !
Bonjour tekila_bandita,
Le langage assembleur est le plus proche de la machine, en fait des microprocesseurs, et par conséquent permet les exécutions les plus rapides ; c'est d'ailleurs le seul langage compris par la machine. En fait du binaire (suite de zéro et de un) condensé en hexadécimal (base seize) pour des questions de place. Les opérations réalisables par le processeur sont très sommaires, elles consistent à effectuer des lectures de zones de mémoire dans des registres, à écrire dans d'autres endroits, à effectuer des opérations de base (additions, soustractions, multiplications...) ou plus soffistiquées grâce au coprocesseur mathematique. Sont également disponible des tests et des branchements conditionnels, des sauts, des appels de sous programmes (fonctions). Ces opérations peuvent porter sur un octet (8 bits - de 0 à 255), sur deux octets (un word=16 bits - de 0 à 65535) sur quatre octets (dword=32 bits -de 0 à 4294967295) ou plus pour les opérations 64 bits. En mode 32 bits, la même opération sera plus rapide que 2 opérations en mode 16 bits. Le langage assembleur est en fait une transcription en un langage plus compréhensible qu'une suite de un et de zéros ou d'octets.
Exemple:01101010000000000110100000000000001000000100000000000000 ou 6A006800204000 ou push byte 0 push dword 0x00402000 la première instruction empile zéro sur la pile, la deuxième l'adresse 32 bits 00402000
En pratique tu n'indiqueras pas l'adresse mais la référence à une étiquette.
Selon l'assembleur que tu utiliseras le fichier assembleur "la source" seras plus ou moins compact surtout avec l'utilisation de macros. Il est même possible d'avoir une sorte de langage structuré - au détriment parfois du code compilé (l'exécutable).
La réalisation se schématise en plusieurs étapes. Ecriture du code (en général fichier texte) Compilation par Yasm, Nasm, Masm...(attention à la syntaxe de chacun des assembleurs) pour avoir un fichier objet. Edition de liens (rassemblement des différents fichiers objects, bibliothèques, ressources) et création de l'en tête de fichier qui fera que le programme tournera sous Windows, Linux...
|
|
|
jeudi 23 février 2006 à 09:29:54 |
Re : DEBUTANT
|
jeudi 23 février 2006 à 13:16:11 |
Re : DEBUTANT

tekila_bandita
|
Alors en faite, la seul différence entre la programmation 32bits de la 64 (et 16 de la 64 et la 32...) et qu'il faudra passer par un chemin un peu plus abracadabrantesque (lol) pour arriver au meme calcul, instruction...?
En tout cas, merci, tu en as dis beaucoup et tu as été très clair!
Seulement, quel est la différence entre les x86 et les autres? Lesquels sont les plus utilisés? Peus-tu me donner des exemples de chaque...?(Intel, Amd, etc...)
Mais, au final, que dois-je apprendre, assembleur x86, assembleur ti89, etc...? Dois-je plutot apprendre 64bits et m'orienter vers les autres, 32bits et me réorienter, ou 16bits (et me réorienter aussi...)??
Voila, je crois que j'ai demander le plus important... Parce que en faite, le plus important est que j'apprenne cette notion de x86 et tout, car avant je n'en avais jamais entendu parlé...Tandis que le stoquage j'en avais déja abordé les grands principe en C, C++, mais avec la memoire sequentielle...
MERCI !
|
|
|
jeudi 23 février 2006 à 13:51:40 |
Re : DEBUTANT

Nasman
|
Réponse acceptée !
Je pense que pour commencer à programmer en assembleur tu peux commencer par le 32 bits qui est le système le plus répandu sur les différentes platte formes.
Le 16 bits, bien que très présent sur les tutoriels que tu pourras trouver est devenu obsolète depuis le 386 et windows 95. A ma connaissance, les systèmes d'exploitation fonctionnent en 32 bits et la majorité des programmes. L'arrivée des processeurs 64 bits nécessite encore que les systèmes d'exploitations suivent afin que les programmes 64 bits fonctionnent au maximum de leurs possibilités.
Quant au 16 bits, je pense que sa place est maintenant au musée - quoique les enseignants sont parfois conservateurs dans leurs cours !!!
De plus l'adressage mémoire est sans doute plus simple en 32 bits
Je pense que tu découvrira de nombreuses sources sur ce site. Elles te permettront de te familiariser progressivement avec les différentes instructions langage machine et avec les différents assembleurs.
Bonne continuation
PS Personnellement j'ai commencé avec Nasm et il me convient.
|
|
|
jeudi 23 février 2006 à 17:15:07 |
Re : DEBUTANT

7atem
|
FORZA ROMA EST forza roma EST
|
|
|
vendredi 24 février 2006 à 12:46:42 |
Re : DEBUTANT

tekila_bandita
|
Au faite, si quelqu'un vient encore lire ce post, comment et où avez-vous appris l'asm?? Si c'est au bahu, en quelle classe, avec quel orientation, et avec quel "diplome"??? Et où puis-je trouver une bonne école proche de la haute-savoie (Rhone-Alpes)..? MERCI BEAUCOUP ! je suis désolé pour ce bombardement de question, mais je suis en pleine orientation alors voila....
|
|
|
vendredi 24 février 2006 à 14:06:08 |
Re : DEBUTANT

Nasman
|
Bonjour tekila_bandita,
Personnellement j'ai appris l'asm en école d'ingénieur de chimie il y a quelques décennies de celà. A l'époque c'était le début du 16 bits. Si je me souviens bien c'était avec un 6809 de Motorola. Dans la réalité c'était du langage machine pur et dur et il fallait calculer les sauts à la main - et saisir les opcodes. J'ai poursuivi avec le langage du 6502 (ou 6510 ?) du Commodore 64, ce qui permettait d'effectuer des taches 1000 fois plus rapidement qu'avec le basic. A cette occasion je m'étais fait (en basic) un programme de transcription des mnémoniques en code décimal que j'implantais avec des poke.
Je suis revenu à l'assembleur que très récemment et j'ai découvert le monde des PCs avec les segments et offsets - que je m'empresse d'oublier depuis que je suis passé au 32 bits. En fait je suis quasiment passé du 8 bits au 32 bits.
Pour l'assembleur je me suis quasiment formé tout seul via les tutoriels que tu pourra trouver sur le net. Par exemple celui de opecheux.free.fr/ C'est essentiellement du 16 bits mais il est en français. Après il te faut disposer des instructions des microprocesseurs, connaitre leur syntaxe et ce qu'ils font, tu auras également besoin d'un assembleur. Par exemple Nasm.
Pour revenir à une école de formation, tu auras peut-être des cours d'asm dans une école d'informatique mais je pense que ce ne sera pas le langage le plus usité.
En asm il faut beaucoup d'instructions pour effectuer peu de choses. L'asm est adapté pour faire très rapidement (du point de vue temps de calcul) des choses simples. Pour des taches complexes un langage plus structuré est préféré.
Bonne chance pour la suite
|
|
|
Cette discussion est classé dans : vb, debutant, apprendre
Répondre à ce message
Sujets en rapport avec ce message
Et linux dans tout ça ?!!! [ par progfou ]
Lu tt le monde !Il y a 2 choses que je trouve dommage :- vous ne parlez (quasiment) pas de linux et de la programmation système sous ce système d'expl
Debutant en asm [ par valconi ]
=[[V@LcOnI]]= Bonjourje voudrai me mettre à l'ASMQu'elle Editeur me conseillez vouset qu'elle compilateur me conseillez vousMerci d'avanceValco
recherche entre 2 chaines de caracteres + VB [ par pilsner31 ]
Je vais essayer d'être claire : J'ai 2 liste déroulantes de chaines de caractères et je souhaite effectuer une recherche entre ces 2 chaines. Or le BE
incorporer un objet ASM dans un projet VB [ par sibi12 ]
Bonjour je maitrise bien le VB et un peu le C et je suis dans mes debuts en ASM. J'aimerais incorporer du code ASM ds d'anciens programme VB pour les
debutant tail d'un fichier [ par TRAX44 ]
Salut,c 1 truc tou con je c + cmt on fé pour avoir la tail d'un fichier en octet kan on a son handlemerci
Quel livre est le mieux pour apprendre [ par dragon ]
quel livre de référence serais le mieux pour apprendre l'ASM ??? et si possible en français, bien que je me doute que les meilleur livre sont en angla
instruction MID(vb) en ASM [ par flagyg ]
Bonjour,J'essaye de traduire des codes que j'ai fait en vb en asm. mais je n'arrive pas à programmer la fonction mid.Qqn pourrait me la programmer svp
Programme désassemblé ! [ par pierre63 ]
Bonjour,Voia, j'avais fait un prog en vb que j'avais compilé donc j'ai un setup puis je l'install c me donne un .exe !Probleme j'ai perdu la source de
Affichage texte (Debutant) [ par ffomnislash ]
BonjourJe debute en assembleur et je voudrais pouvoir afficher du texte en boucle, ceci j'y arrive sans pb mais le texte se rajouteAutrement dit j'ai
Debutant: comment ca marche? [ par supergrey ]
Bonjour, je voudrais savoir comment utiliser les sources de ce site?Personnellement je programme en C++ avec VC++6 j'ai aussi VS.NET est-ce qu'il faut
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
|