Assembleur
alpha
-
ElementW Messages postés 4814 Date d'inscription Statut Contributeur Dernière intervention -
ElementW Messages postés 4814 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Après deux ans de programmation C et 6 mois de programmation Python, je voudrais me tourner vers l'assembleur. Sauf que j'ai l'impression ( après quelques recherches sur le net) qu'il y a plein d'assembleur différent (en fonction de l'OS, en fonction du processeur et aussi des philosophie de code différentes).
Pourriez vous m'indiquez tous les types de langage Assembleur qui existe et leur différence ou alors si vous avez un lien vers une page web qui explique tous ca, je veux bien...
Merci
Après deux ans de programmation C et 6 mois de programmation Python, je voudrais me tourner vers l'assembleur. Sauf que j'ai l'impression ( après quelques recherches sur le net) qu'il y a plein d'assembleur différent (en fonction de l'OS, en fonction du processeur et aussi des philosophie de code différentes).
Pourriez vous m'indiquez tous les types de langage Assembleur qui existe et leur différence ou alors si vous avez un lien vers une page web qui explique tous ca, je veux bien...
Merci
A voir également:
- Assembleur
- Logiciel assembleur - Télécharger - Édition & Programmation
- Tp corrigé assembleur 8086 - Forum Programmation
- Assembleur 8086 - Forum Programmation
- Assembleur add mul div sus - Forum Assembleur
- Assembleur ✓ - Forum Programmation
2 réponses
'lut, aucune page web, ni post de forum ne peut énumérer la totalité des langages assembleur qui existent... une des raison est que certains sont fermés (genre l'USSE des m*rdiques GPU mobiles PowerVR), et que, comme tu le sais déjà, il en existe plein.
Je me contenterais du coup de t'en citer les plus connus.
Une différence majeure présente dans une bonne partie des langages assembleur est la différence entre la syntaxe AT&T et Intel; l'Intel est plus simple et "jolie", et la AT&T reste populaire car elle est celle par défaut des outils de compilation GNU GCC (& co).
Après, a chaque architecture ses opérations et opérandes:
x86_32: aussi appelé i386 ou x86. Architecture Intel, présente dans tous les ordinateurs de bureau (oui, aussi les procos AMD).
x86_64: aussi dit x64 ou AMD64 (CPUs Intel aussi). Sur-ensemble 64 bits du x86_32, présent dans les PC 64 bits.
ARM: présent dans les systèmes embarqués et téléphones portables. Plusieurs versions existent (ARMv6, ARMv7)
ARM64: version 64 bits de l'ARM, c'est en fait ARMv8, existe dans l'iPhone 5 par ex.
MIPS: dans certains systèmes embarqués aussi; plus rare.
Et bien d'autres...
Après, passé ça il y a les spécificités de chaque logiciel assembleur; je peux citer TASM, NASM, GNU AS, MASM... qui disposent tous de leur propre syntaxe, et de leur propre documentation la décrivant ;)
Pour ce qui est des différences entre OS, c'est coté code et pas coté syntaxe que ça se passe: on n'appelle pas une fonction d'API Windows comme on appelle un syscall UNIX. De même sous Windows il y a l'enfer des conventions d'appel, qui fait qu'on appelle pas une fonction A et B de la même manière...
Bref, pas de comparaison faisable vu le "nombre d'assembleurs" qu'il existe :/
Toutefois le net regorge d'informations sur chacun d'entre eux.
from human import idiocy
del idiocy
Je me contenterais du coup de t'en citer les plus connus.
Une différence majeure présente dans une bonne partie des langages assembleur est la différence entre la syntaxe AT&T et Intel; l'Intel est plus simple et "jolie", et la AT&T reste populaire car elle est celle par défaut des outils de compilation GNU GCC (& co).
Après, a chaque architecture ses opérations et opérandes:
x86_32: aussi appelé i386 ou x86. Architecture Intel, présente dans tous les ordinateurs de bureau (oui, aussi les procos AMD).
x86_64: aussi dit x64 ou AMD64 (CPUs Intel aussi). Sur-ensemble 64 bits du x86_32, présent dans les PC 64 bits.
ARM: présent dans les systèmes embarqués et téléphones portables. Plusieurs versions existent (ARMv6, ARMv7)
ARM64: version 64 bits de l'ARM, c'est en fait ARMv8, existe dans l'iPhone 5 par ex.
MIPS: dans certains systèmes embarqués aussi; plus rare.
Et bien d'autres...
Après, passé ça il y a les spécificités de chaque logiciel assembleur; je peux citer TASM, NASM, GNU AS, MASM... qui disposent tous de leur propre syntaxe, et de leur propre documentation la décrivant ;)
Pour ce qui est des différences entre OS, c'est coté code et pas coté syntaxe que ça se passe: on n'appelle pas une fonction d'API Windows comme on appelle un syscall UNIX. De même sous Windows il y a l'enfer des conventions d'appel, qui fait qu'on appelle pas une fonction A et B de la même manière...
Bref, pas de comparaison faisable vu le "nombre d'assembleurs" qu'il existe :/
Toutefois le net regorge d'informations sur chacun d'entre eux.
from human import idiocy
del idiocy
Salut,
Il existe presque autant d'assembleurs que de microprocesseurs, tu voudrais programmer pour lequel ?
Ceci dit une fois que tu as appris l'un d'entre eux, le principe reste le même d'un processeur à l'autre à part la syntaxe et les capacités qui diffèrent, donc pour l'apprentissage n'importe quel assembleur va bien. Tu peu voir par exemple en français ce portail sur l'assembleur.
Il existe presque autant d'assembleurs que de microprocesseurs, tu voudrais programmer pour lequel ?
Ceci dit une fois que tu as appris l'un d'entre eux, le principe reste le même d'un processeur à l'autre à part la syntaxe et les capacités qui diffèrent, donc pour l'apprentissage n'importe quel assembleur va bien. Tu peu voir par exemple en français ce portail sur l'assembleur.