PpHd Le 10/12/2001 à 19:27 Parce que move.l d0,variable(Pc) n'existe pas. C'est tout.
Explication pratique : ,variable a lieu durant la seconde phase du processus de traitement de l'instruction du 68000. Durant cette phase, le compteur Pc est incremente pour lire le'instruction et acceder a l'instruction suivante.
Donc on ne peut pas utiliser le registre Pc durant ce temps puisqu'il est dans une etat stationnaire : en train de passer a l'instruction suivante.
ok merci en fait je vient de me rendre compte que javais vu le bcd en si
Y a deux fesses qui sont sur la plage et l'une dit à l'autre :
"Qu'est ce qu'on fait maintenant ?"
Et l'autre lui répond :
"Ben PROUT !!!"
Miles Le 11/12/2001 à 08:35 L'avantage, c'est qu'il existe des opérations d'addition et de soustraction BCD en ASM.
pour mettre des interruptions persos faut que je mettent comment les nouvelles adresses?
je fais genre (si ma nouvelle interruption se trouve apres fromage:........rte et si jai fais ce quil fallait pour pouvoir ecrire la ou je veux)
lea fromage(pc),a0
move.l a0,$64
ou
move.l #fromage,$64
??????????????????
paske la deuxieme methode ca marche qd je teste mais bon je sais pas si cest tres permis et si ca marchera toujours.....
Y a deux fesses qui sont sur la plage et l'une dit à l'autre :
"Qu'est ce qu'on fait maintenant ?"
Et l'autre lui répond :
"Ben PROUT !!!"
au fait meci miles pour le roxr en fait je vais men servir et en plus ca fait plus propre qd meme
Y a deux fesses qui sont sur la plage et l'une dit à l'autre :
"Qu'est ce qu'on fait maintenant ?"
Et l'autre lui répond :
"Ben PROUT !!!"
move.l #fromage,$64 est correct mais:
- 2 octets pour l'instruction move.l #imm,abs.w
- 4 octets pour #fromage
- 2 octets pour $64 (qui sera codé en abs.w)
- 2 octets dans la table de relogements (si je me rappelle bien)
total: 10 octets
lea.l fromage(PC),a0
- 2 octets pour l'instruction lea.l x(PC),a0
- 2 octets pour fromage(PC)
move.l a0,$64
- 2 octets pour l'instruction move.l a0,abs.w
- 2 octets pour $64 (codé en abs.w)
total: 8 octets
Donc ça épargne 2 octets au prix d'un registre détruit (mais de toute façon a0 partira aux oubliettes au prochain ROM_CALL).
[edit]Edité par Kevin Kofler le 11-12-2001 à 21:25:00[/edit]
ok merci et vive le fromage
sinon trap #1 ca sert a changer le masque dinterruption mais jarrive pas a men servir
si je fais :
move.w #fd00,d0
trap #1
normalement ya que les interruptions de niveau superieur a 5 qui marchent nan ?????????
[edit]Edité par jpflori le 11-12-2001 à 21:41:16[/edit]
Y a deux fesses qui sont sur la plage et l'une dit à l'autre :
"Qu'est ce qu'on fait maintenant ?"
Et l'autre lui répond :
"Ben PROUT !!!"
Moi j'y vais un peu plus salement, je détourne tout vers des rte.
L'avantage de ma méthode : on "désactive" les AIs mais on peut quand même les utiliser :-))))

Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 :
www.ti-fr.com.
Quelques idées personnelles
ici.
et pis euh cest quoi le nombre de nop minimum entre move.b pouet,$600019 et move.b $60001b,boum ???????,,, (sur hw1 et 2 cest pareil ????)
Y a deux fesses qui sont sur la plage et l'une dit à l'autre :
"Qu'est ce qu'on fait maintenant ?"
Et l'autre lui répond :
"Ben PROUT !!!"
ouais je sais mais la ca memmerde de tous les detourner donc je coupent ceux que je veux pas !!!! (et pis ca prend moins de place)
Y a deux fesses qui sont sur la plage et l'une dit à l'autre :
"Qu'est ce qu'on fait maintenant ?"
Et l'autre lui répond :
"Ben PROUT !!!"
12 nops ou n'importe quel code prenant le même nombre de cycles de processeur (un dbra par exemple) minimum.
12 nop ca fait 12*4=48 cycles mais pour le dbra faut que ca fasse combien de boucle pas ke dans mon fichier pour les cycles jai
DBcc t/f 10 12/14
et euh t/f cest pour true false nan???? mais ca prend combien de cycles????
bon faudrais faire ca nan:
blablabla
moveq #3,d0 ;4 cycles
loop:
dbra d0,loop ;10*3+14=44 cycles
; -> 48 cycles
blablabla
[edit]Edité par jpflori le 12-12-2001 à 14:52:53[/edit]
[edit]Edité par jpflori le 12-12-2001 à 14:55:57[/edit]
Y a deux fesses qui sont sur la plage et l'une dit à l'autre :
"Qu'est ce qu'on fait maintenant ?"
Et l'autre lui répond :
"Ben PROUT !!!"
PpHd Le 12/12/2001 à 17:06 AMS fait une attente de $58 :
moveq #$58,d0
loop dbra d0,loop
PpHd Le 12/12/2001 à 17:53 Ca depend du hardware, et de la ligne demandee.
Le vrai strict minimum pour que n'importe quelle ligne soit scannée, c'est 12 ou moins ?
Sinon, moi je met du code UTILE plutôt que des nop ou un dbra.

Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 :
www.ti-fr.com.
Quelques idées personnelles
ici.
ouais mais bon comme je men sers un peu tout le temps et que jai pas la meme chose a faire a chaque fois....
Y a deux fesses qui sont sur la plage et l'une dit à l'autre :
"Qu'est ce qu'on fait maintenant ?"
Et l'autre lui répond :
"Ben PROUT !!!"
Un dbra avec $58 est plus qu'excessif.
En revanche, 9 nops sont insuffisants. C'est 10 nops minimum pour HW1 et 12 pour HW2, donc à retenir: 12.
PpHd Le 14/12/2001 à 16:26 Et je dirais 14 pour etre tranquille. Je sais que $58 est excessif, mais on pourrait esperer que les inge de chez ti connaissent leur affaire...