d169563e4b470feda0d4130656d18b5ec50ffccd
[people/xl0/gpxe.git] / src / arch / i386 / prefix / exeprefix.S
1 /*
2         Prefix for .exe images
3         Doesn't work yet, even though it starts off the same as a .com
4         image as shown by DOS debug.
5 */
6
7         .text
8         .code16
9         .arch i386
10         .section        ".prefix", "ax", @progbits
11         .globl  _prefix
12
13 _prefix:
14         .byte   'M', 'Z'
15         .short  _exe_size_tail                  /* tail */
16         .short  _exe_size_pages                 /* pages */
17         .short  0                               /* relocations */
18         .short  2                               /* header paras */
19         .short  _exe_bss_size                   /* min */
20         .short  0xFFFF                          /* max paras */
21         .short  _exe_ss_offset                  /* SS */
22         .short  _stack_size                     /* SP */
23         .short  0                               /* checksum */
24         .short  0                               /* IP */
25         .short  0                               /* CS */
26         .short  0x1C                            /* reloc offset */
27         .short  0                               /* overlay number */
28         .short  0                               /* fill */
29         .short  0                               /* fill */
30
31         .section ".text16", "ax", @progbits
32         .globl  prefix_exit
33 prefix_exit:
34         movw    $0x4c00,%ax             /* return to DOS */
35         int     $0x21                   /* reach this on Quit */
36         .globl  prefix_exit_end
37 prefix_exit_end:
38         .previous
39
40 /* The body of etherboot is attached here at build time.
41  * Force 16 byte alignment
42  */
43         .align 16,0
44 _body: