grpE_ROUSSEAU_NORGEUX/soft/PjtKEIL_StepSon/Src/GestionSon.s
2023-04-14 16:50:08 +02:00

70 lines
No EOL
935 B
ArmAsm

PRESERVE8
THUMB
import Son
import LongueurSon
import PeriodeSonMicroSec
; ====================== 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 dcw 0
export SortieSon
; ===============================================================================================
;Section ROM code (read only) :
area moncode,code,readonly
; écrire le code ici
export timer_callback_son
timer_callback_son proc
push {lr,r4}
ldr r4,=Index
ldr r2,[r4]
mov r0, r2
ldr r1,=LongueurSon
ldr r2,[r1]
mov r1, r2
cmp r0, r1
beq fin
ldr r3,=SortieSon
ldr r2,=Son
ldrsh r1,[r2,r0, lsl #1]
add r1,#32768
mov r2, #720
mul r1,r2
asr r1,#16
str r1, [r3]
mov r3, r0
add r3, #1
str r3, [r4]
fin
pop {lr,r4}
bx lr
endp
END