home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / OTL-MC6.DMS / in.adf / libsrc.lha / LIBSRC / streammanip.asm < prev    next >
Encoding:
Assembly Source File  |  1994-04-15  |  1020 b   |  67 lines

  1.  
  2. * Maxon C++:
  3. * Library-Modul "streammanip"
  4. * Jens Gelhar 22.04.92
  5.  
  6.     xdef    op__leftshift__ostream__TPFR03iosR03iosp
  7.     xdef    flush__R03ios
  8.     xdef    endl__R03ios
  9.     xdef    dec__R03ios
  10.     xdef    oct__R03ios
  11.     xdef    hex__R03ios
  12.  
  13.     xref    fflush__P06stream
  14.     xref    fputc__iP06stream
  15.  
  16. op__leftshift__ostream__TPFR03iosR03iosp:
  17.     move.l a0,-(a7)
  18.     move.l 4+4(a7),a0       ; "this"
  19.     move.l (a0),-(a7)       ; Baseclass "ios"
  20.     move.l 4+4+8(a7),a0     ; Funktion
  21.     jsr (a0)
  22.     addq.l #4,a7
  23.     move.l (a7)+,a0
  24.     move.l 4(a7),d0
  25.     rts
  26.  
  27. flush__R03ios:
  28.     move.l a0,-(a7)
  29. fluIn:    move.l 4+4(a7),a0
  30.     move.l (a0),d0
  31.     beq.b flu0
  32.     move.l d0,-(a7)
  33.     jsr fflush__P06stream
  34.     addq.l #4,a7
  35. flu0:    move.l (a7)+,a0
  36.     move.l 4(a7),d0
  37.     rts
  38.  
  39. endl__R03ios:
  40.     move.l a0,-(a7)
  41.     move.l 4+4(a7),a0
  42.     move.l (a0),d0
  43.     beq.b flu0
  44.     move.l d0,-(a7)
  45.     pea 10.w
  46.     jsr fputc__iP06stream
  47.     addq.l #8,a7
  48.     bra.b fluIn
  49.  
  50. dec__R03ios:
  51.     moveq #10,d0
  52. decIn:    move.l a0,-(a7)
  53.     move.l 4+4(a7),a0
  54.     move.b d0,4(a0)
  55.     bra.b flu0
  56.  
  57.  
  58. oct__R03ios:
  59.     moveq #8,d0
  60.     bra.b decIn
  61.  
  62. hex__R03ios:
  63.     moveq #16,d0
  64.     bra.b decIn
  65.  
  66.     END
  67.