|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1995-1994 The University of Utah and ! 3: * the Computer Systems Laboratory at the University of Utah (CSL). ! 4: * All rights reserved. ! 5: * ! 6: * Permission to use, copy, modify and distribute this software is hereby ! 7: * granted provided that (1) source code retains these copyright, permission, ! 8: * and disclaimer notices, and (2) redistributions including binaries ! 9: * reproduce the notices in supporting documentation, and (3) all advertising ! 10: * materials mentioning features or use of this software display the following ! 11: * acknowledgement: ``This product includes software developed by the ! 12: * Computer Systems Laboratory at the University of Utah.'' ! 13: * ! 14: * THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS ! 15: * IS" CONDITION. THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF ! 16: * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. ! 17: * ! 18: * CSL requests users of this software to return to [email protected] any ! 19: * improvements that they make and grant CSL redistribution rights. ! 20: * ! 21: * Author: Bryan Ford, University of Utah CSL ! 22: */ ! 23: ! 24: #include <mach/machine/asm.h> ! 25: ! 26: #include "pc_asm.h" ! 27: ! 28: .text ! 29: .code16 ! 30: ! 31: ENTRY(i16_real_int) ! 32: pushf ! 33: pushl %ebx ! 34: pushl %esi ! 35: pushl %edi ! 36: pushl %ebp ! 37: ! 38: cli ! 39: ! 40: movl 6*4(%esp),%eax ! 41: movb %al,1f+1 ! 42: ! 43: movl 7*4(%esp),%ebp ! 44: movl RCD_EAX(%ebp),%eax ! 45: movl RCD_EBX(%ebp),%ebx ! 46: movl RCD_ECX(%ebp),%ecx ! 47: movl RCD_EDX(%ebp),%edx ! 48: movl RCD_ESI(%ebp),%esi ! 49: movl RCD_EDI(%ebp),%edi ! 50: movw RCD_DS(%ebp),%ds ! 51: movw RCD_ES(%ebp),%es ! 52: /* XXX flags */ ! 53: movl RCD_EBP(%ebp),%ebp ! 54: ! 55: 1: int $0 ! 56: ! 57: pushl %ebp ! 58: movl 8*4(%esp),%ebp ! 59: popl RCD_EBP(%ebp) ! 60: ! 61: movl %eax,RCD_EAX(%ebp) ! 62: movl %ebx,RCD_EBX(%ebp) ! 63: movl %ecx,RCD_ECX(%ebp) ! 64: movl %edx,RCD_EDX(%ebp) ! 65: movl %esi,RCD_ESI(%ebp) ! 66: movl %edi,RCD_EDI(%ebp) ! 67: movw %ds,RCD_DS(%ebp) ! 68: movw %es,RCD_ES(%ebp) ! 69: ! 70: pushf ! 71: popl %eax ! 72: movw %ax,RCD_FLAGS(%ebp) ! 73: ! 74: movw %ss,%ax ! 75: movw %ax,%ds ! 76: movw %ax,%es ! 77: ! 78: popl %ebp ! 79: popl %edi ! 80: popl %esi ! 81: popl %ebx ! 82: popf ! 83: ret ! 84:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.