4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/* $NetBSD: asm.h,v 1.4 2006/08/30 11:14:23 cherry Exp $ */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * Copyright (c) 1991,1990,1989,1994,1995,1996 Carnegie Mellon University
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * All Rights Reserved.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * Permission to use, copy, modify and distribute this software and its
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * documentation is hereby granted, provided that both the copyright
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * notice and this permission notice appear in all copies of the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * software, derivative works or modified versions, and any portions
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * thereof, and that both notices appear in supporting documentation.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * Carnegie Mellon requests users of this software to return to
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * School of Computer Science
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * Carnegie Mellon University
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * Pittsburgh PA 15213-3890
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * any improvements or extensions that they make and grant Carnegie Mellon
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * the rights to redistribute these changes.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * Assembly coding style
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * This file contains macros and register defines to
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * aid in writing more readable assembly code.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * Some rules to make assembly code understandable by
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * a debugger are also noted.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * Macro to make a local label name.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * Declare a global leaf function.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * A leaf function does not call other functions.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * STATIC_ENTRY
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * Declare a local leaf function.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * Global alias for a leaf function, or alternate entry point
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * STATIC_XENTRY
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * Local alias for a leaf function, or alternate entry point
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * Function delimiter
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * Export a symbol
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * Make an external name visible, typecheck the size
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync /* .extern _name_,_size_ */
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * Define an absolute symbol
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * Allocate un-initialized space for a global symbol
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * Allocate space for a message (a read-only ascii string)
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * System call glue.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * WEAK_ALIAS: create a weak alias (ELF only).
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync * STRONG_ALIAS: create a strong alias.