home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga GigaPD 3
/
Amiga_GigaPD_v3_3of3.iso
/
fred_fish
/
fish_601-700_lha
/
fish_648.lha
/
ADDASSIGN
/
addiglue.asm
< prev
next >
Wrap
Assembly Source File
|
1993-06-02
|
2KB
|
98 lines
; stub routines for the fastdir routines
XDEF _xLock
XDEF _xOpen
XDEF _xLoadSeg
XDEF _dosLock
XDEF _dosOpen
XDEF _dosLoadSeg
XREF _NewLock
XREF _oldLock
XREF _oldLockd0
XREF _NewOpen
XREF _oldOpen
XREF _oldOpend0
XREF _NewLoadSeg
XREF _oldLoadSeg
XREF _oldLoadSegd0
XREF _DosBase
XREF _geta4
; vectoroffset->stub->NewRoutines->stub->routines
; Lock->jmp _xLock->jmp _NewLock->rts(Lock)
; NewLock->_dosLock->jmp (a5)->rts(NewLock)
; arp believes that the return from a dos function is not only in d0,
; but also in d1
_xLock:
movem.l d2-d7/a0-a6,-(sp)
move.l a7,a5
jsr _geta4
jsr _NewLock
move.l d0,d1
movem.l (sp)+,d2-d7/a0-a6
rts
_dosLock:
move.l 4(sp),d1
move.l 8(sp),d2
movem.l d1-d7/a0-a6,-(sp)
move.l _oldLock,a5
move.l _oldLockd0,d0
move.l _DosBase,a6
jsr (a5)
movem.l (sp)+,d1-d7/a0-a6
rts
;****************************;
_xOpen:
movem.l d2-d7/a0-a6,-(sp)
move.l a7,a5
jsr _geta4
jsr _NewOpen
move.l d0,d1
movem.l (sp)+,d2-d7/a0-a6
rts
_dosOpen:
move.l 4(sp),d1
move.l 8(sp),d2
movem.l d1-d7/a0-a6,-(sp)
move.l _oldOpen,a5
move.l _oldOpend0,d0
move.l _DosBase,a6
jsr (a5)
movem.l (sp)+,d1-d7/a0-a6
rts
;****************************;
_xLoadSeg:
movem.l d2-d7/a0-a6,-(sp)
move.l a7,a5
jsr _geta4
jsr _NewLoadSeg
move.l d0,d1
movem.l (sp)+,d2-d7/a0-a6
rts
_dosLoadSeg:
move.l 4(sp),d1
movem.l d1-d7/a0-a6,-(sp)
move.l _oldLoadSeg,a5
move.l _oldLoadSegd0,d0
move.l _DosBase,a6
jsr (a5)
movem.l (sp)+,d1-d7/a0-a6
rts