jo_benni
Messages postés4Date d'inscriptionlundi 7 février 2005StatutMembreDernière intervention18 février 2005
-
10 févr. 2005 à 15:36
jo_benni
Messages postés4Date d'inscriptionlundi 7 février 2005StatutMembreDernière intervention18 février 2005
-
11 févr. 2005 à 14:15
Salut à tous, voilà je débute en assembleur et j'ai fait un petit programme exe qui affiche une succession de cadre de plus en plus grand. Le probleme c que lorsque la longueur d'un côté du carré dépasse 255, ca affiche n'importe quoi ! j'ai essayé de parer à ce problème mais sans succès. Je vous laisse juger par vous-même. Si quelqu'un pouvais résoudre ce problème, ca serai cool!
pop ax
push ax
add x3, ax
sub y3, ax
push x3 y3 1 2
call dessine
add compteur, 01d
pop ax
push ax
cmp ax, 0
jne ajout_pas_5
pop ax
add ax, 5
push ax
ajout_pas_5:
cmp compteur, 26
jne répétition_cadre
;attente frappe touche
frappe:
mov ah, 01h
int 16h ;vérifie le buffer pour voir si une touche du clavier a été enfoncée
je frappe ;si buffer vide, on attend une frappe
mov ah, 00h ;sinon on vide le buffer
int 16h
;retour au mode text
mov ah, 00h
mov al, 00h
int 10h
;arrêt programme
mov ah, 4ch
int 21h
dessine proc near
;sauvegarde adresse début pile
mov bp, sp
jo_benni
Messages postés4Date d'inscriptionlundi 7 février 2005StatutMembreDernière intervention18 février 2005 11 févr. 2005 à 14:15
Ben j'ai modifié mon programme en me servant d'une variable
interval_cadre que j'ai du déclarer en "dw" et pas en "db" - je
sais pas pourquoi lol - pour éviter tous ces pop ax push ax !
Ca marche toujours pas, je sais pas quoi faire, ca vient peut être de
l'interruption 10h mais normalement non puisqu'elle se sert des
registres cx et dx pour les coordonées des points !