68 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C
		
	
	
	
| /*
 | |
|  * Copyright (C) 2006 KPIT Cummins
 | |
|  * Copyright (C) 2009 Conny Marco Menebröcker
 | |
|  * All rights reserved.
 | |
|  *
 | |
|  * Redistribution and use in source and binary forms is permitted
 | |
|  * provided that the above copyright notice and following paragraph are
 | |
|  * duplicated in all such forms.
 | |
|  *
 | |
|  * This file is distributed WITHOUT ANY WARRANTY; without even the implied
 | |
|  * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 | |
|  */
 | |
| int trap0(int file, unsigned long ptr,int len)
 | |
| {
 | |
| asm volatile("TRAP #3");
 | |
| return len;
 | |
| }
 | |
| 
 | |
| 
 | |
| int trap1(int file, unsigned long ptr,int len)
 | |
| {
 | |
|  asm volatile("TRAP #4");
 | |
|                                                                                 
 | |
| }
 | |
|                                                                                 
 | |
| int trap_lseek(int file, unsigned long ptr,int len)
 | |
| {
 | |
|  asm volatile("TRAP #8");
 | |
|                                                                                 
 | |
| }
 | |
|                                                                                 
 | |
| 
 | |
| 
 | |
| volatile int opensys(char *name,int flags,int perms)
 | |
| {
 | |
|  #ifndef __xc16xL__
 | |
|         asm volatile("push r11\n"
 | |
|                      "mov r11,r10 \n"
 | |
|                      " mov r10,r9  \n"
 | |
|                      " mov r9,#0x300 \n"
 | |
|                      );
 | |
|                                                                                 
 | |
|   #endif
 | |
|                                                                                 
 | |
| asm volatile("trap #5");
 | |
| #ifndef __xc16xL__
 | |
| asm volatile("pop r11");
 | |
| #endif
 | |
| }
 | |
|                                                                                 
 | |
| volatile int creatsys(char *name,int perms)
 | |
| {
 | |
|  #ifndef __xc16xL__
 | |
|         asm volatile("push r10\n"
 | |
|                      " mov r10,r9  \n"
 | |
|                      " mov r9,#0x300 \n"
 | |
|                      );
 | |
|                                                                                 
 | |
|   #endif
 | |
|                                                                                 
 | |
| asm volatile("trap #7");
 | |
| #ifndef __xc16xL__
 | |
| asm volatile("pop r10");
 | |
| #endif
 | |
| }
 | |
|                                                                                 
 | |
| 
 |