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