Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Aide affighage chiffre asm 8086 [ Archives / Aide a la programmation Windows ] (MayouMX)

mardi 25 mai 2004 à 15:45:14 | Aide affighage chiffre asm 8086

MayouMX

Bonjour a tous,
je dois programmer un pong en assembleur et la je butte pour l'affichage des scores.

J'ai créer un segment qui ressemble a ca :


exemple a le tableau du 8
c'est le meme principe pour les autes nombres.
les nombres correspondent a la couleur a afficher

var segment

cpt dw 0

tab8 db 0,57,57,57,57,0
db 57,0,0,0,0,57
db 57,0,0,0,0,57
db 57,0,0,0,0,57
db 0,57,57,57,57,0
db 57,0,0,0,0,57
db 57,0,0,0,0,57
db 57,0,0,0,0,57
db 0,57,57,57,57,0
var ends

Ensuite je voudrais a partir de ces tableaux afficher mes nombres, g donc créer cette procédures :

Affiche8 PROC
PUSH AX
PUSH BX
PUSH CX
PUSH ES

MOV AX,0A000h ;Adresse du tab d'octet
MOV ES,AX
MOV cpt,0 ;variable pour avancer ds le tableau
MOV BX,465 ; indice du premier point a afficher
MOV CX,6
l1:
PUSH BX ; on sauvegarde BX qui contient l'indice d'affichage
MOV BX,cpt ; on met le cpt dans BX
MOV AL,tab8[BX] ; on recupere la valeur du tableau
ADD BX,1 ; on incremente le compteur
MOV cpt,BX ; incrémente le compteur
POP BX ; on recupere l'indice de l'affichage
MOV ES:[BX],AL ; nouvelle couleur pour l'affichage
ADD BX,1 ; incrémente la position d'affichage
LOOP l1

MOV BX,785 ;indice de la seconde ligne a afficher
MOV CX,6
l2:

on refait la meme chose

LOOP l2

POP ES
POP CX
POP BX
POP AX
RET
Affiche8 ENDP


Voila, cette procédure ne m'affiche qu'un seul point a la place d'une barre correspondant au dessus du 8.
Je n'arrive a trouver l'erreur...est ce que c l'acces au tableau qui n'est pas bon ?

Si qqun pouvais me donner un coup de main, ce serai vraiment du bonheur !!

Merci d'avance pour vos reponse

Mayou...

dimanche 1 juin 2008 à 20:31:16 | Re : Aide affighage chiffre asm 8086

PCBill



Bonsoir,

Peut être que cette procédure d'affichage t'aidera :

displaywholenumber PROC
;-----------------------------------------------------------
;display the non signed decimal number that is stocked in AX
;-----------------------------------------------------------
          push AX
          push dx
          push cx
          mov bx,10           ;BX est le dénominateur
          mov cx,0            ;CX is our counter

          decompose:
              mov dx,0
              div bx          ;AX/BX = what remains = DX and quotient = AX
              push dx         ;stock what remains in the stack
              inc cx
              cmp ax,0        ;quotient = 0 ?
              jnz decompose   ;if not continue decomposition
            
          displ:
              pop ax           ;load a number from the stack
              call displayn    ;in order to display it
              loop displ       ;repeat displayin until CX = 0
              pop cx
              pop bx
              pop ax
              ret
displaywholenumber ENDP




Cette discussion est classé dans : db, affichage, mov, bx, cpt


Répondre à ce message

Sujets en rapport avec ce message

pb d'affichage :s [ par rana ] bjrje voudrais savoir, comment faire pour afficher une chaine de caractère en faisant une boucle (en utilisant repne scasb) jusqu a arrive a une lett petit probleme de debutant [ par freekc ] j'essaie de faire un ptit prog que lorsque l'on rentre son nom prenom etc . Il y est un recapitulatif qui se mette en dessous ms lorsque que le recapi Simple addition [ par nostra ] Big totoJe n'arrive pas à afficher les valeurs A (=3) et B(=2) ainsi que le résultat de l'addition. Merci de trouver le ou les erreurs commises.;----- Addition pourtant simple [ par nostra ] Big totoJe n'arrive pas à afficher le résultat de l'addition malgré les remarques de Nemesis. Merci de trouver le ou les erreurs commises. ;---------- probleme avec l interruption affichage de chaine [ par M0NTOYA ] bon voila mon probleme ,qd j utilse cette procedure(presentation) pour afficher une chaine de caractere presentation PROC PUSHA MOV AH,09h INT 21h POP probleme avec l interruption affichage de chaine [ par M0NTOYA ] bon voila mon probleme ,qd j utilse cette procedure(presentation) pour afficher une chaine de caractere presentation PROC PUSHA MOV AH,09h INT 21h POP Peut on comparer deux binaire avec cmp ? [ par MrNice ] Lo le forum me revoila ave cun new prob...donc en fait g une table de variable, je prends al=0 je fait un xlat et je compare ce resultat avec une entr Multiplication de deux nombres compris entre 0 et 99 en assembleur [ par petitspirou ] salut, j'ai un programme a faire mais je suis nul en assembleur, voici ce que j'ai fais mais ca ne fonctionne pas.Quelqun peut'il me le corriger et me rs232 [ par TRAX44 ] salut,tout premièrement je sais qu'il ya des exemples sur le site!mais mon problème est autre je tiens à comprendre pourquoi mon code ne fonctionne pa pb affichage ligne [ par mat74 ] salut a ts voila j'ai fait une fonction pr faire des lignes , j'ai deciner un carre a 100,100 jusqu'a 200,200 et sa marche nickel mais ia un ptit pb q


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.