home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
550b.lha
/
Term_v1.8a
/
Source.LZH
/
Format.asm
< prev
next >
Wrap
Assembly Source File
|
1991-07-06
|
3KB
|
159 lines
* $Revision Header * Header built automatically - do not edit! *************
*
* (C) Copyright 1990 by Olaf 'Olsen' Barthel & MXM
*
* Name .....: Format.asm
* Created ..: Monday 21-Jan-91 20:12
* Revision .: 1
*
* Date Author Comment
* ========= ======== ====================
* 11-Apr-91 Olsen Added atol.
* 21-Jan-91 Olsen Created this file!
*
* $Revision Header *********************************************************
CALL macro
xref _LVO\1
jsr _LVO\1(a6)
endm
csect text,0,0,1,2
*--------------------------------------------------------------------------
*
* This file contains some ANSI-`C' style routines which are not
* directly implemented through dos.library or utility.library.
*
*--------------------------------------------------------------------------
xdef _Printf
xdef _FPrintf
xdef _SPrintf
xdef _VSPrintf
xdef _atol
*--------------------------------------------------------------------------
_Printf:
movem.l d2/a6,-(sp)
move.l 12(sp),d1
lea 16(sp),a0
move.l a0,d2
move.l _DOSBase(a4),a6
CALL VPrintf
movem.l (sp)+,d2/a6
rts
*--------------------------------------------------------------------------
_FPrintf:
movem.l d2/d3/a6,-(sp)
move.l 16(sp),d1
move.l 20(sp),d2
lea 24(sp),a0
move.l a0,d3
move.l _DOSBase(a4),a6
CALL VFPrintf
movem.l (sp)+,d2/d3/a6
rts
*--------------------------------------------------------------------------
_SPrintf:
movem.l a2/a3/a6,-(sp)
move.l 4+12(sp),a3
move.l 8+12(sp),a0
lea 12+12(sp),a1
lea stuffchar(pc),a2
move.l 4,a6
CALL RawDoFmt
movem.l (sp)+,a2/a3/a6
rts
*--------------------------------------------------------------------------
_VSPrintf:
movem.l a2/a3/a6,-(sp)
move.l 4+12(sp),a3
move.l 8+12(sp),a0
move.l 12+12(sp),a1
lea stuffchar(pc),a2
move.l 4,a6
CALL RawDoFmt
movem.l (sp)+,a2/a3/a6
rts
stuffchar:
move.b d0,(a3)+
rts
*--------------------------------------------------------------------------
*
* A tiny replacement for atol(), implemented through StrToLong.
*
*--------------------------------------------------------------------------
_atol: move.l 4(sp),d1
move.l d2,-(sp)
move.l a6,-(sp)
pea.l 0
lea.l (sp),a0
move.l a0,d2
move.l _DOSBase(a4),a6
CALL StrToLong
move.l (sp),d0
add.w #4,sp
move.l (sp)+,a6
move.l (sp)+,d2
rts
*--------------------------------------------------------------------------
*
* These two lines are actually to make BLINK believe that some kind
* of startup code will clear the Data/BSS segment before running the
* main program. Since this is no longer necessary with Kickstart 2.x
* these two lines save about 34 KBytes of disk space.
*
*--------------------------------------------------------------------------
lea __BSSBAS,a0
move.l #__BSSLEN,d0
*--------------------------------------------------------------------------
csect __MERGED
xref _DOSBase
xref __BSSBAS
xref __BSSLEN
end