Dessiner des pixels mode graphique 320x200 en 256 couleurs

Description

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.

Codes Sources

A voir également

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.