Petit casse-tête (facile)

Des MO et des TO...

Modérateur : Politburo

Répondre
jasz
Désactivé
Messages : 796
Enregistré le : 12 déc. 2004 07:53
Localisation : Planete Zorg (31)

Message par jasz »

Tu as un réponse Edouard?
Stef
Avatar du membre
Prehisto
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 163
Enregistré le : 26 juin 2006 11:37
Localisation : France (24)

Message par Prehisto »

foolduplex a écrit :Quelle boucle ?
Oui très juste, ça pourrait ne pas en être une (Gasp! je me suis fais prendre à mon propre piège :oops: )
Avatar du membre
Prehisto
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 163
Enregistré le : 26 juin 2006 11:37
Localisation : France (24)

Message par Prehisto »

Code : Tout sélectionner

ADDD $#10   4 octets
CMPA $#04   2 octets
BNE xxxx     2 octets
Avatar du membre
foolduplex
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 628
Enregistré le : 02 oct. 2002 23:06
Localisation : Lausanne, Suisse
Contact :

Message par foolduplex »

Au fait, ce code genererait une erreur, mais c'est un detail :lol: (le # et le $ sont inverses)

Non je n'ai pas de reponse pour l'instant, mais je me demande pourquoi additioner $10 plutot que de tester contre $3F0 ?

Fool
Modifié en dernier par foolduplex le 10 août 2006 15:32, modifié 1 fois.
Avatar du membre
Prehisto
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 163
Enregistré le : 26 juin 2006 11:37
Localisation : France (24)

Message par Prehisto »

foolduplex a écrit :Au fait, ce code genererait une erreur, mais c'est un detail :lol: (le # et le $ sont inverses)

Fool
Oui, et je me suis efforcé de rester dans le style de la maison :lol:
Avatar du membre
Prehisto
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 163
Enregistré le : 26 juin 2006 11:37
Localisation : France (24)

Message par Prehisto »

foolduplex a écrit : Non je n'ai pas de reponse pour l'instant, mais je me demande pourquoi additioner $10 plutot que de tester contre $3F0 ?
Je pense que tu te rapproches de la solution sinon l'as trouvé. Rédige, rédige!
Où est Jasz? Quelqu'un a vu Jasz?...
Avatar du membre
foolduplex
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 628
Enregistré le : 02 oct. 2002 23:06
Localisation : Lausanne, Suisse
Contact :

Message par foolduplex »

Je crois qu'il s'est barré avec la caisse :lol:

Fool
Avatar du membre
Prehisto
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 163
Enregistré le : 26 juin 2006 11:37
Localisation : France (24)

Message par Prehisto »

foolduplex a écrit :Je crois qu'il s'est barré avec la caisse :lol:

Fool
Zut! C'était une diversion! :lol:
Avatar du membre
Prehisto
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 163
Enregistré le : 26 juin 2006 11:37
Localisation : France (24)

Message par Prehisto »

En attendant j'en ai une autre :

Code : Tout sélectionner

     PSHS   D        7 cycles
     LDD    #$0000   3 cycles
     SUBD   ,S++     8 cycles
Il s'agit d'obtenir la valeur opposée de D soit, dans une écriture non conventionnelle, -D. En gagnant 10 cycles et 2 octets
Yoann
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 142
Enregistré le : 28 oct. 2005 05:01

Message par Yoann »

Prehisto a écrit :En attendant j'en ai une autre :

Code : Tout sélectionner

     PSHS   D        7 cycles
     LDD    #$0000   3 cycles
     SUBD   ,S++     8 cycles
Il s'agit d'obtenir la valeur opposée de D soit, dans une écriture non conventionnelle, -D. En gagnant 10 cycles et 2 octets
Voyons ?

Code : Tout sélectionner

     STD LABEL+1
     LDD #$0000
LABEL
     SUBD #$0000
:D (Malheureusement, que 6 cycles de sauves)
Modifié en dernier par Yoann le 10 août 2006 16:32, modifié 1 fois.
Avatar du membre
Prehisto
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 163
Enregistré le : 26 juin 2006 11:37
Localisation : France (24)

Message par Prehisto »

Yoann a écrit : Voyons ?

Code : Tout sélectionner

     STD LABEL+1
     LDD #$0000
LABEL
     SUBD #$0000
:D
Haaa c'est pas mal: je n'avais pas pensé à ça. Mais il y a plus court et plus rapide...
Yoann
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 142
Enregistré le : 28 oct. 2005 05:01

Message par Yoann »

Prehisto a écrit : Haaa c'est pas mal: je n'avais pas pensé à ça. Mais il y a plus court et plus rapide...
Tu me connais ;) J'adore le code auto-modifiant, c'est bandant a debugger, surtout quand ca plante grave :D
Yoann
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 142
Enregistré le : 28 oct. 2005 05:01

Message par Yoann »

Prehisto a écrit : Haaa c'est pas mal: je n'avais pas pensé à ça. Mais il y a plus court et plus rapide...

Code : Tout sélectionner


    COMA
    COMB
    ADDD #1

Avatar du membre
Prehisto
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 163
Enregistré le : 26 juin 2006 11:37
Localisation : France (24)

Message par Prehisto »

Yoann a écrit :

Code : Tout sélectionner


    COMA
    COMB
    ADDD #1

Bravo: c'est ça! :D
Avatar du membre
Prehisto
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 163
Enregistré le : 26 juin 2006 11:37
Localisation : France (24)

Message par Prehisto »

foolduplex a écrit :Non je n'ai pas de reponse pour l'instant, mais je me demande pourquoi additioner $10 plutot que de tester contre $3F0 ?
Oui, ça ferait donc:

Code : Tout sélectionner

       CMPD   #$03F0      4 octets (5 cycles)
       BNE    xxxx        2 octets (3 cycles)
mais il y a mieux (plus court et plus rapide), en perdant malheureusement la valeur de D (ça dépendrait alors de la flexibilité du contexte):

Code : Tout sélectionner

       SUBD   #$03F0      3 octets (4 cycles)
       BNE    xxxx        2 octets (3 cycles)
Répondre

Retourner vers « Thomson »