implicite: les opérandes sont spécifiés implicitement dans la définition de l'instruction. Exemple: CLA
, CME
, INP
. Il est principalement utilisé pour les instructions Zero-address (STACK-organisé) et One-address (ACCUMULATOR-organisé).Différence entre le mode d'adressage implicite et le mode d'adressage immédiat?
immédiat: l'opérande est spécifié dans l'instruction elle-même et principalement pour les constantes. Exemple: ADD R1,#3
, MUL R1,R2,#7
mais la question est comment vérifier l'instruction: 1) PUSH 3
et
2) LD 7
La première est une instruction d'adresse zéro (Stack base) et le second est une instruction d'accumulateur dans les deux instructions, l'opérande est défini dans l'instruction elle-même. Quel mode d'adressage est préféré?
Comment vérifier si l'instruction est implicite ou immédiate?
Merci
* Comment vérifier si l'instruction est implicite ou immédiate? * Cela n'a pas vraiment de sens. Vous devez regarder chaque opérande séparément, pas toute l'instruction. par exemple. PUSH stocke implicitement dans la pile, mais son opérande explicite peut être un registre, ou immédiat. Sur certaines architectures, comme x86, PUSH peut même accepter un opérande de mémoire. ['PUSH r/m32'] (http://www.felixcloutier.com/x86/PUSH.html) est un opcode, et le mode d'adressage sélectionne entre la source de mémoire ou de registre. –
@Peter si l'instruction est 'PUSH A' l'opérande est en mémoire alors est-ce un mode implicite car l'opérande n'est pas le OPERAND ACTUEL? –
On ne sait pas pourquoi c'est important. Utilisez simplement l'instruction. –