36 lines
		
	
	
	
		
			500 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
	
		
			500 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| .define __execl
 | |
| .define __execve
 | |
| .define __execv
 | |
| .define __execle
 | |
| .sect .text
 | |
| .sect .rom
 | |
| .sect .data
 | |
| .sect .bss
 | |
| .sect .text
 | |
| __execl:		tst.b -48(sp)
 | |
| 		link a6,#0
 | |
| 		move.l _environ,-(sp)
 | |
| 3:
 | |
| 		pea 12(a6)
 | |
| 4:
 | |
| 		move.l 8(a6),-(sp)
 | |
| 		jsr __execve
 | |
| 		unlk	a6
 | |
| 		rts
 | |
| __execve:	trap #0
 | |
| .data2 0x3b
 | |
| 		jmp cerror
 | |
| __execv:		
 | |
| 		tst.b -48(sp)
 | |
| 		link a6,#0
 | |
| 		move.l _environ,-(sp)
 | |
| 		move.l	12(a6),-(sp)
 | |
| 		bra	4b
 | |
| __execle:	tst.b	-48(sp)
 | |
| 		link	a6,#0
 | |
| 		lea	12(a6),a0
 | |
| 1:
 | |
| 		tst.l	(a0)+
 | |
| 		bne	1b
 | |
| 		move.l	a0,-(sp)
 | |
| 		bra	3b
 |