Affichage d'un carré (rouge), centré, sur la pointe, qui se remplit

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 859 fois - Téléchargée 29 fois

Contenu du snippet

Compilé moi ça avec Tasm,

c tout simple affichage d'un carré rouge centré sur la pointe avec une dimension de 200x200 coloré en vert.

Voici les interruptions appelé:

; mode vidéo n°12 : AH=0, AL=12, INT 10h
; affichage d'un pixel : AH=12, AL=couleur,CX=X,DX=Y, INT 10h

le programme commence a remplir la moitié du carré a partir du milieu jusqu'a tout en haut et puis du milieu jusqu'à tout en bas.

le reste c'est du calcul de pixel :)

J'espère que ça pourra en aider + d'1

Si vous avez des problèmes a la comprehension de ce piti algorithme laisser voc commentaire et j'y répondrai

désolé pour le screen pas moyen d'en faire sous dos je pense loool

Source / Exemple :


;
;  Affichage d'un carré rouge, centré, sur la pointe
;  ce carré a une dimension de 200x200 et sera coloré en vert.
;
;  mode vidéo n°12  : AH=0, AL=12, INT 10h
;  affichage d'un pixel : AH=12, AL=couleur,CX=X,DX=Y, INT 10h
;
.MODEL SMALL
.STACK 100H
.486
.CODE
MAIN    PROC

        MOV     AL,12h          ; mode VGA
        SUB     AH,AH           
        INT     10h

        MOV     AL,12           ; rouge
        MOV     AH,12           ; ecrire pixel
        MOV     BH,0            ; page 0
        MOV     CX,120
        MOV     DX,240          ; centré

        MOV     BL,199          ; cote = 199 pixels
@@1:    INC     CX
        DEC     DX
        INT     10h             ; coté ouest -> nord
        DEC     BL
        JNZ     @@1

        MOV     BL,199          
@@2:    INC     CX
        INC     DX
        INT     10h             ; coté nord -> est
        DEC     BL
        JNZ     @@2

        MOV     BL,199     
@@3:    DEC     CX
        INC     DX
        INT     10h             ; coté est -> sud
        DEC     BL
        JNZ     @@3

        MOV     BL,199 
@@4:    DEC     CX
        DEC     DX
        INT     10h             ; coté sud -> ouest
        DEC     BL
        JNZ     @@4

        MOV     AL,10           ; vert

        MOV     SI,397          ; horizontale
@@5:    PUSH    SI              ; remplir vers le haut
        PUSH    CX
@@6:    INC     CX
        INT     10h
        DEC     SI
        JNZ     @@6
        POP     CX
        INC     CX
        DEC     DX
        POP     SI
        DEC     SI
        DEC     SI
        JNS     @@5

        MOV     CX,121
        MOV     DX,241

        MOV     SI,395          ; ligne la plus longue déjà faite        
@@7:    PUSH    SI              ; remplir vers le bas
        PUSH    CX
@@8:    INC     CX
        INT     10h
        DEC     SI
        JNZ     @@8
        POP     CX
        INC     CX
        INC     DX
        POP     SI
        DEC     SI
        DEC     SI
        JNS     @@7

fin:    MOV     AX,4C00h
        INT     21h
MAIN    ENDP
END     MAIN

Conclusion :


Compiler sous tasm, si y a un bug merci de le signaler

A voir également

Ajouter un commentaire

Commentaires

cs_steven007
Messages postés
150
Date d'inscription
jeudi 24 janvier 2002
Statut
Membre
Dernière intervention
27 avril 2007
-
Merci :P

4 ans + tard j'en suis toujours aussi fière quand je repasse sur le site à vrai dire je ne serai plus capable de le refaire car j'ai changé de métier et de vie... lol , c'était un projet que je devais faire pour l'école ça me rappel de bon vieux souvenir tous cela. Allez salut tous ;)
cs_Maxilie
Messages postés
23
Date d'inscription
mercredi 12 mars 2003
Statut
Membre
Dernière intervention
9 décembre 2003
-
superbe
cs_steven007
Messages postés
150
Date d'inscription
jeudi 24 janvier 2002
Statut
Membre
Dernière intervention
27 avril 2007
-
Pour changer de couleur par exemple changer la couleur du coutour qui est rouge, modifier le 12 et entré la couleur correspondant a votre choix.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.