aboutsummaryrefslogtreecommitdiff
path: root/src/libmp/386/mpvecdigmulsub.s
diff options
context:
space:
mode:
Diffstat (limited to 'src/libmp/386/mpvecdigmulsub.s')
-rw-r--r--src/libmp/386/mpvecdigmulsub.s72
1 files changed, 36 insertions, 36 deletions
diff --git a/src/libmp/386/mpvecdigmulsub.s b/src/libmp/386/mpvecdigmulsub.s
index 8eec9425..017e86c9 100644
--- a/src/libmp/386/mpvecdigmulsub.s
+++ b/src/libmp/386/mpvecdigmulsub.s
@@ -1,54 +1,54 @@
-/*
- * mpvecdigmulsub(mpdigit *b, int n, mpdigit m, mpdigit *p)
- *
- * p -= b*m
- *
- * each step look like:
- * hi,lo = m*b[i]
- * lo += oldhi + carry
- * hi += carry
- * p[i] += lo
- * oldhi = hi
- *
- * the registers are:
- * hi = DX - constrained by hardware
- * lo = AX - constrained by hardware
- * b = SI - can't be BP
- * p = DI - can't be BP
- * i = BP
- * n = CX - constrained by LOOP instr
- * m = BX
- * oldhi = EX
- *
- */
+#
+# mpvecdigmulsub(mpdigit *b, int n, mpdigit m, mpdigit *p)
+#
+# p -= b*m
+#
+# each step look like:
+# hi,lo = m*b[i]
+# lo += oldhi + carry
+# hi += carry
+# p[i] += lo
+# oldhi = hi
+#
+# the registers are:
+# hi = DX - constrained by hardware
+# lo = AX - constrained by hardware
+# b = SI - can't be BP
+# p = DI - can't be BP
+# i = BP
+# n = CX - constrained by LOOP instr
+# m = BX
+# oldhi = EX
+#
+
.text
.p2align 2,0x90
.globl mpvecdigmulsub
mpvecdigmulsub:
- /* Prelude */
- pushl %ebp /* save on stack */
+ # Prelude
+ pushl %ebp # save on stack
pushl %ebx
pushl %esi
pushl %edi
- leal 20(%esp), %ebp /* %ebp = FP for now */
- movl 0(%ebp), %esi /* b */
- movl 4(%ebp), %ecx /* n */
- movl 8(%ebp), %ebx /* m */
- movl 12(%ebp), %edi /* p */
+ leal 20(%esp), %ebp # %ebp = FP for now
+ movl 0(%ebp), %esi # b
+ movl 4(%ebp), %ecx # n
+ movl 8(%ebp), %ebx # m
+ movl 12(%ebp), %edi # p
xorl %ebp, %ebp
pushl %ebp
_mulsubloop:
- movl (%esi, %ebp, 4),%eax /* lo = b[i] */
- mull %ebx /* hi, lo = b[i] * m */
- addl 0(%esp), %eax /* lo += oldhi */
+ movl (%esi, %ebp, 4),%eax # lo = b[i]
+ mull %ebx # hi, lo = b[i] * m
+ addl 0(%esp), %eax # lo += oldhi
jae _mulsubnocarry1
- incl %edx /* hi += carry */
+ incl %edx # hi += carry
_mulsubnocarry1:
subl %eax, (%edi, %ebp, 4)
jae _mulsubnocarry2
- incl %edx /* hi += carry */
+ incl %edx # hi += carry
_mulsubnocarry2:
movl %edx, 0(%esp)
incl %ebp
@@ -61,7 +61,7 @@ _mulsubnocarry2:
_mulsubnocarry3:
movl $1, %eax
done:
- /* Postlude */
+ # Postlude
popl %edi
popl %esi
popl %ebx