[openfirmware] [commit] r2491 - cpu/arm
repository service
svn at openfirmware.info
Wed Aug 31 10:21:10 CEST 2011
Author: wmb
Date: Wed Aug 31 10:21:10 2011
New Revision: 2491
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/2491
Log:
ARM - Added some comments to ARM multiplication code words. No functional change.
Modified:
cpu/arm/muldiv.fth
Modified: cpu/arm/muldiv.fth
==============================================================================
--- cpu/arm/muldiv.fth Wed Aug 31 10:19:47 2011 (r2490)
+++ cpu/arm/muldiv.fth Wed Aug 31 10:21:10 2011 (r2491)
@@ -208,23 +208,23 @@
c;
code fm/mod ( d.dividend s.divisor -- s.rem s.quot )
- mov r3,tos
- mov r2,tos,asr #0 \ sign extend divisor
- pop r0,sp
- pop r1,sp
- stmdb sp!,{r8,r9}
+ mov r3,tos \ r3:divisor.low
+ mov r2,tos,asr #0 \ r2:divisor.high (sign extended)
+ pop r0,sp \ r0:dividend.high
+ pop r1,sp \ r1:dividend.low
+ stmdb sp!,{r8,r9} \ save r8 and r9
cmp r0,#0
- < if
+ < if \ negative dividend?
rsbs r1,r1,#0
- rsc r0,r0,#0
+ rsc r0,r0,#0 \ r0,r1: abs(dividend)
cmp r2,#0
- < if
+ < if \ negative divisor?
rsbs r3,r3,#0
- rsc r2,r2,#0
+ rsc r2,r2,#0 \ r2,r3: abs(divisor)
bl 'code (u64division)
rsbs r1,r1,#0
- rsc r0,r0,#0
- else
+ rsc r0,r0,#0 \ negate remainder for floored division
+ else \ nonnegative divisor
mov r8,r2
mov r9,r3
bl 'code (u64division)
More information about the openfirmware
mailing list