aide en assembleur ARM

aide en assembleur ARM - Divers - Programmation

Marsh Posté le 03-06-2007 à 15:45:52    

j'ai un pb avec un sujet d'assembleur ARM voila je ne comprends pas très bien ce qu'il faut faire. On me donne  
chaine.h
 

Code :
  1. typedef char * PointeurCar ;
  2.   typedef struct
  3. {
  4.     int nbCar ;
  5.     PointeurCar ptrCar ;   
  6. } ChaineDyn ;


Code :
  1. @S/P copierChaine
  2.     .include "defTypes.s"
  3.  
  4. @ parametres
  5.     .equiv    ch1, 8        @ mise a jour, passage par adresse
  6.     .equiv    ch2, 12        @ entree, passage par valeur
  7.     .equiv    ptRep, 20     @ entree, passage par valeur
  8.  
  9. @ variables locales
  10.     .equiv    lgCh2, -4
  11.     .equiv    ptrAlloc, -8
  12.     
  13.     .section .rodata
  14. ERR_ALLOC:
  15.     .asciz    "**** erreur malloc"
  16.  
  17.     .text
  18.     .align    2
  19.  
  20. .CERR_ALLOC:
  21.     .word    ERR_ALLOC
  22.  
  23.     .global    copierChaine
  24. copierChaine:
  25.     stmfd    sp!, {r0-r3}
  26.     stmfd    sp!, {fp, lr}
  27.     mov    fp, sp
  28.     sub    sp, sp, #2*4
  29.  
  30.     ldr    r0, [fp, #ch2+nbCar]
  31.     str    r0, [fp, #lgCh2]
  32. .Lsi1:
  33.     cmp    r0, #0
  34.     bne    .Lsin1
  35.     mov    r1, #NULL
  36.     str    r1, [fp, #ptrAlloc]
  37.     b    .Lfsi1
  38. .Lsin1:
  39.     bl    malloc
  40.     str    r0, [fp, #ptrAlloc]
  41. .Lsi2:
  42.     cmp    r0, #NULL
  43.     bne    .Lfsi2
  44.     ldr    r0, [fp, #ptRep]
  45.     ldr    r1, .CERR_ALLOC
  46.     bl    longjmp
  47. .Lfsi2:
  48.     ldr    r1, [fp, #ch2+ptrCar]
  49.     ldr    r2, [fp, #lgCh2]
  50.     bl    memcpy
  51. .Lfsi1:
  52. .Lsi3:
  53.     ldr    r0, [fp, #ch1]
  54.     ldr    r0, [r0, #ptrCar]
  55.     cmp    r0, #NULL
  56.     beq    .Lfsi3
  57.     bl    free
  58. .Lfsi3:
  59.     ldr    r0, [fp, #ch1]
  60.     ldr    r1, [fp, #lgCh2]
  61.     str    r1, [r0, #nbCar]
  62.     ldr    r2, [fp, #ptrAlloc]
  63.     str    r2, [r0, #ptrCar]
  64.  
  65.     mov    sp, fp
  66.     ldmfd    sp!, {fp, lr}
  67.     add    sp, sp,    #4*4
  68.     mov    pc, lr


 
on me demande de faire les sousprog sortirChaine, entrerChaine, extraireSousChaine et comparerChaine en s'inspirant de l'exemple mais j'avoue que je ne comprends rien!


Message édité par gilou le 09-05-2011 à 21:08:34
Reply

Marsh Posté le 03-06-2007 à 15:45:52   

Reply

Marsh Posté le 06-06-2007 à 23:11:48    

salut,
 
moi aussi je suis de l'IUT Informatique de Toulouse à Paul Sabatier !!
Si tu veux j'ai tout fini pour ce qu'il faut rendre ce lundi 11 juin mais malheureusement tant que je ne serais pas noté je ne donnerais rien à personne.
 
Au revoir, on se revoit après le 11 juin si tu en as encore besoin !

Reply

Marsh Posté le 12-06-2007 à 13:48:02    

Tiens, on faisait du 68k à Paul Sab' avant :D
EDIT : putaing, ils utilisent encore leurs typedefs alakon [:chadouw]


Message édité par maestun le 12-06-2007 à 13:49:58
Reply

Marsh Posté le 13-12-2007 à 17:28:37    

Ca faisait un moment. Je relance un vieux topic !  
Alors tu l'as rendu ton devoir d'Assembleur ? J'ai fait exactement le même et je m'en suis sorti avec un 15/20 je trouve que c'est pas mal

Reply

Marsh Posté le 14-12-2007 à 06:57:51    

Mort de rire ! L'autre qui veut savoir si son collègue vit encore !! :D

Reply

Marsh Posté le 18-03-2008 à 18:30:14    

ludo2612 a écrit :

Ca faisait un moment. Je relance un vieux topic !  
Alors tu l'as rendu ton devoir d'Assembleur ? J'ai fait exactement le même et je m'en suis sorti avec un 15/20 je trouve que c'est pas mal


 
 
Salut  :hello:  
Moi ausssi j'ai ce sujet a faire, tu pourrais m'aider stp, je comprend rien  :pt1cable:  a l'assembleur ...
Merci d'avance.

Reply

Marsh Posté le 03-05-2008 à 21:18:47    

Alors, tu as eu ta note en Assembleur ?

Reply

Marsh Posté le 09-05-2011 à 20:55:22    

SI quelqu'un à les reponses au sujet peut il me prévenir merci bcp

Reply

Marsh Posté le 10-05-2011 à 09:18:28    

On va pas déterrer ce topic tous les ans pour avoir la réponse. Si on vous l'a donné à faire, c'est qu'on vous estime capable de le faire. Le forum n'est pas là pour faire le boulot à votre place.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed