4 s/#.*$//; s/\b(\w{4})(\w{4})\b/$2 $1/g; s/\b(\w\w)(\w\w)\b/$2 $1/g;
5 foreach $a (split /\s+/) { print pack("c",hex $a); }
10 7f 45 4c 46 # Identification
14 00 00000000 00000000 # Padding
15 0002 # Type: Executable File
17 00000001 # Version: Current :)
18 100000A4 # Entry point
21 00000000 # Machine-specific flags
23 0020 # Size of single PH entry
24 0001 # Number of PH entries
25 0028 # Size of single SH entry
26 0002 # Number of SH entries
27 0000 # String table offset
29 # Offset 34: Section Header for section 0
31 00000000 # Name (ST offset)
40 00000000 # Size of single entry
42 # Offset 5C: Section Header for section 1
44 00000000 # Name (ST offset)
45 00000001 # Type: Program bits
46 00000007 # Flags: writeable, allocate, executable
53 00000000 # Size of single entry: No entries
55 # Offset 84: Program Header
57 00000001 # Type: Loadable
58 000000A4 # Offset of section start
59 100000A4 # Virtual address
60 100000A4 # Physical address: ignored
61 00000009 # File image size
62 00000009 # Memory image size
64 00001000 # Align to page size
66 # Offset A4: Our Program