fixed offset in notes
[efitest3] / hdr.asm
1 ; vi:ft=nasm:
2         org 0
3
4         ; DOS stub
5         db "MZ"
6         times 3ah db 0
7         dd 40h          ; PE offset
8         ; PE signature
9         db "PE",0,0
10         ; COFF header
11         dw 8664h        ; machine type: x86-64
12         dw 1            ; number of sections
13         dd 0            ; creation time
14         dd 0            ; offset to symbol table
15         dd 0            ; number of symbols
16         dw opthdr_end - opthdr  ; size of optional header
17         dw 2022h        ; characteristics: DLL, exec image, can handle > 2gb addr
18         ; optional header - standard fields
19 opthdr: dw 020bh        ; magic: PE32+
20         dw 0            ; linker version
21         dd prog_end - prog      ; size of code
22         dd 0            ; size of init data
23         dd 0            ; size of uninit data
24         dd prog         ; entry point
25         dd prog         ; base of code
26         ; optional header - windows-specific fields
27         dq 100000h      ; image base
28         dd 4096         ; section alignment
29         dd 4096         ; file alignment
30         dd 0            ; os version
31         dd 0            ; img version
32         dd 0            ; subsys version
33         dd 0
34         dd image_end    ; size of image
35         dd prog         ; size of headers
36         dd 0            ; checksum
37         dw 10           ; subsystem: EFI application
38         dw 0040h        ; DLL characteristics: relocatable at runtime
39         dq 4096         ; size of stack reserve
40         dq 4096         ; size of stack commit
41         dq 4096         ; size of heap reserve
42         dq 0            ; size of heap commit
43         dd 0
44         dd 0            ; number of rva and sizes
45 opthdr_end:
46
47         ; sections
48         db ".text",0,0,0
49         dd image_end - prog     ; virtual size
50         dd prog         ; virtual address
51         dd image_end - prog     ; raw data size
52         dd prog         ; raw data
53         dd 0            ; relocations offset
54         dd 0            ; line numbers offset
55         dw 0            ; num reloc
56         dw 0            ; num line numbers
57         dd 60000020h    ; characteristics: exec, readable, code
58
59         align 4096
60 prog:
61         incbin "efitest.bin"
62 prog_end:
63         align 4096
64 image_end: