Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- INIT_Direction EQU 'L'
- AREA Lauflicht, CODE, READONLY, CODEALIGN
- IMPORT max6951_init
- IMPORT max6951_putRawWord
- IMPORT delay
- main PROC ; Main Funktion
- global main
- ldr r5, =max6951_init
- blx r5
- ldr r5, =RunLight
- ldr r6, =0x0001
- str r6, [r5]
- ldr r5, =RunDir
- ldr r6, =INIT_Direction
- strb r6, [r5]
- endless
- ;die aktuelle Richtung in die das Lauflicht läuft abfragen
- ldr r6, =RunDir
- ldrb r0, [r6]
- cmp r0, #'L'
- beq shiftLeft ;falls Richtung Links
- b shiftRight ;falls Richtung nicht Links
- shiftLeft
- ldr r5, =RunLight
- ldr r0, [r5]
- cmp r0, #0x8000
- beq ChangeDirToRight
- lsr r0, #1
- str r0, [r5]
- b wait
- shiftRight
- ldr r5, =RunLight
- ldr r0, [r5]
- cmp r0, #0x0001
- beq ChangeDirToLeft
- lsr r0, #1
- str r0, [r5]
- b wait
- ChangeDirToRight
- mov r0, #'R'
- strb r0, [r6]
- b shiftRight
- ChangeDirToLeft
- mov r0, #'L'
- strb r0, [r6]
- b shiftLeft
- wait
- ldr r5, =max6951_putRawWord
- blx r5
- mov32 r0, #0xf8000
- ldr r5, =delay
- blx r5
- b endless
- endp
- align
- AREA Variables, DATA, READWRITE, ALIGN=2 ;Variablen
- RunLight DCD 0x0000
- RunDir DCB 'L'
- ALIGN
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement