home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / CLIPPER / MISC / EMXLIB8F.ZIP / EMX / LIB / GCC / MULDI3.S < prev    next >
Encoding:
Text File  |  1993-01-02  |  864 b   |  38 lines

  1. / muldi3.s (emx+gcc) -- Copyright (c) 1992-1993 by Eberhard Mattes
  2.  
  3.         .globl  ___muldi3
  4.  
  5.         .text
  6.  
  7.         .align  2, 0x90
  8.  
  9. / long long __muldi3 (long long x, long long y)
  10.  
  11. #define tmp_lo    -8(%ebp)
  12. #define tmp_hi    -4(%ebp)
  13. /define saved_ebp  0(%ebp)
  14. /define ret_addr   4(%ebp)
  15. #define x_lo       8(%ebp)
  16. #define x_hi      12(%ebp)
  17. #define y_lo      16(%ebp)
  18. #define y_hi      20(%ebp)
  19.  
  20. ___muldi3:
  21.         pushl   %ebp
  22.         movl    %esp, %ebp
  23.         subl    $8, %esp
  24.         movl    x_lo, %eax
  25.         mull    y_lo
  26.         movl    %eax, tmp_lo
  27.         movl    %edx, tmp_hi
  28.         movl    x_lo, %eax
  29.         mull    y_hi
  30.         addl    %eax, tmp_hi
  31.         movl    y_lo, %eax
  32.         mull    x_hi
  33.         addl    tmp_hi, %eax
  34.         movl    %eax, %edx
  35.         movl    tmp_lo, %eax
  36.         leave
  37.         ret
  38.