add LCC - a better C-Compiler for WEGA

This commit is contained in:
Oliver Lehmann 1990-03-14 11:41:18 +00:00
parent 909a391b92
commit 990b3bf211
55 changed files with 878 additions and 0 deletions

View File

@ -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
}

View File

@ -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
}

View File

@ -0,0 +1,14 @@
.seg
sp := r15
SP := rr14
.psec
.code
_alarm::
{
ld r0,SP(#4)
sc #27 /*alarm*/
ld r2,r4
ret
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -0,0 +1,13 @@
.seg
sp := r15
SP := rr14
.psec
.code
_getegid::
{
sc #47 /*getgid*/
ld r2,r5
ret
}

View File

@ -0,0 +1,13 @@
.seg
sp := r15
SP := rr14
.psec
.code
_geteuid::
{
sc #24 /*getuid*/
ld r2,r5
ret
}

View File

@ -0,0 +1,13 @@
.seg
sp := r15
SP := rr14
.psec
.code
_getgid::
{
sc #47 /*getgid*/
ld r2,r4
ret
}

View File

@ -0,0 +1,16 @@
.seg
sp := r15
SP := rr14
.psec data
.data
.psec
.code
_getpid::
{
sc #20 /*getpid*/
ld r2,r4
ret
}

View File

@ -0,0 +1,13 @@
.seg
sp := r15
SP := rr14
.psec
.code
_getppid::
{
sc #20 /*getpid*/
ld r2,r5
ret
}

View File

@ -0,0 +1,13 @@
.seg
sp := r15
SP := rr14
.psec
.code
_getuid::
{
sc #24 /*getuid*/
ld r2,r4
ret
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -0,0 +1,12 @@
.seg
sp := r15
SP := rr14
.psec
.code
_pause::
{
sc #29 /*pause*/
ret
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -0,0 +1,12 @@
.seg
sp := r15
SP := rr14
.psec
.code
_sync::
{
sc #36 /*sync*/
ret
}

View File

@ -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
}

View File

@ -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
}

View File

@ -0,0 +1,14 @@
.seg
sp := r15
SP := rr14
.psec
.code
_umask::
{
ld r0,SP(#4)
sc #60 /*umask*/
ld r2,r4
ret
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}