Added entry points for ANSI C
This commit is contained in:
parent
5c228063bc
commit
b2ce4472b5
23 changed files with 271 additions and 0 deletions
|
@ -1,4 +1,26 @@
|
||||||
libmon_s.a
|
libmon_s.a
|
||||||
|
_alarm.s
|
||||||
|
_sbrk.s
|
||||||
|
_brk.s
|
||||||
|
_close.s
|
||||||
|
_execl.s
|
||||||
|
_execve.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
|
||||||
|
_unlink.s
|
||||||
|
_wait.s
|
||||||
|
_write.s
|
||||||
exit.s
|
exit.s
|
||||||
_exit.s
|
_exit.s
|
||||||
abort.s
|
abort.s
|
||||||
|
|
8
mach/i86/libsys/_alarm.s
Normal file
8
mach/i86/libsys/_alarm.s
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||||
|
.define __alarm
|
||||||
|
.extern __alarm, cerror
|
||||||
|
__alarm: int 0x9b
|
||||||
|
jb 9f
|
||||||
|
ret
|
||||||
|
9:
|
||||||
|
jmp cerror
|
39
mach/i86/libsys/_brk.s
Normal file
39
mach/i86/libsys/_brk.s
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||||
|
.define __brk
|
||||||
|
.define xbrk
|
||||||
|
.define np
|
||||||
|
.extern __brk
|
||||||
|
.extern xbrk,endbss
|
||||||
|
.extern np, cerror
|
||||||
|
__brk:
|
||||||
|
mov bx,sp
|
||||||
|
mov ax,2(bx)
|
||||||
|
mov cx,sp
|
||||||
|
sub cx,128
|
||||||
|
jbe 1f
|
||||||
|
mov bx,(np)
|
||||||
|
mov (np),ax
|
||||||
|
sub ax,bx
|
||||||
|
jbe 2f
|
||||||
|
call xbrk
|
||||||
|
2:
|
||||||
|
xor ax,ax
|
||||||
|
ret
|
||||||
|
1:
|
||||||
|
mov ax,0xc
|
||||||
|
jmp cerror
|
||||||
|
xbrk:
|
||||||
|
push di
|
||||||
|
mov di,bx
|
||||||
|
mov cx,ax
|
||||||
|
xor ax,ax
|
||||||
|
shr cx,1
|
||||||
|
repz stos
|
||||||
|
jae 3f
|
||||||
|
stosb
|
||||||
|
3:
|
||||||
|
pop di
|
||||||
|
ret
|
||||||
|
.sect .data
|
||||||
|
np: .data2 endbss
|
||||||
|
.sect .text
|
8
mach/i86/libsys/_close.s
Normal file
8
mach/i86/libsys/_close.s
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||||
|
.define __close
|
||||||
|
.extern __close, cerror
|
||||||
|
__close: int 0x86
|
||||||
|
jb 9f
|
||||||
|
xor ax,ax
|
||||||
|
ret
|
||||||
|
9: jmp cerror
|
20
mach/i86/libsys/_execl.s
Normal file
20
mach/i86/libsys/_execl.s
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||||
|
|
||||||
|
.define __execl
|
||||||
|
.extern __execl, _environ, __execve
|
||||||
|
__execl:
|
||||||
|
push si
|
||||||
|
push di
|
||||||
|
push bp
|
||||||
|
mov bp,sp
|
||||||
|
push (_environ)
|
||||||
|
lea ax,10(bp)
|
||||||
|
push ax
|
||||||
|
push 8(bp)
|
||||||
|
call __execve
|
||||||
|
add sp,6
|
||||||
|
mov sp,bp
|
||||||
|
pop bp
|
||||||
|
pop di
|
||||||
|
pop si
|
||||||
|
ret
|
8
mach/i86/libsys/_execve.s
Normal file
8
mach/i86/libsys/_execve.s
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||||
|
.define __execve
|
||||||
|
.extern __execve, cerror
|
||||||
|
__execve:
|
||||||
|
int 0x8b
|
||||||
|
jb 9f
|
||||||
|
ret
|
||||||
|
9: jmp cerror
|
11
mach/i86/libsys/_fork.s
Normal file
11
mach/i86/libsys/_fork.s
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||||
|
.define __fork
|
||||||
|
.extern __fork, cerror
|
||||||
|
__fork: int 0x82
|
||||||
|
jmp 1f
|
||||||
|
jae 2f
|
||||||
|
jmp cerror
|
||||||
|
1:
|
||||||
|
xor ax,ax
|
||||||
|
2:
|
||||||
|
ret
|
8
mach/i86/libsys/_fstat.s
Normal file
8
mach/i86/libsys/_fstat.s
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||||
|
.define __fstat
|
||||||
|
.extern __fstat, cerror
|
||||||
|
__fstat: int 0x9c
|
||||||
|
jb 9f
|
||||||
|
xor ax,ax
|
||||||
|
ret
|
||||||
|
9: jmp cerror
|
8
mach/i86/libsys/_ftime.s
Normal file
8
mach/i86/libsys/_ftime.s
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||||
|
.define __ftime
|
||||||
|
.extern __ftime, cerror
|
||||||
|
__ftime: int 0xa3
|
||||||
|
jb 9f
|
||||||
|
ret
|
||||||
|
9:
|
||||||
|
jmp cerror
|
8
mach/i86/libsys/_getpid.s
Normal file
8
mach/i86/libsys/_getpid.s
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||||
|
.define __getpid
|
||||||
|
.extern __getpid, cerror
|
||||||
|
__getpid: int 0x94
|
||||||
|
jb 9f
|
||||||
|
ret
|
||||||
|
9:
|
||||||
|
jmp cerror
|
15
mach/i86/libsys/_gtty.s
Normal file
15
mach/i86/libsys/_gtty.s
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||||
|
.define __gtty
|
||||||
|
.extern __gtty, __ioctl
|
||||||
|
__gtty:
|
||||||
|
push bp
|
||||||
|
mov bp,sp
|
||||||
|
push 6(bp)
|
||||||
|
mov ax,0x5401
|
||||||
|
push ax
|
||||||
|
push 4(bp)
|
||||||
|
call __ioctl
|
||||||
|
add sp,6
|
||||||
|
mov sp,bp
|
||||||
|
pop bp
|
||||||
|
ret
|
7
mach/i86/libsys/_ioctl.s
Normal file
7
mach/i86/libsys/_ioctl.s
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||||
|
.define __ioctl
|
||||||
|
.extern __ioctl, cerror
|
||||||
|
__ioctl: int 0xb6
|
||||||
|
jb 9f
|
||||||
|
ret
|
||||||
|
9: jmp cerror
|
8
mach/i86/libsys/_kill.s
Normal file
8
mach/i86/libsys/_kill.s
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||||
|
.define __kill
|
||||||
|
.extern __kill, cerror
|
||||||
|
__kill: int 0xa5
|
||||||
|
jb 9f
|
||||||
|
xor ax,ax
|
||||||
|
ret
|
||||||
|
9: jmp cerror
|
7
mach/i86/libsys/_link.s
Normal file
7
mach/i86/libsys/_link.s
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||||
|
.define __link
|
||||||
|
.extern __link, cerror
|
||||||
|
__link: int 0x89
|
||||||
|
jb 9f
|
||||||
|
ret
|
||||||
|
9: jmp cerror
|
7
mach/i86/libsys/_lseek.s
Normal file
7
mach/i86/libsys/_lseek.s
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||||
|
.define __lseek
|
||||||
|
.extern __lseek, cerror
|
||||||
|
__lseek: int 0x93
|
||||||
|
jb 9f
|
||||||
|
ret
|
||||||
|
9: jmp cerror
|
7
mach/i86/libsys/_open.s
Normal file
7
mach/i86/libsys/_open.s
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||||
|
.define __open
|
||||||
|
.extern __open, cerror
|
||||||
|
__open: int 0x85
|
||||||
|
jb 9f
|
||||||
|
ret
|
||||||
|
9: jmp cerror
|
8
mach/i86/libsys/_pause.s
Normal file
8
mach/i86/libsys/_pause.s
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||||
|
.define __pause
|
||||||
|
.extern __pause, cerror
|
||||||
|
__pause: int 0x9d
|
||||||
|
jb 9f
|
||||||
|
ret
|
||||||
|
9:
|
||||||
|
jmp cerror
|
8
mach/i86/libsys/_pipe.s
Normal file
8
mach/i86/libsys/_pipe.s
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||||
|
.define __pipe
|
||||||
|
.extern __pipe, cerror
|
||||||
|
__pipe: int 0xaa
|
||||||
|
jb 9f
|
||||||
|
xor ax,ax
|
||||||
|
ret
|
||||||
|
9: jmp cerror
|
7
mach/i86/libsys/_read.s
Normal file
7
mach/i86/libsys/_read.s
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||||
|
.define __read
|
||||||
|
.extern __read, cerror
|
||||||
|
__read: int 0x83
|
||||||
|
jb 9f
|
||||||
|
ret
|
||||||
|
9: jmp cerror
|
25
mach/i86/libsys/_sbrk.s
Normal file
25
mach/i86/libsys/_sbrk.s
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||||
|
.define __sbrk
|
||||||
|
.extern __sbrk, xbrk, cerror
|
||||||
|
__sbrk:
|
||||||
|
push bp
|
||||||
|
mov bp,sp
|
||||||
|
mov ax,4(bp)
|
||||||
|
mov bx,(np)
|
||||||
|
add ax,bx
|
||||||
|
mov cx,sp
|
||||||
|
sub cx,128
|
||||||
|
sub cx,ax
|
||||||
|
jbe 1f
|
||||||
|
mov (np),ax
|
||||||
|
sub ax,bx
|
||||||
|
jbe 2f
|
||||||
|
call xbrk
|
||||||
|
2:
|
||||||
|
mov ax,bx
|
||||||
|
pop bp
|
||||||
|
ret
|
||||||
|
1:
|
||||||
|
mov ax,0xc
|
||||||
|
pop bp
|
||||||
|
jmp cerror
|
8
mach/i86/libsys/_unlink.s
Normal file
8
mach/i86/libsys/_unlink.s
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||||
|
.define __unlink
|
||||||
|
.extern __unlink, cerror
|
||||||
|
__unlink: int 0x8a
|
||||||
|
jb 9f
|
||||||
|
xor ax,ax
|
||||||
|
ret
|
||||||
|
9: jmp cerror
|
17
mach/i86/libsys/_wait.s
Normal file
17
mach/i86/libsys/_wait.s
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||||
|
.define __wait
|
||||||
|
.extern __wait, cerror
|
||||||
|
__wait:
|
||||||
|
mov bx,sp
|
||||||
|
mov ax,2 ! void info about unused memory
|
||||||
|
! Should be 0 according to /usr/include/sys.s, but
|
||||||
|
! that doesn't work
|
||||||
|
push ax
|
||||||
|
push 2(bx)
|
||||||
|
push ax ! dummy return address
|
||||||
|
int 0x87
|
||||||
|
jb 9f
|
||||||
|
add sp,6
|
||||||
|
ret
|
||||||
|
9: add sp,6
|
||||||
|
jmp cerror
|
7
mach/i86/libsys/_write.s
Normal file
7
mach/i86/libsys/_write.s
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||||
|
.define __write
|
||||||
|
.extern __write, cerror
|
||||||
|
__write: int 0x84
|
||||||
|
jb 9f
|
||||||
|
ret
|
||||||
|
9: jmp cerror
|
Loading…
Reference in a new issue