chti23/soft/PjtKEIL_StepSon/Src/GestionSon.s
2023-04-07 15:16:03 +02:00

65 lines
No EOL
1 KiB
ArmAsm

PRESERVE8
THUMB
include Driver/DriverJeuLaser.inc
; ====================== 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
EXPORT CallbackSon
IMPORT Son
IMPORT LongueurSon
;Section ROM code (read only) :
area moncode,code,readonly
; écrire le code ici
CallbackSon proc
push {lr}
ldr r3,=Index
ldr r1,[r3]
ldr r0,=LongueurSon
ldr r2,[r0]
cmp r1,r2
beq FinSig
bge Fin
; if index < longueur son
ldr r2,=Son ; r2 = @ debut son
ldr r0,[r2,r1]
add r0,#32768
mov r2,#720
mul r0,r2
lsr r0,#16
ldr r2,=SortieSon
str r0,[r2]
add r1,#1
str r1,[r3]
b Fin
;if index = longueurSon
FinSig
mov r0,#0
ldr r2,=SortieSon
str r0,[r2]
add r1,#1
str r1,[r3]
; if index > longueurson
Fin
pop {pc}
endp
END