chti23/soft/PjtKEIL_StepSon/Src/GestionSon.s
2023-04-11 16:22:35 +02:00

63 lines
No EOL
1,011 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
push {r6}
ldr r6, LongueurSon
cmp r2, r6
ble notEqual
pop {r6}
notEqual
mov r6, #2
mul r6, r2
LDRSH r0, [r3, r6]
add r0, #32768
push {r4}
mov r4, #719
mul r0, r4
mov r4, #65535
udiv r0, r4
push {r7}
ldr r7, =SortieSon
str r0, [r7]
pop {r7}
add r2, #1
push {r5}
ldr r5, =index
str r2, [r5]
pop {r5}
pop {r4}
END