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