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