;Boucle interne pour afficher une colonne verticale par plaquage de texture ;à la place d'une ligne d'affichage horizontale. Optimisée pour une version sur ;32 bits. ;A ce stade: ;EAX = somme des avancées en entier de X & Y du pointeur source ;ECX = incrément du pointeur source pour avancer de un dans Y ;EDX = coordonnée fractionnaire Y de la texture source dans les 15 bits inférieurs ;de DX,coordonnée fractionnaire X dans le mot de poids fort de EDX, ;le bit 15 vaut 0 ;ESI = pointeur initial de la texture source ;EDI= pointeur initial de destination ;EBP = avancée fractionnaire de Y dans les 15 bits inférieurs de SP, avancée ;fractionnaire de X dans le mot de poids fort de EBP, le bit 15 vaut 0 SCANOFFSET=0 REPT LOOP_UNROLL mov bl,[esi] ;récupère le pixel de l'image add edx.ebp ;avancée fractionnaire Y dans DX, ;avancée fractionnaire X dans le mot de poids fort de ;EDX adc esi.eax ;avance le pointeur source par la somme en entier de ;X & Y, en comptant également la retenue de l'addition ;fractionnaire X mov [edi+SCANOFFSET).bl ;paramètre le pixel de l'écran (mis ici pour ;éviter l'AGI du 486 de l'opcode précédent) test dh.80h ;retenue de l'addition fractionnaire Y? jz short @F ;non add esi.ecx ;oui, avance Y de un ;(produit l'agi du Pentium pour MOV BL,[ESI) and dh,not 80h;réinitialise le bit de retenue fractionnaire Y SCANOFFSET = SCANOFFSET + SCANWIDTH ENDM