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 FlagSon dcb 0 EXPORT FlagSon SortieSon dcw 0 EXPORT SortieSon Index dcw 0 EXPORT Index ;LDRD{cond} Rt, Rt2, [Rn, ±Rm] ; register offset, doubleword ; ARM only <-- INSTRUCTION A UTILISER ; =============================================================================================== ;Exportation de la fonction callbackson() EXPORT callbackson ;Section ROM code (read only) : area moncode,code,readonly ; écrire le code ici callbackson proc push{lr} ldr r1, =FlagSon ; on affecte à r1 l'adresse de FlagSon (r1 = pointeur sur FlagSon) ldr r2, [r1] ; on affecte à r2 la valeur contenu dans r1 SI cmp r2, #0 ; si Flag = 0 bne SINON ALORS ; on passe Flag à 1 + on allume B1 mov r2, #1 b FINSI SINON ; sinon on passe Flag à 0 + on éteint B1 mov r2, #0 FINSI ldr r1, =FlagSon str r2, [r1] ; on stocke la nouvelle valeur de r2 dans r1 (on met à jour FlagSon) pop {PC} endp END