|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1999 Apple Computer, Inc. All rights reserved. ! 3: * ! 4: * @APPLE_LICENSE_HEADER_START@ ! 5: * ! 6: * Portions Copyright (c) 1999 Apple Computer, Inc. All Rights ! 7: * Reserved. This file contains Original Code and/or Modifications of ! 8: * Original Code as defined in and that are subject to the Apple Public ! 9: * Source License Version 1.1 (the "License"). You may not use this file ! 10: * except in compliance with the License. Please obtain a copy of the ! 11: * License at http://www.apple.com/publicsource and read it before using ! 12: * this file. ! 13: * ! 14: * The Original Code and all software distributed under the License are ! 15: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER ! 16: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, ! 17: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, ! 18: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the ! 19: * License for the specific language governing rights and limitations ! 20: * under the License. ! 21: * ! 22: * @APPLE_LICENSE_HEADER_END@ ! 23: */ ! 24: ! 25: /* ! 26: * Mach Operating System ! 27: * Copyright (c) 1989 Carnegie-Mellon University ! 28: * All rights reserved. The CMU software License Agreement specifies ! 29: * the terms and conditions for use and redistribution. ! 30: */ ! 31: ! 32: ! 33: #define S_ARG0 4(%esp) ! 34: #define S_ARG1 8(%esp) ! 35: #define S_ARG2 12(%esp) ! 36: #define S_ARG3 16(%esp) ! 37: ! 38: #define FRAME pushl %ebp; movl %esp, %ebp ! 39: #define EMARF leave ! 40: ! 41: #define B_ARG0 8(%ebp) ! 42: #define B_ARG1 12(%ebp) ! 43: #define B_ARG2 16(%ebp) ! 44: #define B_ARG3 20(%ebp) ! 45: ! 46: #define EXT(x) _##x ! 47: #define LBb(x,n) n##b ! 48: #define LBf(x,n) n##f ! 49: ! 50: #define ALIGN 2 ! 51: #define LCL(x) x ! 52: ! 53: #define LB(x,n) n ! 54: ! 55: #define SVC .byte 0x9a; .long 0; .word 0x7 ! 56: #define String .ascii ! 57: #define Value .word ! 58: ! 59: #define Times(a,b) (a*b) ! 60: #define Divide(a,b) (a/b) ! 61: ! 62: #define INB inb %dx, %al ! 63: #define OUTB outb %al, %dx ! 64: #define INL inl %dx, %eax ! 65: #define OUTL outl %eax, %dx ! 66: ! 67: #define data16 .byte 0x66 ! 68: #define addr16 .byte 0x67 ! 69: ! 70: ! 71: ! 72: #ifdef GPROF ! 73: #define MCOUNT .data; LB(x, 9): .long 0; .text; lea LBb(x, 9),%edx; call mcount ! 74: #define ENTRY(x) .globl EXT(x); .align ALIGN; EXT(x): ; \ ! 75: pushl %ebp; movl %esp, %ebp; MCOUNT; popl %ebp; ! 76: #define ASENTRY(x) .globl x; .align ALIGN; x: ; \ ! 77: pushl %ebp; movl %esp, %ebp; MCOUNT; popl %ebp; ! 78: #else /* GPROF */ ! 79: #define MCOUNT ! 80: #define ENTRY(x) .globl EXT(x); .align ALIGN; EXT(x): ! 81: #define ASENTRY(x) .globl x; .align ALIGN; x: ! 82: #endif /* GPROF */ ! 83: ! 84: #define Entry(x) .globl EXT(x); .align ALIGN; EXT(x): ! 85: #define DATA(x) .globl EXT(x); .align ALIGN; EXT(x): ! 86:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.