begin process at 2012 05 24 02:40:32
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

68xxx

 > DESSINER DES PIXELS MODE GRAPHIQUE 320X200 EN 256 COULEURS

DESSINER DES PIXELS MODE GRAPHIQUE 320X200 EN 256 COULEURS


 Information sur la source

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :68xxx Niveau :Débutant Date de création :20/04/2003 Date de mise à jour :20/04/2003 12:41:22 Vu / téléchargé :5 113 / 270

Auteur : RaphAstronome

Ecrire un message privé
Site perso
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 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

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

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

Source avec une capture AIRSTRIKE, JEU DE &#8216;SHOOT THEM UP&#8217; EN ASSEMBLEUR par loudadyassine
LECTURE ET ECRITURE D'UN CARACTERE ET D'UNE CHAINE DE CARACT... par yasmus
Source avec Zip EN UTILISANT LES INTERRUPTIONS DE DOS , CECI EST UN CODE DE... par iltir_master
DÉCONCATÉNATION DE CHAÎNE SOUS MASM32V8 par Stormy
GENERIC WINDOWS XP URL DOWNLOAD AND EXECUTE SHELLCODE par theXman

Commentaires et avis

Commentaire de kilomaster le 29/04/2003 21:30:17

j'aime bien ton code.
en plus il utilise les interruption bios, ça peut être utile pour un petit OS marrant.
@++
Merci

Commentaire de RaphAstronome le 30/04/2003 15:50:26

merci

Commentaire de krust le 10/01/2004 00:43:12

ça marche pas avec MAsm, le registre es sur 16bit est trop petit pour une caleur 32bits

what the fuck ?


je débute en asm alors parfois je suis completement à coter de la plaque ;)

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,842 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales