|
|
Darwin 0.1 Mach+BSD kernel
/* * Copyright (c) 1999 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ * * Portions Copyright (c) 1999 Apple Computer, Inc. All Rights * Reserved. This file contains Original Code and/or Modifications of * Original Code as defined in and that are subject to the Apple Public * Source License Version 1.1 (the "License"). You may not use this file * except in compliance with the License. Please obtain a copy of the * License at http://www.apple.com/publicsource and read it before using * this file. * * The Original Code and all software distributed under the License are * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the * License for the specific language governing rights and limitations * under the License. * * @APPLE_LICENSE_HEADER_END@ */ /* * Mach Operating System * Copyright (c) 1989 Carnegie-Mellon University * All rights reserved. The CMU software License Agreement specifies * the terms and conditions for use and redistribution. */ #define S_ARG0 4(%esp) #define S_ARG1 8(%esp) #define S_ARG2 12(%esp) #define S_ARG3 16(%esp) #define FRAME pushl %ebp; movl %esp, %ebp #define EMARF leave #define B_ARG0 8(%ebp) #define B_ARG1 12(%ebp) #define B_ARG2 16(%ebp) #define B_ARG3 20(%ebp) #define EXT(x) _##x #define LBb(x,n) n##b #define LBf(x,n) n##f #define ALIGN 2 #define LCL(x) x #define LB(x,n) n #define SVC .byte 0x9a; .long 0; .word 0x7 #define String .ascii #define Value .word #define Times(a,b) (a*b) #define Divide(a,b) (a/b) #define INB inb %dx, %al #define OUTB outb %al, %dx #define INL inl %dx, %eax #define OUTL outl %eax, %dx #define data16 .byte 0x66 #define addr16 .byte 0x67 #ifdef GPROF #define MCOUNT .data; LB(x, 9): .long 0; .text; lea LBb(x, 9),%edx; call mcount #define ENTRY(x) .globl EXT(x); .align ALIGN; EXT(x): ; \ pushl %ebp; movl %esp, %ebp; MCOUNT; popl %ebp; #define ASENTRY(x) .globl x; .align ALIGN; x: ; \ pushl %ebp; movl %esp, %ebp; MCOUNT; popl %ebp; #else /* GPROF */ #define MCOUNT #define ENTRY(x) .globl EXT(x); .align ALIGN; EXT(x): #define ASENTRY(x) .globl x; .align ALIGN; x: #endif /* GPROF */ #define Entry(x) .globl EXT(x); .align ALIGN; EXT(x): #define DATA(x) .globl EXT(x); .align ALIGN; EXT(x):
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.