Added entry points for ANSI C

This commit is contained in:
ceriel 1990-01-22 13:09:29 +00:00
parent 37c64c6e36
commit 1fdf2d2e19
30 changed files with 411 additions and 14 deletions

View file

@ -1,6 +1,5 @@
libmon_s.a
exit.s
_exit.s
access.s
acct.s
alarm.s
@ -62,3 +61,32 @@ syscall.s
call.s
cleanup.s
errno.s
_alarm.s
_brk.s
_close.s
_creat.s
_dup.s
_dup2.s
_execl.s
_execve.s
_exit.s
_fcntl.s
_fork.s
_fstat.s
_ftime.s
_getpid.s
_gtty.s
_ioctl.s
_kill.s
_link.s
_lseek.s
_open.s
_pause.s
_pipe.s
_read.s
_stty.s
_time.s
_times.s
_unlink.s
_wait.s
_write.s

View file

@ -0,0 +1,12 @@
.define __alarm
.extern __alarm
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
__alarm:
move.l 4(sp),a0
move.l #0x1B,d0
trap #0
rts

25
mach/mantra/libsys/_brk.s Normal file
View file

@ -0,0 +1,25 @@
.define __brk
.define __sbrk
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
__sbrk: move.l .limhp,a0
add.l 4(sp),a0
move.l #0x11,d0
trap #0
bcs Icerror
move.l .limhp,d0
move.l d0,a0
add.l 4(sp),a0
move.l a0,.limhp
rts
Icerror: jmp cerror
__brk: move.l #0x11,d0
move.l 4(sp),a0
trap #0
bcs Icerror
move.l 4(sp),.limhp
clr.l d0
rts

View file

@ -0,0 +1,10 @@
.define __close
.extern __close
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
__close: move.l #0x6,d0
move.l 4(sp),a0
jmp callc

View file

@ -0,0 +1,11 @@
.define __creat
.extern __creat
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
__creat: move.l #0x8,d0
move.l 4(sp),a0
move.l 8(sp),d1
jmp call

10
mach/mantra/libsys/_dup.s Normal file
View file

@ -0,0 +1,10 @@
.define __dup
.extern __dup
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
__dup: move.l #0x29,d0
move.l 4(sp),a0
jmp call

View file

@ -0,0 +1,17 @@
.define __dup2
.extern __dup2
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
__dup2:
tst.b -40(sp)
link a6,#-0
move.l 12(a6),-(sp)
move.l #0,-(sp)
move.l 8(a6),-(sp)
jsr __fcntl
add.l #12,sp
unlk a6
rts

View file

@ -0,0 +1,16 @@
.define __execl
.extern __execl
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
__execl: link a6,#0
tst.b -132(sp)
move.l _environ,-(sp)
pea 12(a6)
move.l 8(a6),-(sp)
jsr __execve
add.l #0xC,sp
unlk a6
rts

View file

@ -0,0 +1,12 @@
.define __execve
.extern __execve
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
__execve: move.l #0x3B,d0
move.l 4(sp),a0
move.l 8(sp),d1
move.l 12(sp),a1
jmp calle

View file

@ -0,0 +1,12 @@
.define __fcntl
.extern __fcntl
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
__fcntl: move.l #0x3E,d0
move.l 4(sp),a0
move.l 8(sp),d1
move.l 12(sp),a1
jmp callc

View file

@ -0,0 +1,17 @@
.define __fork
.extern __fork
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
__fork: move.l #0x2,d0
trap #0
bra 1f
bcc 2f
jmp cerror
1:
!move.l d0,p_uid
clr.l d0
2:
rts

View file

@ -0,0 +1,11 @@
.define __fstat
.extern __fstat
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
__fstat: move.l #0x1C,d0
move.l 4(sp),a0
move.l 8(sp),d1
jmp callc

View file

@ -0,0 +1,16 @@
.define __ftime
.extern __ftime
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
__ftime: clr.l -(sp)
jsr __time
lea 4(sp),sp
move.l 4(sp),a0
move.l d0,(a0)
clr.l 4(a0)
clr.w 8(a0)
clr.l d0
rts

View file

@ -0,0 +1,10 @@
.define __getpid
.extern __getpid
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
__getpid: move.l #0x14,d0
trap #0
rts

View file

