Passe en mode graphique et dessine des pixels, ce programme utilise une procédure il suffit de mettre les coordonnées du pixel (x dans bx, y dans cx et le code couleur dans dl) et d'appeler la procédure.
Source / Exemple :
.Data
.code
mov ax, 13h ; Passe en mode graphique VGA 320x200x256
int 10h
mov bx,00h ; x
mov dx,00h ; couleur
mov cx,00h ; y
NextPix: call Pixel ; Dessinne 1 pixel
inc dx ; Incremente couleur
mov bx,dx ; Choisit un autre pixel
mov cx,dx
cmp bx,0FFh ; Si bx <> 320 on dessine le pix suivant
jne Nextpix
KeyQuit: mov ah,1 ; attand l'appuye d'une touche
int 16h
je KeyQuit
mov ax,0003h ; Retour en mode texte 80x25x16
int 10h
mov ax,4C00h ; Bye!
int 21h
Pixel: ; ax = rien bx = x (m) cx = y (m) dl = couleur
mov es,0a000h ; segment : carte video
imul cx,0140h ; multiplie cx par 320
add bx,cx ; cx est ajouté à la base
mov es:[bx],dl ; Dessine le pixel décrit dans dl
ret
Conclusion :
Note importante : le continu des registres es, cx et bx sont modifiées par l'exécution de cette procédure. De plus si les coordonnées x et y indiquent un point à l'extérieur de l'écran alors le pixel sera affiché à un autre endroit.
C'est mon premier prog en assembleur.
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.