chti23/soft/PjtKEIL_StepSon/Src/GestionSon.s
2023-04-11 17:17:59 +02:00

65 lines
No EOL
1,006 B
ArmAsm

PRESERVE8
THUMB
; ====================== zone de réservation de données, ======================================
;Section RAM (read only) :
area mesdata,data,readonly
;Section RAM (read write):
area maram,data,readwrite
SortieSon dcw 0
index dcd 0
; ===============================================================================================
EXPORT CallbackSon ;
EXTERN bruitverre ;
EXTERN Son ;
EXTERN LongueurSon ;
EXPORT SortieSon ; //pour evaluer la variable lors des tests
;Section ROM code (read only) :
area moncode,code,readonly
; écrire le code ici
CallbackSon
ldr r1, =index
ldr r2, [r1]
ldr r3, =Son
ldr r0, LongueurSon
cmp r2, r0
ble notEqual
bx lr
notEqual
mov r0, #2
mul r0, r2
ldrsh r0, [r3, r0]
add r0, #32768
push {r4}
mov r4, #719
mul r0, r4
mov r4, #65535
udiv r0, r4
pop {r4}
push {r7}
ldr r7, =SortieSon
str r0, [r7]
pop {r7}
add r2, #1
push {r5}
ldr r5, =index
str r2, [r5]
pop {r5}
bx lr
END