/*
    asm.h, Copyright (c) by Silvio Dragone & David Reist,
    Swiss Federal Institute of Technology,
    Computer Engineering and Networks Laboratory.
 
    TOPSY -- A Teachable Operating System.
             Implementation of a tiny and simple
             micro kernel for teaching purposes.
 
    For further information, please visit http://www.tik.ee.ethz.ch/~topsy
 
    This software is provided under the terms of the GNU General Public Licence.
 
    A full copy of the GNU GPL is provided in the file COPYING found in the 
    development root of Topsy.
*/

/* register names */

#define a0      r0      /* argument registers */
#define a1      r1
#define a2		r2
#define a3		r3
#define v0      r4      /* callee saves */
#define v1      r5
#define v2		r6
#define v3		r7
#define v4		r8
#define v5		r9
#define sl		r10     /* stack limit */
#define fp		r11     /* frame pointer */
#define ip		r12     /* scratch register */
#define sp		r13     /* stack pointer */
#define lr		r14     /* link register */
#define pc      r15     /* program counter */

/* short hands */

#define	ENTRY(_name_) \
  .globl	_name_ ; \
  .align	0; \
  _name_:

#define	END(_name_) \
	mov    pc, lr

#define LABEL(_name_) \
        .globl _name_; \
        _name_:
