* Copyright (c) 1990 The Regents of the University of California.
* This code is derived from software contributed to Berkeley by
* %sccs.include.noredist.c%
* @(#)srt0.c 7.1 (Berkeley) %G%
* Startup code for standalone system
* Non-relocating version -- for programs which are loaded by boot
* Relocating version for boot
# movl $entry-RELOC,%esi # from beginning of ram
movl $entry
,%edi
# to relocated area
# movl $_edata-RELOC,%ecx # this much
# jmp *$begin -- does not work, why!?
savearea
: .long 0,0 # sp & bp to return to
movw
%ax
,0x472 # warm boot
movl $
0,%esp
# segment violation
# jump PA_Monitor # jump to startup code in ROM
# NOTE: does not (yet) handle overlapped copies
.byte
0x66,0xf2,0x6d # rep insw
.byte
0x66,0xf2,0x6f # rep outsw