utime.s
wait.s
write.s
+sendrec.s
_exit.c
_access.c
_alarm.c
_utime.c
_wait.c
_write.c
+_sendrec.s
+brksize.s
vectab.c
errno.c
--- /dev/null
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.sect .text
+.define __send, __receive, __sendrec
+
+! See ../h/com.h for C definitions
+SEND = 1
+RECEIVE = 2
+BOTH = 3
+SYSVEC = 32
+
+!*========================================================================*
+! _send and _receive *
+!*========================================================================*
+! _send(), _receive(), _sendrec() all save bp, but destroy ax, bx, and cx.
+.extern __send, __receive, __sendrec
+__send: mov cx,SEND ! _send(dest, ptr)
+ jmp L0
+
+__receive:
+ mov cx,RECEIVE ! _receive(src, ptr)
+ jmp L0
+
+__sendrec:
+ mov cx,BOTH ! _sendrec(srcdest, ptr)
+ jmp L0
+
+ L0: push bp ! save bp
+ mov bp,sp ! can't index off sp
+ mov ax,4(bp) ! ax = dest-src
+ mov bx,6(bp) ! bx = message pointer
+ int SYSVEC ! trap to the kernel
+ pop bp ! restore bp
+ ret ! return
+
-.define _brksize
-.sect .text; .sect .rom; .sect .data
-.extern endbss, _brksize
+.sect .text; .sect .rom; .sect .data; .sect .bss
+.define __brksize
.sect .data
-_brksize: .data2 endbss
+.extern endbss, __brksize
+__brksize: .data2 endbss
-.sect .text; .sect .rom; .sect .data
-.define _send, _receive, _sendrec
-.extern _send, _receive, _sendrec
-! See ../h/com.h for C definitions
-SEND = 1
-RECEIVE = 2
-BOTH = 3
-SYSVEC = 32
-
-!*========================================================================*
-! send and receive *
-!*========================================================================*
-! send(), receive(), sendrec() all save bp, but destroy ax, bx, and cx.
-
+.sect .text; .sect .rom; .sect .data; .sect .bss
.sect .text
-
-_send: mov cx,SEND ! send(dest, ptr)
- jmp L0
-
-_receive:
- mov cx,RECEIVE ! receive(src, ptr)
- jmp L0
-
+.define _sendrec
_sendrec:
- mov cx,BOTH ! sendrec(srcdest, ptr)
- jmp L0
-
- L0: push bp ! save bp
- mov bp,sp ! can't index off sp
- mov ax,4(bp) ! ax = dest-src
- mov bx,6(bp) ! bx = message pointer
- int SYSVEC ! trap to the kernel
- pop bp ! restore bp
- ret ! return
-
+ jmp __sendrec