d0ed342109691e951617bd78a4205e7560c4dfc4
[mes.git] / lib / x86_64-mes / elf64-body-exit-42.hex2
1 ### Copyright (C) 2017, 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
2 ### This file is part of stage0.
3 ###
4 ### stage0 is free software: you an redistribute it and/or modify
5 ### it under the terms of the GNU General Public License as published by
6 ### the Free Software Foundation, either version 3 of the License, or
7 ### (at your option) any later version.
8 ###
9 ### stage0 is distributed in the hope that it will be useful,
10 ### but WITHOUT ANY WARRANTY; without even the implied warranty of
11 ### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 ### GNU General Public License for more details.
13 ###
14 ### You should have received a copy of the GNU General Public License
15 ### along with stage0.  If not, see <http://www.gnu.org/licenses/>.
16
17 ### stage0's hex2 format for x86_64
18 ###    !<label>          1 byte relative
19 ###    $<label>          2 byte address
20 ###    @<label>          2 byte relative
21 ###    &<label>          4 byte address
22 ###    %<label>          4 byte relative
23 ###    local_<label>     function-local
24 ###    string_<index>    string #<index>
25
26 ### elf64-body-exit-42.hex2: 64 bit elf body in hex2 for `exit 42'
27
28 # @200
29 :ELF_text
30 :_start
31 # exit(42)
32 e8 %main                       # callq  +11 <main>
33 00 00 00
34 00 00 00 00
35 00 00 00 00
36
37 # @210
38 :main
39 48 c7 c7 2a 00 00 00           # mov    $42,%rdi
40 48 c7 c0 3c 00 00 00           # mov    $0x3c,%rax
41 0f 05                          # syscall
42
43 00 00 00 00
44
45 # @220
46 :ELF_data
47 65 78 69 74 34 32 20 64 61 74 61 20 68 65 72 65 # exit42 data here"