Ced Le 03/10/2001 à 17:02 Quelqu'un pourrait me dire pourqoi ce prog ne fonctionne pas:
_main:
move.w #$F00,d0
trap #1
move.l d0,oldsr
jsr gkey
move.l oldsr,d0
trap #1
rts
gkey:
move.b #%11111110,$600018
nop
nop
nop
nop
nop
nop
keywait:
move.b $60001B,d0
btst.b #0,d0
bne keywait
rts
oldsr dc.l 0
Neuf fois sur dix le prog s'arrete sans attendre l'appui sur une touche!!
Mais non, ça doit aussi marcher avec le trap #1.
Le problème est probablement que tu ne mets que 6 nops. C'est 12 nops minimum.
[edit]Edité par Kevin Kofler le 24-09-2001 à 19:51:59[/edit]
non, pas de nops ! un dbra.
et un bsr à la place du jsr.
>ExtendeD:
>non, pas de nops ! un dbra.
>et un bsr à la place du jsr.
L'important est que ça fonctionne.
paxal Le 03/10/2001 à 17:02 freka: c plus facile pour un débutant le trap... parce que détourner des interruptions c tout un concept à comprendre, et toute un manoeuvre à éxecuter à chaque fois, et ca fais planter la calc quand tu t'y prends mal!
Ced Le 03/10/2001 à 17:02 C'est bon maintenant ca marche.
>> Kevin : mais ca devient une manie qui se transmet et qu'on ne se sépare pas!
>pour moi c pareil, j'utilise jamais de bsr, c pas bien ?
bsr prend beaucoup moins de place, et de plus est plus rapide que jsr.
[edit]Edité par Kevin Kofler le 25-09-2001 à 22:12:00[/edit]
PpHd Le 03/10/2001 à 17:02 Je crois que a68k transforme ca en jsr getkey(pc) qui est en temps similaire a un bsr (Mais je n'en suis pas sur).
TiMad Le 03/10/2001 à 17:02 Tout depend...
il peut etre utile de detourne les trap
(clr d0; trap #1)
Cela permet un gain de vitesse non negligeable pour des petits programmes n'ayant pas besoin de niveau de gris... ni de fonction tios du genre idle_loop....
Donc a toi de voir, soit tu rediriges les AI si tu veux utiliser les fonctions du tios ou les niveaux des gris.. soit tu les coupent tous , ce qui apporte un gain de temps non negligeable!!
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!
>PpHd: Je crois que a68k transforme ca en jsr getkey(pc) qui est en temps similaire a un bsr (Mais je n'en suis pas sur).
Non. Il n'y a pas d'optimisation absolu->PC-relatif dans A68k.
PpHd Le 03/10/2001 à 17:02 Pourtant il me semble vraiement avoir vu des references absolus se transformer en Pc relatif.
Ceci, j'en suis sur.
Peut-être que tu confonds avec GNU as, qui lui fait cette optimisation.