Il semble être une opinion répandue que la programmation d'assemblage prend plus de temps et est plus difficile à programmer dans un langage de niveau supérieur tel que C. Par conséquent, il semble être recommandé ou supposé qu'il est préférable d'écrire dans un langage de niveau supérieur pour ces raisons et pour une meilleure portabilité.
Récemment, j'ai écrit dans un assemblage x86 et il m'est apparu que peut-être ces raisons ne sont pas vraiment vraies, sauf peut-être la portabilité. C'est peut-être plus une question de familiarité et de savoir bien écrire l'assemblage. J'ai également remarqué que la programmation en assembleur est assez différente de la programmation en HLL. Peut-être qu'un bon programmeur assembleur expérimenté pourrait écrire des programmes aussi facilement et aussi rapidement qu'un programmeur C expérimenté écrivant en C.
C'est peut-être parce que la programmation d'assemblage est assez différente de celle des HLL, et nécessite donc une réflexion, des méthodes et des manières différentes, ce qui rend très difficile la programmation pour les inconnus, et lui donne donc son mauvais nom pour l'écriture de programmes.
Si la portabilité n'est pas un problème, alors vraiment, qu'aurait C sur un bon assembleur tel que NASM?
Edit: Juste pour souligner. Lorsque vous écrivez en assembleur, vous n'avez pas à écrire uniquement dans les codes d'instructions. Vous pouvez utiliser des macros et des procédures et vos propres conventions pour créer diverses abstractions afin de rendre les programmes plus modulaires, plus faciles à gérer et plus faciles à lire. C'est là qu'intervient la façon d'écrire un bon assemblage.