blob: 7f27b5f48f6ee2e1b345b76e0bb4103bb9607fdb [file] [log] [blame]
RSEG ICODE:CODE
EXTERN vSetErrorLED
PUBLIC vSetAndCheckRegisters
vSetAndCheckRegisters:
/* Fill the general purpose registers with known values. */
mov r11, #10
add r0, r11, #1
add r1, r11, #2
add r2, r11, #3
add r3, r11, #4
add r4, r11, #5
add r5, r11, #6
add r6, r11, #7
add r7, r11, #8
add r8, r11, #9
add r9, r11, #10
add r10, r11, #11
add r12, r11, #12
/* Check the values are as expected. */
cmp r11, #10
bne set_error_led
cmp r0, #11
bne set_error_led
cmp r1, #12
bne set_error_led
cmp r2, #13
bne set_error_led
cmp r3, #14
bne set_error_led
cmp r4, #15
bne set_error_led
cmp r5, #16
bne set_error_led
cmp r6, #17
bne set_error_led
cmp r7, #18
bne set_error_led
cmp r8, #19
bne set_error_led
cmp r9, #20
bne set_error_led
cmp r10, #21
bne set_error_led
cmp r12, #22
bne set_error_led
bx lr
set_error_led:
push {r14}
ldr r1, =vSetErrorLED
blx r1
pop {r14}
bx lr
END