COLDFIRE ♥ MONTIGNY Eric ♥ La fonction ADD Opération : Source + Destination → Destination Syntaxe assembleur : ADD.L <adresse effective>source, DDESTINATION ADD.L DSOURCE, <adresse effective>Destination Attributs : Taille = longword Description : La fonction ADD permet d’additionner la valeur de la source opérande, avec l’opérande destination, et elle stocke le résultat à l’adresse de destination. La taille de l’opération est spécifiquement longword. Le mode de l’instruction indique avec quel opérande est la source, et comment est la destination. Le mode DDESTINATION est utilisé lorsque la destination est un registre. La destination <adresse effective>source est invalide pour un registre de donnée. La fonction ADDA est utilisée lorsque la destination est un registre d’adresse. Les fonctions ADDI et ADDQ sont utilisées lorsque la source contient immédiatement la donné (donc par adressage immédiat). Format de l’instruction : 15 14 13 12 1 1 0 1 11 10 Registre 9 8 7 6 Mode opératoire 5 4 3 2 1 0 Adresse effect. (Source) Mode Registre Champs des instructions : ♥ Champ sur le registre : Spécifier le registre de donnée. ♥ Champ sur le mode opératoire : Byte Word Longword --010 --110 MONTIGNY Eric. Traduction en français de la notice du COLDIRE. Opération <adresse effective>source + DDESTINATION → DDESTINATION DSOURCE + <adresse effective>destination → <adresse effective>destination ♥ Champ sur l’adresse effective : Ce champ détermine le mode d’adressage. ♣ Pour une source opérande du type <adresse effective>source, utiliser les modes d’adressages listés dans ce présent tableau : Adresse mode Mode Registre Signification Adressage par registre de données DY 000 Numéro du registre DY Adressage par registre d’adresse AY 001 Numéro du registre AY Adressage indirect par registre d’adresse (AY) 010 Numéro du registre AY Adressage indirect par registre d’adresse, avec post (AY)+ 011 Numéro du registre AY incrément. -(AY) 100 Numéro du registre AY (d16,AY) 101 Numéro du registre AY (d8,AY,Xi) 110 Numéro du registre AY (xxx).W 111 000 (xxx).L #<data> (d16,PC) (d8,PC,Xi) 111 111 111 111 001 100 010 011 Adressage indirect par registre d’adresse, avec pré décrément. Adressage indirect par registre d’adresse, avec déplacement sur 16 bits. Adressage indirect avec déplacement sur 8 bits, et registre d’index. Adressage absolu sur un word (16 bits), avec une extension de signe sur 32 bits. Adressage absolu sur un long-word (32 bits). Adressage immédiat ** ** ♣ Pour la destination de l’opérande, du type <adresse effective>destination, utiliser les modes d’adressages listés dans ce présent tableau : Adresse mode Mode Registre Signification Adressage par registre de données DX ----Adressage par registre d’adresse AX ----Adressage indirect par registre d’adresse (AX) 010 Numéro du registre AX Adressage indirect par registre d’adresse, avec post (AX)+ 011 Numéro du registre AX incrément. -(AX) 100 Numéro du registre AX (d16,AX) 101 Numéro du registre AX (d8,AX,Xi) 110 Numéro du registre AX (xxx).W 111 000 (xxx).L #<data> (d16,PC) (d8,PC,Xi) 111 ------- 001 ------- Adressage indirect par registre d’adresse, avec pré décrément. Adressage indirect par registre d’adresse, avec déplacement sur 16 bits. Adressage indirect avec déplacement sur 8 bits, et registre d’index. Adressage absolu sur un word (16 bits), avec une extension de signe sur 32 bits. Adressage absolu sur un long-word (32 bits). Adressage immédiat ** ** La fonction ADD est difficile à utiliser, méfiance ! MONTIGNY Eric. Traduction en français de la notice du COLDIRE.