summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/target/arm/system-arm.c7
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"
);
}