diff --git a/challenge/Project.uvoptx b/challenge/Project.uvoptx
index 0a908da..329a5b8 100644
--- a/challenge/Project.uvoptx
+++ b/challenge/Project.uvoptx
@@ -157,6 +157,22 @@
0
0
+ 38
+ 1
+ 134218234
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ .\Src\calcul_dft.s
+
+ \\CHTI\Src/calcul_dft.s\38
+
+
+ 1
+ 0
0
0
134218136
@@ -171,7 +187,7 @@
0x08000198
- 1
+ 2
0
10
1
@@ -186,6 +202,22 @@
\\CHTI\Src/principal.c\10
+
+ 3
+ 0
+ 10
+ 1
+ 134218164
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ .\Src\calcul_dft.s
+
+ \\CHTI\Src/calcul_dft.s\10
+
diff --git a/challenge/Src/calcul_dft.s b/challenge/Src/calcul_dft.s
index 7ebb36f..90e509f 100644
--- a/challenge/Src/calcul_dft.s
+++ b/challenge/Src/calcul_dft.s
@@ -3,23 +3,24 @@
export dft
N equ 64
- ; vitesse actuelle : 1726
+ ; vitesse initiale : 1726
+ ; vitesse actuelle : 1121
dft proc
; r0 = x (signal), r1 = k
- push {r4, r5, r6, r7, r8, r9, r10}
+ push {r4, r5, r6, r7, r8, r9}
ldr r2, =TabCos
ldr r3, =TabSin
mov r4, #0 ; r4 = i
mov r5, #0 ; r5 = ik
mov r9, #0 ; r9 = résultat réel
- mov r10, #0 ; r10 = résultat imaginaire
+ mov r12, #0 ; r10 = résultat imaginaire
deb_somme ldrh r6, [r0, r4, LSL #1] ; r6 = x[i], LSL #1 pour faire ×2 car chaque valeur est sur 2 octets | format 4.12
ldrsh r7, [r2, r5, LSL #1] ; r7 = cos [ik%N] | format 1.15
ldrsh r8, [r3, r5, LSL #1] ; r8 = sin [ik%N] | format 1.15
mla r9, r6, r7, r9 ; r9 += x[i] * cos[ik%n] | format 5.27
- mla r10, r6, r8, r10 ; r10 += x[i] * sin[ik%n] | format 5.27
+ mla r12, r6, r8, r12 ; r10 += x[i] * sin[ik%n] | format 5.27
add r5, r1 ; r5 = (i-1)k + k
and r5, #N-1 ; r5 = r5 % 64
@@ -31,9 +32,9 @@ deb_somme ldrh r6, [r0, r4, LSL #1] ; r6 = x[i], LSL #1 pour faire
smull r2, r0, r9, r9 ; (r2,r0) = Re(k)² | format : 10.54
- smlal r2, r0, r10, r10 ; (r2,r0) = Re(k)² + Im(k)² | format : 10.54
+ smlal r2, r0, r12, r12 ; (r2,r0) = Re(k)² + Im(k)² | format : 10.54
- pop {r4, r5, r6, r7, r8, r9, r10}
+ pop {r4, r5, r6, r7, r8, r9}
bx lr
endp