👤

Bonjour à tous ! J'ai un projet à faire en assembleur AQA (Peter Higginson), voici la consigne :
→ Ecrire un programme palindrome, vérifiant si un mot court (8 lettres maximum) est
ou non un palindrome.
(un mot palindrome s'écrit pareillement en miroir, comme le mot "kayak" ou "elle".
je dois bientôt le rendre, donc merci de votre aide!^^


Répondre :

Réponse :

Bonsoir,

Explications :

Je n'ai pas le temps d'expliquer: il est tard

    // un roc cornu

 0       B code

 1       DAT 85

 2       DAT 78

 3       DAT 82

 4       DAT 79

 5       DAT 67

 6       DAT 32

 7       DAT 67

 8       DAT 79

 9       DAT 82

10       DAT 78

11       DAT 85

12       DAT 13

     //------------------

13       DAT 0x49

14       DAT 0x43

15       DAT 0x49

16       DAT 13

   code:

17       MOV R12,#1

18       MOV R2,#0

19       MOV R0,#1

20       MOV R3,R0

   boucle:

21       LDR R1,[R0]

22       CMP R1,#13

23       BEQ Fin_boucle

24       ADD R2,R2,#1

25       ADD R0,R0,#1

26       B boucle

     // INP R0,2

     // OUT R1,7

   Fin_boucle:

27       SUB R0,R0,#1

28       LSR R2,R2,#1

     //OUT R2,5

29       LDR R1,[R0]

30       LDR R4,[R3]

31       OUT R1,5

32       OUT R4,5

   boucle_2:

33       CMP R2,#0

34       BEQ boucle_3

35       LDR R1,[R0]

36       LDR R4,[R3]

37       OUT R1,7

38       OUT R4,7

39       CMP R1,R4

40       BNE fin_boucle_2

41       SUB R0,R0,#1

42       ADD R3,R3,#1

43       SUB R2,R2,#1

44       B boucle_2

   fin_boucle_2:

45       mov R12,#0

   boucle_3:

46       OUT R12,5

47       halt