diff options
| -rw-r--r-- | firmware/target/arm/system-arm.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/firmware/target/arm/system-arm.c b/firmware/target/arm/system-arm.c index e83b7c5..01d2ba6 100644 --- a/firmware/target/arm/system-arm.c +++ b/firmware/target/arm/system-arm.c @@ -99,8 +99,9 @@ void __attribute__((noreturn)) UIE(unsigned int pc, unsigned int num) void __attribute__((naked)) __div0(void) { asm volatile ( - "ldr r0, [sp] \r\n" - "mov r1, #3 \r\n" - "b UIE \r\n" + "ldr r0, [sp] \r\n" + "sub r0, r0, #4 \r\n" + "mov r1, #3 \r\n" + "b UIE \r\n" ); } |