4042Fermer
ZerosquareLe 10/03/2012 à 14:54
Folco (./40) :
Par contre, je comprends pas comment utiliser le fait que les copies de longwords soient faites en deux fois (comme certains jeux le font). A part le fait que move soit interruptible, qu'est-ce qu'on peut bien faire entre les deux ?
Si c'est en RAM, je ne vois pas trop non plus (à part que c'est une race condition potentielle dans les systèmes avec plusieurs processeurs, mais ça c'est un effet indésirable).

Par contre ça peut jouer si tu accèdes à deux registres 16 bits consécutifs d'un périphérique en utilisant une seule instruction 32 bits. Vu qu'il y a souvent des effets secondaires des accès en écriture (et parfois même en lecture), l'ordre d'accès peut avoir une importance.

Exemple : certains périphériques qui possèdent plusieurs registres internes n'utilisent que 2 adresses externes : une qui sert d'index (le numéro du registre interne à lire/écrire), et l'autre dans laquelle tu mets ou récupère les données. Généralement ces 2 adresses sont consécutives. Pour gagner du temps, on peut faire une seule écriture 32 bits qui écrit l'index et les données, mais ça ne marche correctement que si c'est l'adresse d'index qui est écrite en premier.