be_chti/PjtKEIL_StepDeb_2/Src/Cligno.s
2023-04-07 18:16:39 +02:00

88 lines
No EOL
1.2 KiB
ArmAsm

PRESERVE8
THUMB
include DriverJeuLaser.inc
export timer_callback
; ====================== zone de réservation de données, ======================================
;Section RAM (read only) :
area mesdata,data,readonly
;Section RAM (read write):
area maram,data,readwrite
;char FlagCligno;
FlagCligno dcb 0 ; reserve seulement un octet de memoire
; ===============================================================================================
;Section ROM code (read only) :
area moncode,code,readonly
; écrire le code ici
;void timer_callback(void)
;{
; if (FlagCligno==1)
; {
; FlagCligno=0;
; GPIOB_Set(1);
; }
; else
; {
; FlagCligno=1;
; GPIOB_Clear(1);
; }
;
;}
timer_callback proc
;void timer_callback(void)
;{
push {lr}
; if (FlagCligno==1)
ldr r2,=FlagCligno
EXPORT FlagCligno
ldrb r1, [r2]
mov r0, #1
cmp r1, #1
bne Sinon
; {
; FlagCligno=0;
mov r1, #0
; GPIOB_Set(1);
str r1, [r2]
bl GPIOB_Set
; }
b fin
; else
Sinon
; {
; FlagCligno=1;
mov r1, #1
str r1, [r2]
; GPIOB_Clear(1);
bl GPIOB_Clear
; }
;
fin
;}
pop {lr} ; pop {pc} remplace les
bx lr ; deux lignes car on met l'
; ancienne valeur de lr dans pc
endp
END