StepSon + debut StepDFT

這個提交存在於:
Benoit Fau 2023-05-30 18:23:42 +02:00
父節點 1d99ea6a3a
當前提交 59492cfe2c

查看文件

@ -30,10 +30,10 @@ Index dcd 0x00000000
CallbackSon proc CallbackSon proc
push {lr} push {lr}
ldr r0, =SortieSon ldr r0, =SortieSon ; r0 = &SortieSon car SortieSon variable
ldr r1, =Son ldr r1, =Son ; r1 = &Son
ldr r2, =Index ldr r2, =Index ; r2 = &Index
ldr r3, =LongueurSon ldr r3, =LongueurSon ; r3 = &LongueurSon
push {r4} push {r4}
push {r5} push {r5}
push {r6} push {r6}
@ -42,9 +42,9 @@ CallbackSon proc
push {r9} push {r9}
push {r10} push {r10}
push {r11} push {r11}
ldr r4, [r2] ;on stocke la valeur de l'index dans r4. ldr r4, [r2] ; r4 = Index
ldr r10, [r2] ;on stocke la valeur de l'index dans r4. ldr r10, [r2] ; r10 = Index
ldr r11, [r3] ldr r11, [r3] ; r11 = LongueurSon
cmp r10, r11 cmp r10, r11
bne notEqual bne notEqual
push {r12} push {r12}
@ -64,18 +64,18 @@ CallbackSon proc
notEqual notEqual
mov r9, #2 mov r9, #2
mul r4, r9 mul r4, r9 ; r4 = 2*Index
ldrsh r5, [r1, r4] ;on stocke la valeur de Son[index] dans r5; ldrsh r5, [r1, r4] ; r5 = Son[(2*)Index] //ldrsh car 16 bits signés
ldr r6, [r0] ; on stocke la valeur de SortieSon dans r6 ldr r6, [r0] ; r6 = SortieSon
mov r7, #360 mov r7, #360
mov r8, #32768 mov r8, #32768
mul r5, r7 mul r5, r7
sdiv r5, r8 sdiv r5, r8
adds r5, #360 adds r5, #360 ; r5 = (r6*360)/32768 + 360 pour la mise à l'échelle entre 0 et 719 des valauers de SortieSon
strh r5, [r0] ; on stocke la valeur calculee dans r0 strh r5, [r0] ;SortieSon chargée dans la mémoire //strh car 16 bits signe positif
mov r0, r5 mov r0, r5
adds r10, #1; on incremente r4 qui correspond à la valeur de l'index adds r10, #1; r10 = Index++
str r10, [r2] str r10, [r2] ;Index chargée dans la mémoire //str car 32 bits
pop {r11} pop {r11}
pop {r10} pop {r10}
pop {r9} pop {r9}
@ -89,9 +89,9 @@ notEqual
ENDFUNC ENDFUNC
StartSon proc StartSon proc
ldr r0, =Index ldr r0, =Index; r0 = &Index
mov r1, #0 mov r1, #0 ; r1 = 0
str r1, [r0] str r1, [r0] ;Index chargée dans la mémoire //str car 32 bits
bx lr bx lr
ENDFUNC ENDFUNC