je l'ai trouvé tel quel dans une routine d'un programme. ça date du temps où j'apprenais l'assembleur en regardant les programmes déjà fait, c'était le bon temps :lol
joe14 Le 22/07/2003 à 22:35 6 est bien le nombre de digits à afficher. Par MAXIMAL, ils veulent dire que vous imposez une limite à 6 chiffres. Vous pouvez trés bien imposer la limite à 9 chiffres (sûrement pas plus...). C'est juste un exemple. De plus, si le nombre à afficher, c'est 2. Vous aurez beau imposer une limite à dix mille chiffres, il n'en affichera que 1 seul.
Pour ma part j'utilise toujours la valeur 5, car on ne peut pas aller plus loin que 65535 (5 chiffres).
Si on appelle _dispop1a avec une valeur de a trop petite, on a ERR:OVERFLOW.
Juste une remarque:
on peut se passer des routines à la _dispop1a pour afficher le contenu de HL, voici ce qu'utilise Dan Weiss pour Bubble Bobble (Tijl Coosemans utilise aussi une routine qui ressemble à ça pour Ztris) :
[code:1:f42357f52a]
;==========================================
; VDispA - Displays A in the small font
;==========================================
vDispA:
ld h,0
ld l,a
;===========================================
; VDispHL - Displays hl in the small font
;===========================================
vDispHL:
push de
push hl
ld de,op1+5
xor a
ld (de),a
vdhlRepeat:
icall(_divhlby10)
add a,'0'
dec de
ld (de),a
ld a,h
or l
jr nz,vdhlRepeat
ex de,hl
bcall(_vputs)
pop hl
pop de
ret
[/code:1:f42357f52a]
Je trouve que c'est une très bonne chose d'utiliser ça, car utiliser les routines qui manipulent les OPs c'est:
* lent
* chiant pour porter les programmes
à bon entendeur