begin process at 2010 03 20 09:21:59
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

Aide a la programmation Windows

 > 

Aide affighage chiffre asm 8086


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Aide affighage chiffre asm 8086

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ée 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...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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,296 sec (4)

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