61 lines
		
	
	
	
		
			620 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
	
		
			620 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| .set	msg,49
 | |
| .globl	_msgrcv
 | |
| .globl	_msgctl
 | |
| .globl	_msgsnd
 | |
| .globl	_msgget
 | |
| .globl	cerror
 | |
| 
 | |
| _msgsnd:
 | |
| 	.word 0x0000
 | |
| 	pushl	16(ap)
 | |
| 	pushl	12(ap)
 | |
| 	pushl	8(ap)
 | |
| 	pushl	4(ap)
 | |
| 	pushl	$3
 | |
| 	calls	$5,sys
 | |
| 	ret
 | |
| 
 | |
| _msgrcv:
 | |
| 	.word 0x0000
 | |
| 	pushl	20(sp)
 | |
| 	pushl	16(ap)
 | |
| 	pushl	12(ap)
 | |
| 	pushl	8(ap)
 | |
| 	pushl	4(ap)
 | |
| 	pushl	$2
 | |
| 	calls	$6,sys1
 | |
| 	ret
 | |
| 
 | |
| _msgctl:
 | |
| 	.word 0x0000
 | |
| 	pushl	12(ap)
 | |
| 	pushl	8(ap)
 | |
| 	pushl	4(ap)
 | |
| 	pushl	$1
 | |
| 	calls	$4,sys
 | |
| 	ret
 | |
| 
 | |
| _msgget:
 | |
| 	.word 0x0000
 | |
| 	pushl	8(ap)
 | |
| 	pushl	4(ap)
 | |
| 	pushl	$0
 | |
| 	calls	$3,sys1
 | |
| 	ret
 | |
| 
 | |
| sys:
 | |
| 	.word 0x0000
 | |
| 	chmk	$msg
 | |
| 	bcc	ok
 | |
| 	jmp	cerror
 | |
| ok:
 | |
| 	clrl	r0
 | |
| 	ret
 | |
| 
 | |
| sys1:
 | |
| 	.word 0x0000
 | |
| 	chmk	$msg
 | |
| 	bcc	ok1
 | |
| 	jmp	cerror
 | |
| ok1:
 | |
| 	ret
 |