C'est ridicule de dire que cmp est incorrect et que cmpa est correct : moi je prends la position inverse, les instructions style cmpa & co sont complètement inutiles et induisent en erreur dans certains cas, donc j'utilise uniquement cmp/add/addq... Pareil pour cmpi, je ne m'en sers jamais cela dit là c'est plus une question de goût parce que ça n'induit pas en erreur ; et puis ça peut même être utile pour comprendre pourquoi cmp.w #imm,<ea> est accepté alors que cmp.w <ea>,<ea2> ne l'est pas, autrement dit dans certains cas c'est réellement une instruction différente (cmpa en revanche ne permet pas de mieux comprendre les choses).
Folco (./232) :
Pollux -> t'as une solution mieux à me proposer pour les modes d'adressages ? c'est bien de dire que ce que j'ai fait est nul, mais comment faire mieux ? J'ai déjà modifié mes flags de longueurs (SIZE_B, SIZE_W, SIZE_L, SIZE_BW, SIZE_WL, SIZE_BL, SIZE_BWL), c'est beaucoup plus lisible. 
Ben ce que j'ai proposé ça te va pas ? Dans GTC il y a un #define pour AM_AN_IND|AM_AN_INC|AM_AN_DEC|AM_X_AN|AM_X_AN_XN|AM_XW|AM_XL (que tu pourrais appeler AM_MEM), de même il y a AM_DST = AM_DREG|AM_AREG|AM_MEM, AM_DST2 = AM_DREG|AM_MEM, AM_SRC = AM_DST|AM_PCREL|AM_IMM...
Bref, le but est d'éviter de répéter sur 50 lignes différentes le même ensemble de flags illisibles et plutôt le regrouper dans un seul #define.