add LCC - a better C-Compiler for WEGA
This commit is contained in:
parent
909a391b92
commit
990b3bf211
|
|
@ -0,0 +1,16 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_access::
|
||||||
|
{
|
||||||
|
ldm r0,|_stkseg+4|(sp),#3
|
||||||
|
xor r4,r4
|
||||||
|
sc #33 /*access*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_acct::
|
||||||
|
{
|
||||||
|
ld r2,#%0016
|
||||||
|
ldl rr0,SP(#4)
|
||||||
|
xor r4,r4
|
||||||
|
sc #51 /*sysacct*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_alarm::
|
||||||
|
{
|
||||||
|
ld r0,SP(#4)
|
||||||
|
sc #27 /*alarm*/
|
||||||
|
ld r2,r4
|
||||||
|
ret
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_chdir::
|
||||||
|
{
|
||||||
|
ld r2,#%0016
|
||||||
|
ldl rr0,SP(#4)
|
||||||
|
xor r4,r4
|
||||||
|
sc #12 /*chdir*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_chmod::
|
||||||
|
{
|
||||||
|
ldm r0,|_stkseg+4|(sp),#3
|
||||||
|
xor r4,r4
|
||||||
|
sc #15 /*chmod*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_chown::
|
||||||
|
{
|
||||||
|
ldm r0,|_stkseg+4|(sp),#4
|
||||||
|
xor r4,r4
|
||||||
|
sc #16 /* chown */
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_chroot::
|
||||||
|
{
|
||||||
|
ld r2,#%0016
|
||||||
|
ldl rr0,SP(#4)
|
||||||
|
xor r4,r4
|
||||||
|
sc #61 /*chroot*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_close::
|
||||||
|
{
|
||||||
|
ld r0,SP(#4)
|
||||||
|
xor r4,r4
|
||||||
|
sc #6 /*close*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_creat::
|
||||||
|
{
|
||||||
|
ldm r0,|_stkseg+4|(sp),#3
|
||||||
|
.word %5cf1
|
||||||
|
.word 3-1
|
||||||
|
.word %7f04
|
||||||
|
sc #8 /*creat*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_dup::
|
||||||
|
{
|
||||||
|
ldl rr0,SP(#4)
|
||||||
|
sc #41 /*dup*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_dup2::
|
||||||
|
{
|
||||||
|
ldl rr0,SP(#4)
|
||||||
|
set r0,#6
|
||||||
|
sc #41 /*dup*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_execl::
|
||||||
|
{
|
||||||
|
ldl rr0,SP(#4) /* path */
|
||||||
|
ldl rr2,SP
|
||||||
|
inc r3,#8 /* argv */
|
||||||
|
ldl rr4,_environ
|
||||||
|
sc #59 /* exece */
|
||||||
|
ld r2,r4
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_execle::
|
||||||
|
{
|
||||||
|
ldl rr0,SP(#4) /* path */
|
||||||
|
ldl rr2,SP
|
||||||
|
inc r3,#8 /* argv */
|
||||||
|
ldl rr4,rr2
|
||||||
|
L1:
|
||||||
|
ldl rr6,@rr4
|
||||||
|
inc r5,#4
|
||||||
|
cpl rr6,#%00000000 /* if zero than rr4 == envp */
|
||||||
|
jr ne,L1
|
||||||
|
sc #59 /* exece */
|
||||||
|
ld r2,r4
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_execve::
|
||||||
|
{
|
||||||
|
ldm r0,|_stkseg+4|(sp),#6
|
||||||
|
sc #59 /*exece*/
|
||||||
|
ld r2,r4
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec data
|
||||||
|
.data
|
||||||
|
_par_uid::
|
||||||
|
.word %0
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_fork::
|
||||||
|
{
|
||||||
|
sc #2 /*fork*/
|
||||||
|
jr L1
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
L1:
|
||||||
|
ld _par_uid,r4
|
||||||
|
xor r2,r2
|
||||||
|
ret
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_fstat::
|
||||||
|
{
|
||||||
|
ldm r0,|_stkseg+4|(sp),#3
|
||||||
|
xor r4,r4
|
||||||
|
sc #28 /*fstat*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_ftime::
|
||||||
|
{
|
||||||
|
ld r2,#%0016
|
||||||
|
ldl rr0,SP(#4)
|
||||||
|
xor r4,r4
|
||||||
|
sc #35 /*ftime*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_getegid::
|
||||||
|
{
|
||||||
|
sc #47 /*getgid*/
|
||||||
|
ld r2,r5
|
||||||
|
ret
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_geteuid::
|
||||||
|
{
|
||||||
|
sc #24 /*getuid*/
|
||||||
|
ld r2,r5
|
||||||
|
ret
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_getgid::
|
||||||
|
{
|
||||||
|
sc #47 /*getgid*/
|
||||||
|
ld r2,r4
|
||||||
|
ret
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec data
|
||||||
|
.data
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_getpid::
|
||||||
|
{
|
||||||
|
sc #20 /*getpid*/
|
||||||
|
ld r2,r4
|
||||||
|
ret
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_getppid::
|
||||||
|
{
|
||||||
|
sc #20 /*getpid*/
|
||||||
|
ld r2,r5
|
||||||
|
ret
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_getuid::
|
||||||
|
{
|
||||||
|
sc #24 /*getuid*/
|
||||||
|
ld r2,r4
|
||||||
|
ret
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_kill::
|
||||||
|
{
|
||||||
|
ldl rr0,SP(#4)
|
||||||
|
xor r4,r4
|
||||||
|
sc #37 /*kill*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_link::
|
||||||
|
{
|
||||||
|
ldm r0,|_stkseg+4|(sp),#4
|
||||||
|
xor r4,r4
|
||||||
|
sc #9 /*link*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_lkdata::
|
||||||
|
{
|
||||||
|
ldm r0,|_stkseg+4|(sp),#4
|
||||||
|
sc #49 /*reserved*/
|
||||||
|
ldl rr2,rr4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_lseek::
|
||||||
|
{
|
||||||
|
ldm r0,|_stkseg+4|(sp),#4
|
||||||
|
subl rr4,rr4
|
||||||
|
sc #19 /*seek*/
|
||||||
|
ldl rr2,rr4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_mdmctl::
|
||||||
|
{
|
||||||
|
ldm r0,|_stkseg+4|(sp),#4
|
||||||
|
sc #62 /*unused*/
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_mknod::
|
||||||
|
{
|
||||||
|
ldm r0,|_stkseg+4|(sp),#4
|
||||||
|
xor r4,r4
|
||||||
|
sc #14 /*mknod*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_mkseg::
|
||||||
|
{
|
||||||
|
ldl rr0,SP(#4)
|
||||||
|
sc #55 /*unused*/
|
||||||
|
ldl rr2,rr4
|
||||||
|
jp c,cerror
|
||||||
|
ret
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_mount::
|
||||||
|
{
|
||||||
|
ldm r0,|_stkseg+4|(sp),#5
|
||||||
|
sc #21 /*mount*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_nice::
|
||||||
|
{
|
||||||
|
ld r0,SP(#4)
|
||||||
|
xor r4,r4
|
||||||
|
sc #34 /*nice*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_open::
|
||||||
|
{
|
||||||
|
ldm r0,|_stkseg+4|(sp),#4
|
||||||
|
sc #5 /*open*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_pause::
|
||||||
|
{
|
||||||
|
sc #29 /*pause*/
|
||||||
|
ret
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_pipe::
|
||||||
|
{
|
||||||
|
sc #42 /*pipe*/
|
||||||
|
ld r2,r4
|
||||||
|
jp c,cerror
|
||||||
|
ldl rr6,SP(#4)
|
||||||
|
ldl @rr6,rr4
|
||||||
|
xor r2,r2
|
||||||
|
ret
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_plock::
|
||||||
|
{
|
||||||
|
ld r0,SP(#4)
|
||||||
|
xor r4,r4
|
||||||
|
sc #53 /*syslock*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec data
|
||||||
|
.data
|
||||||
|
.comm 2, _errno;
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_ptrace::
|
||||||
|
{
|
||||||
|
xor r4,r4
|
||||||
|
ld _errno,r4
|
||||||
|
ldm r0,|_stkseg+4|(sp),#5
|
||||||
|
sc #26 /*ptrace*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_read::
|
||||||
|
{
|
||||||
|
ldm r0,|_stkseg+4|(sp),#4 // fildes, buf, nbyte
|
||||||
|
sc #3 /*read*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_setgid::
|
||||||
|
{
|
||||||
|
ld r0,SP(#4)
|
||||||
|
xor r4,r4
|
||||||
|
sc #46 /*setgid*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_setuid::
|
||||||
|
{
|
||||||
|
ld r0,SP(#4)
|
||||||
|
xor r4,r4
|
||||||
|
sc #23 /*setuid*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_sgbrk::
|
||||||
|
{
|
||||||
|
ldl rr0,SP(#4)
|
||||||
|
xor r4,r4
|
||||||
|
sc #17 /*break*/
|
||||||
|
ldl rr2,rr4
|
||||||
|
jp c,cerror
|
||||||
|
ret
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec data
|
||||||
|
.data
|
||||||
|
.comm 2,_errno
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_sptrace::
|
||||||
|
{
|
||||||
|
xor r0,r0
|
||||||
|
ld _errno,r0
|
||||||
|
ldm r0,|_stkseg+4|(sp),#5
|
||||||
|
sc #58 /*reserved*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_stat::
|
||||||
|
{
|
||||||
|
ldm r0,|_stkseg+4|(sp),#4
|
||||||
|
xor r4,r4
|
||||||
|
sc #18 /*stat*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec data
|
||||||
|
.code
|
||||||
|
_stime::
|
||||||
|
{
|
||||||
|
ldl rr0,SP(#4)
|
||||||
|
xor r4,r4
|
||||||
|
sc #25 /*stime*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_sync::
|
||||||
|
{
|
||||||
|
sc #36 /*sync*/
|
||||||
|
ret
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_time::
|
||||||
|
{
|
||||||
|
sc #13 /*time*/
|
||||||
|
ldl rr2,rr4
|
||||||
|
ldl rr6,SP(#4)
|
||||||
|
testl rr6
|
||||||
|
ret z
|
||||||
|
ldl @rr6,rr2
|
||||||
|
ret
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_times::
|
||||||
|
{
|
||||||
|
ld r2,#%0016
|
||||||
|
ldl rr0,SP(#4)
|
||||||
|
subl rr4,rr4
|
||||||
|
sc #43 /*times*/
|
||||||
|
ldl rr2,rr4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_umask::
|
||||||
|
{
|
||||||
|
ld r0,SP(#4)
|
||||||
|
sc #60 /*umask*/
|
||||||
|
ld r2,r4
|
||||||
|
ret
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_umount::
|
||||||
|
{
|
||||||
|
ld r2,#%0016
|
||||||
|
ldl rr0,SP(#4)
|
||||||
|
xor r4,r4
|
||||||
|
sc #22 /*umount*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_unlink::
|
||||||
|
{
|
||||||
|
ldl rr0,SP(#4)
|
||||||
|
xor r4,r4
|
||||||
|
sc #10 /*unlink*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_unlk::
|
||||||
|
{
|
||||||
|
ldm r0,|_stkseg+4|(sp),#4
|
||||||
|
sc #50 /*reserved*/
|
||||||
|
ldl rr2,rr4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_ustat::
|
||||||
|
{
|
||||||
|
ldm r0,|_stkseg+4|(sp),#3
|
||||||
|
ldk r3,#2
|
||||||
|
sc #57 /*reserved*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_utime::
|
||||||
|
{
|
||||||
|
ldm r0,|_stkseg+4|(sp),#4
|
||||||
|
xor r4,r4
|
||||||
|
sc #30 /*utime*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_wait::
|
||||||
|
{
|
||||||
|
sc #7 /*wait*/
|
||||||
|
ldl rr2,rr4
|
||||||
|
jp c,cerror
|
||||||
|
ldl rr6,SP(#4)
|
||||||
|
testl rr6
|
||||||
|
ret z
|
||||||
|
ld @rr6,r3
|
||||||
|
ret
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
.seg
|
||||||
|
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
_write::
|
||||||
|
{
|
||||||
|
ldm r0,|_stkseg+4|(sp),#4
|
||||||
|
sc #4 /*write*/
|
||||||
|
ld r2,r4
|
||||||
|
ret nc
|
||||||
|
jp cerror
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue