Aller au contenu

Énigmes

	mov dl, 0x52
loop:
	pop al
	xor al, dl
	mov dl, al
	push al
	jmp loop

10101.0.1101011.1100.1001000.1011100.1010111.1000.1011000.1000001

Partager ce message


Lien à poster
Partager sur d’autres sites

14 réponses à cette énigme

Messages recommandés

  • 0

Depuis qu'elle a été postée cette énigme m'a intriguée, je n'ai pas pris le temps de m'y intéresser mais... ça viendra !

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

On est d'accord que c'est bien de l'assembleur ?

J'ai toujours eu un peu de mal avec ce langage.

 

Ya-t-il besoin de faire tourner le code ou bien ça peut se faire à la main ?

Et je ne vois pas pour le moment le lien entre le code et le binaire.

Sauf si ce dernier représente la pile mais pour moi y a trop de bits.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
7 hours ago, Cybero said:

On est d'accord que c'est bien de l'assembleur ?

On est d'accord

 

7 hours ago, Cybero said:

Ya-t-il besoin de faire tourner le code ou bien ça peut se faire à la main ?

Tu pourras pas le faire tourner :p

 

7 hours ago, Cybero said:

Sauf si ce dernier représente la pile mais pour moi y a trop de bits.

Et pourtant...

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
Il y a 3 heures, Zero a dit :

Tu pourras pas le faire tourner :p

 

J'avoue avoir essayé sans succès, ça explique :p

 

Il y a 3 heures, Zero a dit :

Et pourtant...

 

Ok :casque:

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Chapeau d'avoir trouvé quelque chose... je me suis cassé les dents à plusieurs reprises sur cette affaire !

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
Révélation

On a une liste de valeurs, séparées par des points et écrites en base 2. Il faut prendre les éléments de la liste un par un et les modifier en s'inspirant de la routine fournie.

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Ayant bien la logique mais pas réussi à l'appliquer, je ne suis pas contre une réponse un peu plus détaillée.

Merci d'avance ! :)

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bien sûr, voici quelques détails supplémentaires.

Révélation

 

  • dl = 0x52 = 0101 0010
  • Premier élément de la liste : al = 0001 0101
  • al xor dl = 0100 0111 = 0x47, soit le caractère "G" de la table ASCII.
  • Je mets al dans dl.

 

  • dl = 0x47 = 0100 0111
  • Deuxième élément de la liste : al = 0000 0000
  • al xor dl = 0100 0111 = 0x47, soit le caractère "G" de la table ASCII.
  • Je mets al dans dl.

 

  • dl = 0x47 = 0100 0111
  • Troisième élément de la liste : al = 0110 1011
  • al xor dl = 0010 1100 = 0x2C, soit le caractère "," (virgule) de la table ASCII.
  • Je mets al dans dl.

 

  • Etc jusqu'au dernier élément de la liste.

 

 

  • Au top ! 2

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

joliment expliqué ca parait simple, j'avoue qu'elle m'a intrigué mais mes cours d'assembleurs remontant à presque 30 ans et je n'ai pas pratiqué derrière, je n'ai pas cherché plus loin

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.

×
×
  • Créer...

Information importante

En utilisant ce site, vous acceptez notre Politique de confidentialité et nos Conditions d’utilisation
Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.