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
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.