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