Comment utiliser utiliser l'instruction REP : je souhaite faire une boucle qui répète plusieurs instructions ( pour écrire dans la mémoire vidéo exactement )
Merci de vos réponses !
Comment utiliser utiliser l'instruction REP : je souhaite faire une boucle qui répète plusieurs instructions ( pour écrire dans la mémoire vidéo exactement )
Merci de vos réponses !
M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal
REP, c'est pour les instructions de Chaînes. Exemple:
Pour des Boucles utilise:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 mov ecx 100 mov esi Source mov edi Destination rep movsb ; Copie 100 Bytes de Source vers Destination.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 mov ecx 100 L0: Fais çi ; Fais ça ; ... Loop L0
Betov.
http://betov.free.fr/Asm32Tut.zip
Merci beaucoup !!
Ça marche
Salut
M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal
Pour accelerer la copie, tu peux copier 16 voire 32 bits :
Pour la vitesse de transfert, tu peux y gagner mais pas tout le temps: ca depend ce que tu adresses. Par exemple pour ma vielle carte video, ca ne sert a rien de transferer sur 32 bits, c'est pareil que pour 16 bits.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 movsw ;es:di <- ds:si (word = 16 bits) movsd ;es:di <-ds:si (dword =32 bits)
Par contre il faut selectionner le flag d (direction) qui permet soit d'incrementer soit decrementer di/si apres l'instruction.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 cld ;clear Direction (++) std ;set Direction (--)
1)Avant de poster, merci de lire les règles. 2)Utiliser [code] [/code] pour quoter le code ! 3)Conseils pour le forum C [a lire en entier!]
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager