chti23/soft/PjtKEIL_StepDeb_2/Src/Cligno.s
2023-03-24 18:36:50 +01:00

79 lines
No EOL
1.2 KiB
ArmAsm

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
FlagCligno dcb 0
export FlagCligno
export timer_callback
; ===============================================================================================
; char FlagCligno;
;void timer_callback(void)
;{
; if (FlagCligno==1)
; {
; FlagCligno=0;
; GPIOB_Set(1);
; }
; else
; {
; FlagCligno=1;
; GPIOB_Clear(1);
; }
;
;}
;Section ROM code (read only) :
area moncode,code,readonly
; écrire le code ici
include DriverJeuLaser.inc
; r0 : l'adress de FlagCligno
; r1 :
; r2 : valeur du flag
timer_callback proc
push {lr}
ldr r0,=FlagCligno ; mets l'adresse de FlagCligno dans r0
ldr r2, [r0] ; mets dans r2 la valeur du flag
cbz r2, alors ; FlagCligno = 0 => Mise a 1
cbnz r2, sinon ; FlagCligno = 1 => Mise a 0
alors
; mets FlagCligno a 1
mov r2, #0x1
str r2, [r0]
; GPIOB_Clear(1)
mov r1, #1
bl GPIOB_Clear
sinon
; mets FlagCligno a 0
mov r2, #0x0
str r2, [r0]
; GPIOB_Set(1)=
mov r1, #1
bl GPIOB_Set
pop {pc}
endp
END