_sendrec.s

来自「操作系统源代码」· S 代码 · 共 54 行

S
54
字号
.sect .text; .sect .rom; .sect .data; .sect .bss.define __send, __receive, __sendrec! See ../h/com.h for C definitionsSEND = 1RECEIVE = 2BOTH = 3SYSVEC = 33SRCDEST = 8MESSAGE = 12!*========================================================================*!                           _send and _receive                            *!*========================================================================*! _send(), _receive(), _sendrec() all save ebp, but destroy eax and ecx..define __send, __receive, __sendrec.sect .text__send:	push	ebp	mov	ebp, esp	push	ebx	mov	eax, SRCDEST(ebp)	! eax = dest-src	mov	ebx, MESSAGE(ebp)	! ebx = message pointer	mov	ecx, SEND		! _send(dest, ptr)	int	SYSVEC			! trap to the kernel	pop	ebx	pop	ebp	ret__receive:	push	ebp	mov	ebp, esp	push	ebx	mov	eax, SRCDEST(ebp)	! eax = dest-src	mov	ebx, MESSAGE(ebp)	! ebx = message pointer	mov	ecx, RECEIVE		! _receive(src, ptr)	int	SYSVEC			! trap to the kernel	pop	ebx	pop	ebp	ret__sendrec:	push	ebp	mov	ebp, esp	push	ebx	mov	eax, SRCDEST(ebp)	! eax = dest-src	mov	ebx, MESSAGE(ebp)	! ebx = message pointer	mov	ecx, BOTH		! _sendrec(srcdest, ptr)	int	SYSVEC			! trap to the kernel	pop	ebx	pop	ebp	ret

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?