Récemment, je vais apprendre un langage de base de l'assemblage, j'ai cherché wiki et ce que je réalise est que le langage d'assemblage est juste une "version texte" du langage machine pour permettre à l'humain de lire? Cela signifie donc que tout ce que le langage machine peut faire en langage assembleur peut également finir, n'est-ce pas? Ou il existe une limitation dans le langage d'assemblage, tout comme un écart entre le langage de programmation de haut niveau et le langage d'assemblage (Quelque chose que nous ne pouvons pas bien faire dans un langage de haut niveau, donc nous devons utiliser l'assemblage) Language de machine?Y a-t-il quelque chose que le langage assembleur ne peut pas faire mais que seul le langage machine peut?
Une autre question est que j'ai trouvé une langue inférieure à la langue de la machine est "microcode"? Est-ce que quelqu'un connaît la relation entre le code machine et le microcode?
Tout dépend de votre assembleur qui transforme le texte en code machine. Sur x86, par exemple, certaines instructions d'assemblage peuvent être encodées en code machine de plusieurs manières, et votre assembleur peut ou non fournir un moyen pour spécifier celui que vous voulez. Cependant, cela n'a généralement pas d'importance. Le microcode se trouve à l'intérieur du processeur, vous n'avez normalement pas accès à cela en tant que programmeur d'application. – Jester
https://electronics.stackexchange.com/questions/1911/microprogramming-vs-machine-language-programming – Juan
Comme @Jester, la principale chose qui m'est apparue est lorsque vous voulez un encodage spécifique. Dans asm, vous pouvez utiliser 'db 0x90' ou quoi que ce soit à la place de' nop' pour encoder manuellement une instruction, mais sinon profiter de la commodité d'un assembleur. –