48Fermer50
Kevin KoflerLe 21/05/2008 à 00:34
PpHd (./47) :
Le C possède une librairie standard, pas l'asm.

Mais il est possible d'utiliser la librairie standard C en assembleur, au moins en partie. (TIGCCLIB a beaucoup de macros C qu'il faut traduire à la main, mais les fonctions peuvent être appelées aussi en assembleur.)
Tu as toujours des registres / de la mémoire / des caches / des pipelines / des out of order / des latences / des read / des writes / des add,sub,and... / des mul, div / des shift.

Non.
Sur le 68000, tu n'as pas de cache, le pipeline se limite à un prefetch de quelques octets, il n'y a pas d'out of order.
Il y a aussi des processeurs sans instructions de multiplication ni de division, par exemple le Z80.
Et il y a les architectures VLIW comme l'Itanium qui sont très différentes (les jeux d'instructions classiques essaient de cacher l'out of order, le VLIW pas du tout, c'est au compilateur ou à la personne qui écrit en assembleur de s'en occuper).
Pourtant, tu connais ces machines, je ne comprends donc pas pourquoi tu généralises comme ça. confus

Sinon, j'ai un autre point à rajouter: en C, si on ne fait pas exprès d'écrire du code illisible, on n'a en général pas besoin de commentaires, ou de très peu de commentaires, pour comprendre son code (et en général celui des autres aussi). En assembleur, il est impératif de commenter, sinon on ne comprend vite plus son propre code! (Genre "mais qu'est-ce que j'ai donc mis dans le registre %a3 ici, et c'est quoi 4(%a2,%d7.l)?")