diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/access.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/access.s new file mode 100644 index 0000000..9c21238 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/access.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/acct.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/acct.s new file mode 100644 index 0000000..bef352b --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/acct.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/alarm.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/alarm.s new file mode 100644 index 0000000..bb59ee5 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/alarm.s @@ -0,0 +1,14 @@ + .seg + + sp := r15 + SP := rr14 + + .psec + .code +_alarm:: + { + ld r0,SP(#4) + sc #27 /*alarm*/ + ld r2,r4 + ret + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/chdir.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/chdir.s new file mode 100644 index 0000000..68e48a9 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/chdir.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/chmod.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/chmod.s new file mode 100644 index 0000000..e693d81 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/chmod.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/chown.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/chown.s new file mode 100644 index 0000000..d56ea77 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/chown.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/chroot.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/chroot.s new file mode 100644 index 0000000..c01adff --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/chroot.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/close.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/close.s new file mode 100644 index 0000000..aa2c1b2 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/close.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/creat.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/creat.s new file mode 100644 index 0000000..0329179 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/creat.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/dup.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/dup.s new file mode 100644 index 0000000..f3ba493 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/dup.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/dup2.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/dup2.s new file mode 100644 index 0000000..3d72bff --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/dup2.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/execl.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/execl.s new file mode 100644 index 0000000..bc52330 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/execl.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/execle.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/execle.s new file mode 100644 index 0000000..13bca02 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/execle.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/execve.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/execve.s new file mode 100644 index 0000000..9639e25 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/execve.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/fork.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/fork.s new file mode 100644 index 0000000..f251ac1 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/fork.s @@ -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 + + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/fstat.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/fstat.s new file mode 100644 index 0000000..befb7ee --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/fstat.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/ftime.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/ftime.s new file mode 100644 index 0000000..13a49c0 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/ftime.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/getegid.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/getegid.s new file mode 100644 index 0000000..9b7a817 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/getegid.s @@ -0,0 +1,13 @@ + .seg + + sp := r15 + SP := rr14 + + .psec + .code +_getegid:: + { + sc #47 /*getgid*/ + ld r2,r5 + ret + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/geteuid.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/geteuid.s new file mode 100644 index 0000000..f9d79cc --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/geteuid.s @@ -0,0 +1,13 @@ + .seg + + sp := r15 + SP := rr14 + + .psec + .code +_geteuid:: + { + sc #24 /*getuid*/ + ld r2,r5 + ret + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/getgid.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/getgid.s new file mode 100644 index 0000000..edc6540 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/getgid.s @@ -0,0 +1,13 @@ + .seg + + sp := r15 + SP := rr14 + + .psec + .code +_getgid:: + { + sc #47 /*getgid*/ + ld r2,r4 + ret + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/getpid.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/getpid.s new file mode 100644 index 0000000..59c4330 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/getpid.s @@ -0,0 +1,16 @@ + .seg + + sp := r15 + SP := rr14 + + .psec data + .data + + .psec + .code +_getpid:: + { + sc #20 /*getpid*/ + ld r2,r4 + ret + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/getppid.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/getppid.s new file mode 100644 index 0000000..9d426f3 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/getppid.s @@ -0,0 +1,13 @@ + .seg + + sp := r15 + SP := rr14 + + .psec + .code +_getppid:: + { + sc #20 /*getpid*/ + ld r2,r5 + ret + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/getuid.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/getuid.s new file mode 100644 index 0000000..06dce65 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/getuid.s @@ -0,0 +1,13 @@ + .seg + + sp := r15 + SP := rr14 + + .psec + .code +_getuid:: + { + sc #24 /*getuid*/ + ld r2,r4 + ret + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/kill.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/kill.s new file mode 100644 index 0000000..db1b9c9 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/kill.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/link.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/link.s new file mode 100644 index 0000000..0d5a722 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/link.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/lkdata.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/lkdata.s new file mode 100644 index 0000000..3e93e32 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/lkdata.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/lseek.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/lseek.s new file mode 100644 index 0000000..736aa42 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/lseek.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/mdmctl.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/mdmctl.s new file mode 100644 index 0000000..47adcb3 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/mdmctl.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/mknod.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/mknod.s new file mode 100644 index 0000000..d558245 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/mknod.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/mkseg.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/mkseg.s new file mode 100644 index 0000000..13b3411 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/mkseg.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/mount.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/mount.s new file mode 100644 index 0000000..820aaaf --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/mount.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/nice.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/nice.s new file mode 100644 index 0000000..9de3db0 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/nice.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/open.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/open.s new file mode 100644 index 0000000..f70506c --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/open.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/pause.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/pause.s new file mode 100644 index 0000000..4dcca68 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/pause.s @@ -0,0 +1,12 @@ + .seg + + sp := r15 + SP := rr14 + + .psec + .code +_pause:: + { + sc #29 /*pause*/ + ret + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/pipe.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/pipe.s new file mode 100644 index 0000000..3fc960d --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/pipe.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/plock.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/plock.s new file mode 100644 index 0000000..6e64d61 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/plock.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/ptrace.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/ptrace.s new file mode 100644 index 0000000..4afecf6 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/ptrace.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/read.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/read.s new file mode 100644 index 0000000..9d2f656 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/read.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/setgid.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/setgid.s new file mode 100644 index 0000000..2a6bff2 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/setgid.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/setuid.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/setuid.s new file mode 100644 index 0000000..949955c --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/setuid.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/sgbrk.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/sgbrk.s new file mode 100644 index 0000000..d7fb914 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/sgbrk.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/sptrace.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/sptrace.s new file mode 100644 index 0000000..624cf4a --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/sptrace.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/stat.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/stat.s new file mode 100644 index 0000000..490519b --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/stat.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/stime.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/stime.s new file mode 100644 index 0000000..ac6a7f3 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/stime.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/sync.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/sync.s new file mode 100644 index 0000000..6a5db0f --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/sync.s @@ -0,0 +1,12 @@ + .seg + + sp := r15 + SP := rr14 + + .psec + .code +_sync:: + { + sc #36 /*sync*/ + ret + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/time.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/time.s new file mode 100644 index 0000000..383c19f --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/time.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/times.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/times.s new file mode 100644 index 0000000..da2027c --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/times.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/umask.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/umask.s new file mode 100644 index 0000000..995a7cb --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/umask.s @@ -0,0 +1,14 @@ + .seg + + sp := r15 + SP := rr14 + + .psec + .code +_umask:: + { + ld r0,SP(#4) + sc #60 /*umask*/ + ld r2,r4 + ret + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/umount.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/umount.s new file mode 100644 index 0000000..71764c3 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/umount.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/unlink.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/unlink.s new file mode 100644 index 0000000..e7f0201 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/unlink.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/unlk.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/unlk.s new file mode 100644 index 0000000..432e805 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/unlk.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/ustat.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/ustat.s new file mode 100644 index 0000000..e0cbba6 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/ustat.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/utime.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/utime.s new file mode 100644 index 0000000..c1a2297 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/utime.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/wait.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/wait.s new file mode 100644 index 0000000..de60d5e --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/wait.s @@ -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 + } diff --git a/WEGA/contrib/lcc/lib/libc/u8k/sys/write.s b/WEGA/contrib/lcc/lib/libc/u8k/sys/write.s new file mode 100644 index 0000000..024e8a1 --- /dev/null +++ b/WEGA/contrib/lcc/lib/libc/u8k/sys/write.s @@ -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 + }