Quand je change de couleur ça plante

Quand je change de couleur ça plante - ASM - Programmation

Marsh Posté le 23-11-2003 à 18:29:58    

EDIT :  
 
C'est encore moi  :)  J'ai un pitit problème, j'ai créé une boucle qui affiche des caractères, mais quand je change la couleur des caractères, le programme plante et quittant  :??:  
Si vous pouviez m'éclairer.  
MErci
 
 
Me voici de retour avec une nouvelle question  :)  
 
Je cherche a afficher un pixel sur l'écran, et ce en asm; pour le moment j'en suis là :
 

Code :
  1. .model small
  2. .stack 100h
  3. .data
  4. A DW 10
  5. B DW 2
  6. .code
  7. main    proc
  8. MOV     AX,@data
  9. MOV     DS,AX
  10. MOV AX,0013h
  11. INT  10h
  12. MOV AH,0Ch
  13. MOV AL,2h
  14. MOV CX,A
  15. MOV DX,A
  16. MOV AX,4c00h
  17. INT     21h
  18. main endp
  19. end main


Ca n'affiche rien  :(  si vous pouviez m'aider


Message édité par Spy-master le 29-11-2003 à 21:17:25
Reply

Marsh Posté le 23-11-2003 à 18:29:58   

Reply

Marsh Posté le 23-11-2003 à 18:54:15    

Où est-ce que tu affiches le pixel dans ton code ?
Puis si tu sors du soft directement tu ne risques pas de voir grand chose, non ?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 23-11-2003 à 19:35:50    

j'appelles l'interupt 10 , je choisi ma résolution et je déplace les coordonées du pixel dans AX CX et DX


Message édité par Spy-master le 23-11-2003 à 19:43:04
Reply

Marsh Posté le 23-11-2003 à 20:36:49    

heu l'int 10h c'est pour changer la résolution donc.
Mais après avoir mis tes coordonnées dans des registre tu ne fais rien [:spamafote]
 
Ce que j'avais fait il y bien longtemps, après changement de résolution :
 
        MOV AX,0A000h
        MOV ES,AX
 
puis pour afficher un pixel :
 
        MOV ES:[DI],BL
 
où BL contenait l'index de la couleur (dans la palette), et DI la position du pixel (entre 0 et 63999 puisque l'écran fait 320x200).


Message édité par antp le 23-11-2003 à 20:39:22

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 23-11-2003 à 20:39:29    

je plussoie antp, tu ne verras rien si tu ne mets pas en place un petit mécanisme style "pressez sur une touche pour terminer", histoire que tu puisses àvoir le temps de voir ton pixel.
 
Faudra aussi que tu m'expliques comment t'arrives à afficher un pixel, j'ai l'impression qu'il manque quelque chose dans ton code (dans le genre accès au buffer vidéo). Bref t'as pas compris le truc :o
 
edit: ah zut grilled :o


Message édité par drasche le 23-11-2003 à 20:40:14

---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 23-11-2003 à 20:42:17    

drasche a écrit :

je plussoie antp, tu ne verras rien si tu ne mets pas en place un petit mécanisme style "pressez sur une touche pour terminer", histoire que tu puisses àvoir le temps de voir ton pixel.
 
Faudra aussi que tu m'expliques comment t'arrives à afficher un pixel, j'ai l'impression qu'il manque quelque chose dans ton code (dans le genre accès au buffer vidéo). Bref t'as pas compris le truc :o
 
edit: ah zut grilled :o


 
NOn y'a aussi moyen d'afficher ds pixels en utilisant les interruptions, mais c'est tellement lent que personne fait ca :D (et donc j'ai oublié la feinte)

Reply

Marsh Posté le 23-11-2003 à 20:43:47    

disons que je maîtrise que le buffer vidéo donc je vais pas m'emmerder à lui expliquer les interruptions :D


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 23-11-2003 à 20:46:05    

drasche a écrit :

disons que je maîtrise que le buffer vidéo donc je vais pas m'emmerder à lui expliquer les interruptions :D


 
disons que je me demande a quoi elle lui sert son i21 a la fin, stout

Reply

Marsh Posté le 23-11-2003 à 20:53:14    

chrisbk a écrit :


NOn y'a aussi moyen d'afficher ds pixels en utilisant les interruptions,  


 
ouais mais là il n'utilise pas d'interruptions pour les afficher justement [:ddr555]
 

chrisbk a écrit :


 
disons que je me demande a quoi elle lui sert son i21 a la fin, stout


 
pour quitter proprement, non ?  
j'ai aussi ça dans mes vieux softs assembleur


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 23-11-2003 à 20:58:19    

Après le MOV DX,A faudrait mettre un INT 10h

Reply

Marsh Posté le 23-11-2003 à 20:58:19   

Reply

Marsh Posté le 23-11-2003 à 21:00:40    

antp a écrit :

pour quitter proprement, non ?  

Wé, c'est pour renvoyer 0 (AL) au shell

Reply

Marsh Posté le 23-11-2003 à 21:07:20    

en fait j'ai po eu de cours sur l'affichage, j'ai juste chopé la doc sur l'int 10. et j'essaye de faire fonctionner tout ça.
 
Les bidules a la fin servent a rendre la main a dos gentillement.  
Encore merci  :jap:

Reply

Marsh Posté le 23-11-2003 à 21:37:38    

drasche a écrit :


Faudra aussi que tu m'expliques comment t'arrives à afficher un pixel, j'ai l'impression qu'il manque quelque chose dans ton code (dans le genre accès au buffer vidéo). Bref t'as pas compris le truc :o


