diff options
| author | Rafaël Carré <rafael.carre@gmail.com> | 2010-06-12 17:15:44 +0000 |
|---|---|---|
| committer | Rafaël Carré <rafael.carre@gmail.com> | 2010-06-12 17:15:44 +0000 |
| commit | 12e85b609f0c12fcff26200e54854a52d9ca1f99 (patch) | |
| tree | 0e311c60184f2b02329001563fff728a2aad5f43 | |
| parent | 96d164f26d91abff273aa610eedb1d91317d207f (diff) | |
| download | rockbox-12e85b609f0c12fcff26200e54854a52d9ca1f99.zip rockbox-12e85b609f0c12fcff26200e54854a52d9ca1f99.tar.gz rockbox-12e85b609f0c12fcff26200e54854a52d9ca1f99.tar.bz2 rockbox-12e85b609f0c12fcff26200e54854a52d9ca1f99.tar.xz | |
__div0: give the address of the instruction calling division to UIE
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26820 a1c6a512-1295-4272-9138-f99709370657
| -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" ); } |