Je débute en asm, donc j'aurais besoin de votre aide et de vos conseils...
Voilà mon premier prog:
.nolist
#INCLUDE "ti83plus.inc"
#INCLUDE "ion.inc"
#DEFINE ProgStart $9D95
_clr =4BD0 ;GrBufClr (n'existait pas pour le compilo on calc) => J'ai le droit de le placer là?
.list
.org progstart-2
.db $BB,6D
ret
jr nc,put
.db "Mouvement",0
put:
ld b,16
ld a,(X)
ld hl,(Y)
ld c,2
ld ix,sprite
call ilargesprite
call ifastcopy
getkey:
ld a,FEh
out (1),a
in a,(1)
cp 254
jr z,bas
cp 253
jr z,gauche
cp 251
jr z,droite
cp 247
jr z,haut
ld a,FDh
out (1),a
in a,(1)
cp 191
ret z
jr getkey
bas:
ld a,(Y)
cp 40
jr z,getkey
bcall clr
inc a
ld (Y),a
jp put
gauche:
ld a,(X)
cp 1
jr z,getkey
bcall clr
dec a
ld (X),a
jp put
droite:
ld a,(X)
cp 60
jr z,getkey
bcall clr
inc a
ld (X),a
jp put
haut:
ld a,(Y)
cp 1
jr z,getkey
bcall clr
dec a
ld (Y),a
jp put
sprite:
.db 11111111b,11111111b
.db 10000000b,00000000b
.db 10000000b,00000000b
.db 10111111b,00111110b
.db 10000000b,00000000b
.db 10001000b,00001000b
.db 10010100b,00010100b
.db 10100010b,00100010b
.db 10000000b,00000000b
.db 10000001b,00000000b
.db 10000001b,00000000b
.db 10000000b,00000000b
.db 10010000b,00001000b
.db 10001000b,00010000b
.db 10000111b,11100000b
.db 10000000b,00000000b
X:
.db 20
Y:
.db 20
ret
.end
.end
Prog compilé: Fichier joint : A3.8xp
Le but de ce programme est juste de balader une image sur l'écran.
La syntaxe (notament du header) est peut-être fausse, parce que je programme on calc.
Le problème, c'est que ce programme est super lent (rien à voir avec Tiny carZ et autre)...
Donc: comment le faire plus rapide??? Comment l'améliorer?
Merci beaucoup.
).