non non, son code est (presque) bon. l'int 10h dispose d'un service situé en 0Ch pour afficher un pixel(x,y) :
 
AH = 0ch
AL = valeur du pixel
BH = n° du plan (4 plans en tout)
CX = x
CY = y
 

Code :
  1. .data
  2. A DW 10
  3. B DW 2
  4. .code
  5. main    proc
  6. MOV     AX,@data
  7. MOV     DS,AX
  8. MOV AX,0013h
  9. INT  10h //// AH = 00, AL = 13h : on utilise le service 00h de l'int 10h pour passer en mode 13h (320x200x256)
  10. MOV AH,0Ch // service 0Ch de l'int 10h : utilisé pour afficher un pixel à l'écran
  11. MOV AL,2h // AL = index de la couleur
  12. MOV CX,A // x du pixel (10)
  13. MOV DX,B // y du pixel (2)
  14. // début de mon rajout
  15. MOV BH,0 // numéro du plan où tu affiches le point
  16. INT 10h // t'as pas l'impression d'avoir oublié ça aussi ?
  17. boucle:
  18. IN AL,60h // on scanne le clavier
  19. CMP AL,1 // on a appuyé sur ESCAPE ?
  20. JNE boucle // non => on boucle
  21. // fin de mon rajout
  22. MOV AX,4c00h // fin du programme
  23. INT 21h
  24. main endp
  25. end main


 
je t'ai rajouté un test d'appui sur ESC pour que tu aies le temps de voir le résultat


Message édité par Harkonnen le 23-11-2003 à 22:12:26

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 23-11-2003 à 21:39:36    

et c koi l'interet d'afficher 1 pixel? :o


---------------
lecteur mp3 yvele's smilies jeux de fille
Reply

Marsh Posté le 23-11-2003 à 21:44:45    

une fois que tu sais afficher un pixel, tu sais afficher Mona Lisa, une grosse bite ou un dindon :o


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 23-11-2003 à 21:45:18    

forummp3 a écrit :

et c koi l'interet d'afficher 1 pixel? :o
 


j'ai commencé ma "carrière" de demomaker comme ça hein :o


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 23-11-2003 à 22:00:10    

Harkonnen a écrit :


j'ai commencé ma "carrière" de demomaker comme ça hein :o


 
merci beaucoup pour ta précieuse aide, je dois faire un touché coulé pour dans 3 semaines  :sweat: ; je risque donc de poser encore des questions.
 
encore merci

Reply

Marsh Posté le 24-11-2003 à 11:02:21    

L'assembleur t'es imposé? DOS aussi?


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 25-11-2003 à 20:34:36    

oui ASM imposé et avec Tasm comme compilo  :sarcastic:  peu même po taffer sous nux  :cry:  

Reply

Marsh Posté le 25-11-2003 à 22:21:42    

Rien à voir. On écris pas directement en VRAM comme ça que ce soir sous Linux ou Windows.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 25-11-2003 à 22:24:48    

[:totoz]

Reply

Marsh Posté le 25-11-2003 à 22:28:00    


 
ca change de ton langage d'universitaire attardé hein ? :O

Reply

Marsh Posté le 25-11-2003 à 22:37:38    

P'tain, faudrais arrêter de cracher sur java, on sait tous que c'est de la merde, ça suffit :o

Reply

Marsh Posté le 25-11-2003 à 23:05:05    

*Syl* a écrit :

P'tain, faudrais arrêter de cracher sur java, on sait tous que c'est de la merde, ça suffit :o


Le rapport avec l'asm ?
Et stp,n'insulte pas le java   ;)

Reply

Marsh Posté le 25-11-2003 à 23:26:44    

Spy-master a écrit :


Le rapport avec l'asm ?

Y'en a pas.. Par contre y'a un rapport avec le message du dessus :o
 
allez, -->[]
 
MOV AX,4c00h  
INT     21h  

Reply

Marsh Posté le 26-11-2003 à 05:54:57    

*Syl* a écrit :

Y'en a pas.. Par contre y'a un rapport avec le message du dessus :o
 
allez, -->[]
 
MOV AX,4c00h  
INT     21h  
 


 
Ouep ok  [:xp1700]  Mais le java saycool

Reply

Marsh Posté le 26-11-2003 à 09:46:59    

Spy-master a écrit :

Mais le java saycool


arrète de blasphémer et continue tes exos d'asm stp !

Reply

Marsh Posté le 26-11-2003 à 10:17:06    

chrisbk a écrit :


 
ca change de ton langage d'universitaire attardé hein ? :O


 
n'est pas universitaire qui veut :o
et je signale que Java est bien un des derniers languages que j'ai appris à l'unnif.


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 26-11-2003 à 10:21:00    

Spy-master a écrit :

oui ASM imposé et avec Tasm comme compilo  :sarcastic:  peu même po taffer sous nux  :cry:  
 


 
Tu as le droit a "gcc -S" ?  :whistle:

Reply

Marsh Posté le 28-11-2003 à 22:28:17    

Kristoph a écrit :


 
Tu as le droit a "gcc -S" ?  :whistle:  


 
gcc -S ça donne la source asm du c ça non ? Je connais pas le c moi, java inside [:bkssou]

Reply

Marsh Posté le 29-11-2003 à 21:30:46    

UP voir premier post

Reply

Marsh Posté le 30-11-2003 à 13:45:45    

merci de faire un nouveau POST pour une nouvelle question. il en va de la cohérence du topic et des ses réponses. merci

Reply

Marsh Posté le 30-11-2003 à 16:34:01    

oui désolé  :)  
j'ai trouvé la solution merci

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed