home *** CD-ROM | disk | FTP | other *** search
- / muldi3.s (emx+gcc) -- Copyright (c) 1992-1993 by Eberhard Mattes
-
- .globl ___muldi3
-
- .text
-
- .align 2, 0x90
-
- / long long __muldi3 (long long x, long long y)
-
- #define tmp_lo -8(%ebp)
- #define tmp_hi -4(%ebp)
- /define saved_ebp 0(%ebp)
- /define ret_addr 4(%ebp)
- #define x_lo 8(%ebp)
- #define x_hi 12(%ebp)
- #define y_lo 16(%ebp)
- #define y_hi 20(%ebp)
-
- ___muldi3:
- pushl %ebp
- movl %esp, %ebp
- subl $8, %esp
- movl x_lo, %eax
- mull y_lo
- movl %eax, tmp_lo
- movl %edx, tmp_hi
- movl x_lo, %eax
- mull y_hi
- addl %eax, tmp_hi
- movl y_lo, %eax
- mull x_hi
- addl tmp_hi, %eax
- movl %eax, %edx
- movl tmp_lo, %eax
- leave
- ret
-