De mémoire, l'instruction a un octet d'opcode ("ajouter"), un octet de mode d'adresse, un décalage pour x (4 octets) et la constante (4 octets) ==> 10 octets. Je suppose que le 486 récupère 4 octets à la fois de la mémoire avec une adresse de bus alignée sur les limites DWORD de 4 octets. Donc 10 octets prend sans doute 3 lectures de mémoire (= 10/4 arrondi) peu importe où vous les placez. Toutefois, si l'octet d'opcode est placé dans le dernier octet d'un DWORD, les 9 octets restants couvrent 3 DWORDS supplémentaires par rapport au nombre total de lectures. En réalité, il peut être 4.
Pour effectuer l'ajout, l'emplacement X doit être récupéré . Supposons que X est divisé sur une limite DWORD -> 2 lectures. L'ajout de la constante se produit à l'intérieur de la CPU, et la somme est réécrite à travers la même division de frontière DWORD -> 2 écritures. Donc, le pire des cas devrait être 8 opérations de mémoire.
probablement vous devriez essayer de lire les manuels d'Intel et essayer de résoudre vos problèmes vous-même plutôt que d'afficher des questions aléatoires en attendant une explication de quelque chose d'étrange. –
la réponse est 8 mais je ne sais pas pourquoi – nisnis84
ce n'est pas les devoirs j'apprends pour un essai !!!!! – nisnis84