Section courante

A propos

Section administrative du site

Assembleur 68000

MOVEM

Motorola 68000+ Déplacement de multiples registres

Syntaxe

MOVEM register list,ea
MOVEM ea,register list

Paramètres

Nom Description
register list Ce paramètre permet d'indiquer la liste de registre à transférer.
ea Ce paramètre permet d'indiquer l'adresse mémoire pour l'opération.

Description

Cette instruction permet de déplacer le contenu du registre sélectionné ou de l'emplacement de mémoire consécutif débutant à l'emplacement spécifié vers l'adresse effective. Un registre est sélectionné si le bit dans le champ de masque correspondant à ce registre vaut 1. La taille de l'instruction détermine si chaque registre 16 ou 32 bits sont transférés. Dans le cas d'un transfert de mot vers des registres d'adresses ou de données, chaque mot est étendu à 32 bits, et le mot long résultant est chargé dans le registre associé.

La sélection de mode d'adresse sélectionne également le mode de fonctionnement de l'instruction MOVEM, et seuls les modes de contrôle, le mode de prédécrémentation et le mode post-inscrémentation sont valides. Si l'adresse effective est spécifiée par l'un des modes de contrôle, les registres sont transférés à partir de l'adresse spécifiée et l'adresse est incrémentée de la longueur (2 ou 4) après chaque transfert. L'ordre des registres va du registre de données 0 au registre de données 7, puis du registre d'adresse 0 au registre d'adresse 7.

Si l'adresse effective est spécifiée par le mode prédécrémenté, seule une opération de registre vers la mémoire est autorisé. Les registres sont entreposés en commençant à l'adresse spécifiée moins la longueur de l'opérande (2 ou 4), et l'adresse est décrémentée par la longueur de l'opérande après chaque transfert. L'ordre d'entreposage va du registre d'adresse 7 au registre d'adresse 0, puis du registre de données 7 au registre de données 0. Lorsque l'instruction est terminée, le registre d'adresses décrémenté contient l'adresse du dernier opérande mémorisé. Pour les microprocesseur MC68020, MC68030 et MC68040, si le registre d'adressage est également déplacé en mémoire, la valeur écrite est la valeur initiale du registre décrémentée par la taille de l'opération. De son côté, le microprocesseur MC68000 écrit la valeur initiale du registre (non décrémentée).

Si l'adresse effective est spécifiée par le mode post-incrémenté, seule une opération de mémoire à registre est autorisée. Les registres sont chargés à partir de l'adresse spécifiée; l'adresse est incrémentée de la longueur de l'opérande (2 ou 4) après chaque transfert. L'ordre de chargement est le même que celui de l'adressage en mode de contrôle. Lorsque l'instruction est terminée, le registre d'adresses incrémenté contient l'adresse du dernier opérande plus la longueur de l'opérande. Si le registre d'adressage est également chargé depuis la mémoire, la valeur de la mémoire est ignorée et le registre est écrit avec l'adresse effective post-incrémentée.

Algorithme

Destination ← Registres
Registres ← Source

Registre de codes de condition

Cette instruction n'affecte pas les bits de drapeau du registre de codes de condition.

Voir également

Langage de programmation - Assembleur 68000 - Référence d'instructions - MOVE
Langage de programmation - Assembleur 68000 - Référence d'instructions - MOVEA

Dernière mise à jour : Mercredi, le 22 novembre 2017