@ -0,0 +1,17 @@
.define __gtty
.extern __gtty
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
__gtty:
tst.b -40(sp)
link a6,#-0
move.l 12(a6),-(sp)
move.l #29704,-(sp)
move.l 8(a6),-(sp)
jsr __ioctl
add.l #12,sp
unlk a6
rts

View file

@ -0,0 +1,12 @@
.define __ioctl
.extern __ioctl
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
__ioctl: move.l #0x36,d0
move.l 4(sp),a0
move.l 8(sp),d1
move.l 12(sp),a1
jmp callc

View file

@ -0,0 +1,11 @@
.define __kill
.extern __kill
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
__kill: move.l #0x25,d0
move.l 4(sp),a0
move.l 6(sp),d1
jmp callc

View file

@ -0,0 +1,11 @@
.define __link
.extern __link
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
__link: move.l #0x9,d0
move.l 4(sp),a0
move.l 8(sp),d1
jmp callc

View file

@ -0,0 +1,12 @@
.define __lseek
.extern __lseek
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
__lseek: move.l #0x13,d0
move.l 4(sp),a0
move.l 8(sp),d1
move.l 12(sp),a1
jmp call

View file

@ -0,0 +1,11 @@
.define __open
.extern __open
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
__open: move.l #0x5,d0
move.l 4(sp),a0
move.l 8(sp),d1
jmp call

View file

@ -0,0 +1,10 @@
.define __pause
.extern __pause
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
__pause: move.l #0x1D,d0
trap #0
rts

View file

@ -0,0 +1,18 @@
.define __pipe
.extern __pipe
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
__pipe:
move.l #0x2A,d0
trap #0
bcc 1f
jmp cerror
1:
move.l 4(sp),a0
move.l d0,(a0)+
move.l d1,(a0)
clr.l d0
rts

View file

@ -0,0 +1,12 @@
.define __read
.extern __read
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
__read: move.l #0x3,d0
move.l 4(sp),a0
move.l 8(sp),d1
move.l 12(sp),a1
jmp call

View file

@ -0,0 +1,17 @@
.define __stty
.extern __stty
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
__stty:
tst.b -40(sp)
link a6,#-0
move.l 12(a6),-(sp)
move.l #29705,-(sp)
move.l 8(a6),-(sp)
jsr __ioctl
add.l #12,sp
unlk a6
rts

View file

@ -0,0 +1,15 @@
.define __time
.extern __time
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
__time: move.l #0xD,d0
trap #0
tst.l 4(sp)
beq 1f
move.l 4(sp),a0
move.l d0,(a0)
1:
rts

View file

@ -0,0 +1,11 @@
.define __times
.extern __times
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
__times: move.l #0x2B,d0
move.l 4(sp),a0
trap #0
rts

View file

@ -0,0 +1,10 @@
.define __unlink
.extern __unlink
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
__unlink: move.l #0xA,d0
move.l 4(sp),a0
jmp callc

View file

@ -0,0 +1,17 @@
.define __wait
.extern __wait
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
__wait: move.l #0x7,d0
move.l 4(sp),a0
trap #0
bcs cerror
tst.l 4(sp)
beq 1f
move.l 4(sp),a0
move.l d1,(a0)
1:
rts

View file

@ -0,0 +1,12 @@
.define __write
.extern __write
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
__write: move.l #0x4,d0
move.l 4(sp),a0
move.l 8(sp),d1
move.l 12(sp),a1
jmp call

View file

@ -1,31 +1,25 @@
.define _brk
.define _sbrk
.extern _brk
.extern _sbrk
.sect .text
.sect .rom
.sect .data
.sect .bss
.sect .text
_sbrk: move.l nd,a0
_sbrk: move.l .limhp,a0
add.l 4(sp),a0
move.l #0x11,d0
trap #0
bcs lcerror
move.l nd,d0
bcs Icerror
move.l .limhp,d0
move.l d0,a0
add.l 4(sp),a0
move.l a0,nd
move.l a0,.limhp
rts
lcerror: jmp cerror
Icerror: jmp cerror
_brk: move.l #0x11,d0
move.l 4(sp),a0
trap #0
bcs lcerror
move.l 4(sp),nd
bcs Icerror
move.l 4(sp),.limhp
clr.l d0
rts
.sect .data
nd:
.data4 endbss
.sect .text