Initial revision
This commit is contained in:
parent
037c2426ab
commit
c2805a25bd
52
mach/i86/libsys/LIST
Normal file
52
mach/i86/libsys/LIST
Normal file
|
@ -0,0 +1,52 @@
|
|||
tail_mon.a
|
||||
exit.s
|
||||
_exit.s
|
||||
abort.s
|
||||
access.s
|
||||
chdir.s
|
||||
chmod.s
|
||||
chown.s
|
||||
cleanup.s
|
||||
close.s
|
||||
creat.s
|
||||
dup.s
|
||||
execl.s
|
||||
execle.s
|
||||
execv.s
|
||||
execve.s
|
||||
time.s
|
||||
exece.s
|
||||
fork.s
|
||||
fstat.s
|
||||
getgid.s
|
||||
getpid.s
|
||||
getuid.s
|
||||
gtty.s
|
||||
stty.s
|
||||
ioctl.s
|
||||
kill.s
|
||||
link.s
|
||||
lseek.s
|
||||
mknod.s
|
||||
mount.s
|
||||
nice.s
|
||||
open.s
|
||||
pipe.s
|
||||
profil.s
|
||||
read.s
|
||||
sbrk.s
|
||||
brk.s
|
||||
setgid.s
|
||||
setuid.s
|
||||
signal.s
|
||||
stat.s
|
||||
sync.s
|
||||
umount.s
|
||||
unlink.s
|
||||
wait.s
|
||||
write.s
|
||||
cerror.s
|
||||
error.s
|
||||
pause.s
|
||||
alarm.s
|
||||
ftime.s
|
21
mach/i86/libsys/Makefile
Normal file
21
mach/i86/libsys/Makefile
Normal file
|
@ -0,0 +1,21 @@
|
|||
# $Header$
|
||||
MACH=l86
|
||||
all: tail_mon
|
||||
install: all
|
||||
../../install tail_mon
|
||||
|
||||
cmp: all
|
||||
-../../compare tail_mon
|
||||
|
||||
tail_mon:
|
||||
ASAR=aal ; export ASAR ;\
|
||||
march . tail_mon
|
||||
|
||||
clean:
|
||||
rm -f *.o
|
||||
|
||||
opr :
|
||||
make pr | opr
|
||||
|
||||
pr:
|
||||
@ar pv tail_mon.a
|
10
mach/i86/libsys/_exit.s
Normal file
10
mach/i86/libsys/_exit.s
Normal file
|
@ -0,0 +1,10 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||
.define __exit
|
||||
.sect .text
|
||||
__exit:
|
||||
mov bx,sp
|
||||
xor ax,ax
|
||||
push ax ! unused memory
|
||||
push 2(bx)
|
||||
push ax ! dummy return address
|
||||
int 0x81
|
13
mach/i86/libsys/abort.s
Normal file
13
mach/i86/libsys/abort.s
Normal file
|
@ -0,0 +1,13 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||
.define _abort
|
||||
.extern _abort
|
||||
_abort: push si
|
||||
push di
|
||||
push bp
|
||||
mov bp,sp
|
||||
int 128
|
||||
mov sp,bp
|
||||
pop bp
|
||||
pop di
|
||||
pop si
|
||||
ret
|
9
mach/i86/libsys/access.s
Normal file
9
mach/i86/libsys/access.s
Normal file
|
@ -0,0 +1,9 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||
.define _access
|
||||
.extern _access, cerror
|
||||
_access: int 0xa1
|
||||
jb 9f
|
||||
xor ax,ax
|
||||
ret
|
||||
9:
|
||||
jmp cerror
|
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
|
||||
.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 0
|
||||
.sect .text
|
9
mach/i86/libsys/cerror.s
Normal file
9
mach/i86/libsys/cerror.s
Normal file
|
@ -0,0 +1,9 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||
.define cerror
|
||||
.extern cerror
|
||||
.extern _errno
|
||||
cerror:
|
||||
mov (_errno),ax
|
||||
mov dx,-1
|
||||
mov ax,dx
|
||||
ret
|
8
mach/i86/libsys/chdir.s
Normal file
8
mach/i86/libsys/chdir.s
Normal file
|
@ -0,0 +1,8 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||
.define _chdir
|
||||
.extern _chdir, cerror
|
||||
_chdir: int 0x8c
|
||||
jb 9f
|
||||
xor ax,ax
|
||||
ret
|
||||
9: jmp cerror
|
8
mach/i86/libsys/chmod.s
Normal file
8
mach/i86/libsys/chmod.s
Normal file
|
@ -0,0 +1,8 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||
.define _chmod
|
||||
.extern _chmod, cerror
|
||||
_chmod: int 0x8f
|
||||
jb 9f
|
||||
xor ax,ax
|
||||
ret
|
||||
9: jmp cerror
|
8
mach/i86/libsys/chown.s
Normal file
8
mach/i86/libsys/chown.s
Normal file
|
@ -0,0 +1,8 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||
.define _chown
|
||||
.extern _chown, cerror
|
||||
_chown: int 0x90
|
||||
jb 9f
|
||||
xor ax,ax
|
||||
ret
|
||||
9: jmp cerror
|
9
mach/i86/libsys/cleanup.s
Normal file
9
mach/i86/libsys/cleanup.s
Normal file
|
@ -0,0 +1,9 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||
.define __cleanup
|
||||
.extern __cleanup
|
||||
__cleanup:
|
||||
push bp
|
||||
mov bp,sp
|
||||
mov sp,bp
|
||||
pop bp
|
||||
ret
|
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
|
4
mach/i86/libsys/compmodule
Executable file
4
mach/i86/libsys/compmodule
Executable file
|
@ -0,0 +1,4 @@
|
|||
if i86 -c $1 1>&2
|
||||
then echo `basename $1 $2`.o
|
||||
else exit 1
|
||||
fi
|
7
mach/i86/libsys/creat.s
Normal file
7
mach/i86/libsys/creat.s
Normal file
|
@ -0,0 +1,7 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||
.define _creat
|
||||
.extern _creat, cerror
|
||||
_creat: int 0x88
|
||||
jb 9f
|
||||
ret
|
||||
9: jmp cerror
|
8
mach/i86/libsys/dup.s
Normal file
8
mach/i86/libsys/dup.s
Normal file
|
@ -0,0 +1,8 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||
|
||||
.define _dup
|
||||
.extern _dup, cerror
|
||||
_dup: int 0xc9
|
||||
jb 9f
|
||||
ret
|
||||
9: jmp cerror
|
7
mach/i86/libsys/error.s
Normal file
7
mach/i86/libsys/error.s
Normal file
|
@ -0,0 +1,7 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss
|
||||
.define _errno
|
||||
.extern _errno
|
||||
|
||||
_errno:
|
||||
.space 2
|
||||
.sect .text
|
7
mach/i86/libsys/exece.s
Normal file
7
mach/i86/libsys/exece.s
Normal file
|
@ -0,0 +1,7 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||
.define _exece
|
||||
.extern _exece, cerror
|
||||
_exece: int 0xdb
|
||||
jb 9f
|
||||
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
|
24
mach/i86/libsys/execle.s
Normal file
24
mach/i86/libsys/execle.s
Normal file
|
@ -0,0 +1,24 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||
.define _execle
|
||||
.extern _execle, _execve
|
||||
_execle:
|
||||
push si
|
||||
push di
|
||||
push bp
|
||||
mov bp,sp
|
||||
lea si,10(bp)
|
||||
1: mov di,si
|
||||
add si,2
|
||||
cmp (di),0
|
||||
jne 1b
|
||||
push (si)
|
||||
lea ax,10(bp)
|
||||
push ax
|
||||
push 8(bp)
|
||||
call _execve
|
||||
add sp,6
|
||||
mov sp,bp
|
||||
pop bp
|
||||
pop di
|
||||
pop si
|
||||
ret
|
12
mach/i86/libsys/execv.s
Normal file
12
mach/i86/libsys/execv.s
Normal file
|
@ -0,0 +1,12 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||
.define _execv
|
||||
.extern _execv, _environ, cerror
|
||||
_execv:
|
||||
mov bx,sp
|
||||
push (_environ)
|
||||
push 4(bx)
|
||||
push 2(bx)
|
||||
push ax
|
||||
int 0xbb
|
||||
add sp,8
|
||||
jmp cerror
|
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
|
13
mach/i86/libsys/exit.s
Normal file
13
mach/i86/libsys/exit.s
Normal file
|
@ -0,0 +1,13 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||
.define _exit
|
||||
.extern _exit, __cleanup, __exit
|
||||
_exit:
|
||||
push bp
|
||||
mov bp,sp
|
||||
call __cleanup
|
||||
push 4(bp)
|
||||
call __exit
|
||||
pop si
|
||||
mov sp,bp
|
||||
pop bp
|
||||
ret
|
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/getgid.s
Normal file
8
mach/i86/libsys/getgid.s
Normal file
|
@ -0,0 +1,8 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||
.define _getgid
|
||||
.extern _getgid, cerror
|
||||
_getgid: int 0xaf
|
||||
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
|
8
mach/i86/libsys/getuid.s
Normal file
8
mach/i86/libsys/getuid.s
Normal file
|
@ -0,0 +1,8 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||
.define _getuid
|
||||
.extern _getuid, cerror
|
||||
_getuid: int 0x98
|
||||
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,29704
|
||||
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
|
8
mach/i86/libsys/mknod.s
Normal file
8
mach/i86/libsys/mknod.s
Normal file
|
@ -0,0 +1,8 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||
.define _mknod
|
||||
.extern _mknod, cerror
|
||||
_mknod: int 0x8e
|
||||
jb 9f
|
||||
xor ax,ax
|
||||
ret
|
||||
9: jmp cerror
|
8
mach/i86/libsys/mount.s
Normal file
8
mach/i86/libsys/mount.s
Normal file
|
@ -0,0 +1,8 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||
.define _mount
|
||||
.extern _mount, cerror
|
||||
_mount: int 0x95
|
||||
jb 9f
|
||||
xor ax,ax
|
||||
ret
|
||||
9: jmp cerror
|
8
mach/i86/libsys/nice.s
Normal file
8
mach/i86/libsys/nice.s
Normal file
|
@ -0,0 +1,8 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||
.define _nice
|
||||
.extern _nice, cerror
|
||||
_nice: int 0xa2
|
||||
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
|
8
mach/i86/libsys/profil.s
Normal file
8
mach/i86/libsys/profil.s
Normal file
|
@ -0,0 +1,8 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||
.define _profil
|
||||
.extern _profil, cerror
|
||||
_profil: int 0xac
|
||||
jb 9f
|
||||
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/setgid.s
Normal file
8
mach/i86/libsys/setgid.s
Normal file
|
@ -0,0 +1,8 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||
.define _setgid
|
||||
.extern _setgid, cerror
|
||||
setgid: int 0xae
|
||||
jb 9f
|
||||
xor ax,ax
|
||||
ret
|
||||
9: jmp cerror
|
8
mach/i86/libsys/setuid.s
Normal file
8
mach/i86/libsys/setuid.s
Normal file
|
@ -0,0 +1,8 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||
.define _setuid
|
||||
.extern _setuid, cerror
|
||||
_setuid: int 0x97
|
||||
jb 9f
|
||||
xor ax,ax
|
||||
ret
|
||||
9: jmp cerror
|
62
mach/i86/libsys/signal.s
Normal file
62
mach/i86/libsys/signal.s
Normal file
|
@ -0,0 +1,62 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||
.define _signal
|
||||
.extern _signal, cerror
|
||||
NSIG=16
|
||||
_signal: mov bx,sp
|
||||
mov cx,4(bx)
|
||||
mov bx,2(bx)
|
||||
cmp bx,NSIG
|
||||
jae 1f
|
||||
shl bx,1
|
||||
mov dx,dvect(bx)
|
||||
cmp cx,1
|
||||
jbe 2f
|
||||
mov dvect(bx),cx
|
||||
mov bx,sp
|
||||
mov 4(bx),enter
|
||||
mov bx,dx
|
||||
int 0xb0
|
||||
mov dx,bx
|
||||
mov bx,sp
|
||||
mov 4(bx),cx
|
||||
jb 3f
|
||||
jmp 4f
|
||||
2:
|
||||
int 0xb0
|
||||
jb 3f
|
||||
mov dvect(bx),cx
|
||||
4:
|
||||
cmp ax,1
|
||||
jbe 5f
|
||||
mov ax,dx
|
||||
5:
|
||||
ret
|
||||
1:
|
||||
mov ax,22
|
||||
3:
|
||||
jmp cerror
|
||||
|
||||
enter:
|
||||
push bx
|
||||
push cx
|
||||
push dx
|
||||
push di
|
||||
push si
|
||||
mov bx,sp
|
||||
mov di,10(bx)
|
||||
mov 10(bx),ax
|
||||
push di
|
||||
shl di,1
|
||||
call dvect(di)
|
||||
add sp,2
|
||||
pop si
|
||||
pop di
|
||||
pop dx
|
||||
pop cx
|
||||
pop bx
|
||||
pop ax
|
||||
popf
|
||||
ret
|
||||
.sect .bss
|
||||
dvect: .space 2*NSIG
|
||||
.sect .text
|
8
mach/i86/libsys/stat.s
Normal file
8
mach/i86/libsys/stat.s
Normal file
|
@ -0,0 +1,8 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||
.define _stat
|
||||
.extern _stat, cerror
|
||||
_stat: int 0x92
|
||||
jb 9f
|
||||
xor ax,ax
|
||||
ret
|
||||
9: jmp cerror
|
15
mach/i86/libsys/stty.s
Normal file
15
mach/i86/libsys/stty.s
Normal file
|
@ -0,0 +1,15 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||
.define _stty
|
||||
.extern _stty, _ioctl
|
||||
_stty:
|
||||
push bp
|
||||
mov bp,sp
|
||||
push 6(bp)
|
||||
mov ax,29705
|
||||
push ax
|
||||
push 4(bp)
|
||||
call _ioctl
|
||||
add sp,6
|
||||
mov sp,bp
|
||||
pop bp
|
||||
ret
|
8
mach/i86/libsys/sync.s
Normal file
8
mach/i86/libsys/sync.s
Normal file
|
@ -0,0 +1,8 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||
.define _sync
|
||||
.extern _sync, cerror
|
||||
_sync: int 0xa4
|
||||
jb 9f
|
||||
ret
|
||||
9:
|
||||
jmp cerror
|
27
mach/i86/libsys/time.s
Normal file
27
mach/i86/libsys/time.s
Normal file
|
@ -0,0 +1,27 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||
.define _time
|
||||
.extern _time, _ftime
|
||||
_time:
|
||||
push si
|
||||
push di
|
||||
push bp
|
||||
mov bp,sp
|
||||
sub sp,10
|
||||
lea ax,-10(bp)
|
||||
push ax
|
||||
call _ftime
|
||||
add sp,2
|
||||
cmp 8(bp),0
|
||||
je 1f
|
||||
mov ax,-10(bp)
|
||||
mov dx,-8(bp)
|
||||
mov di,8(bp)
|
||||
mov (di),ax
|
||||
mov 2(di),dx
|
||||
1: mov ax,-10(bp)
|
||||
mov dx,-8(bp)
|
||||
mov sp,bp
|
||||
pop bp
|
||||
pop di
|
||||
pop si
|
||||
ret
|
9
mach/i86/libsys/umount.s
Normal file
9
mach/i86/libsys/umount.s
Normal file
|
@ -0,0 +1,9 @@
|
|||
.sect .text; .sect .rom; .sect .data; .sect .bss; .sect .text
|
||||
.define _umount
|
||||
.extern _umount, cerror
|
||||
_umount: int 0x96
|
||||
jb 9f
|
||||
xor ax,ax
|
||||
ret
|
||||
9:
|
||||
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