home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / MAXONC3_6OF8.DMS / in.adf / LIBSRC.LHA / LIBSRC / difftime.asm < prev    next >
Encoding:
Assembly Source File  |  1994-04-08  |  470 b   |  32 lines

  1.  
  2. * Maxon C++ Library:
  3. * Modul "Difftime"
  4. * Jens Gelhar 28.05.92
  5.  
  6.     xdef    _difftime,difftime__UiUi
  7.  
  8.     xref    lib_int2double
  9.  
  10. _difftime:
  11. difftime__UiUi:
  12.     movem.l    d2-d3,-(a7)
  13.     movem.l    8+4(a7),d0/d1
  14.     ; d0-d1 berechnen:
  15.     move.l    #$1FFFF,d2
  16.     move.l    d2,d3
  17.     and.l    d0,d2
  18.     and.l    d1,d3
  19.     sub.l    d3,d2        ; Sekunden
  20.     moveq    #17,d3
  21.     lsr.l    d3,d0
  22.     lsr.l    d3,d1        ; Tage
  23.     sub.l    d1,d0
  24.     muls    #86400/16,d0    ; 1 d = 86400 sec
  25.     asl.l    #4,d0
  26.     add.l    d2,d0
  27.     jsr    lib_int2double
  28.     movem.l    (a7)+,d2-d3
  29.     rts
  30.  
  31.     end
  32.