12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- ### GNU Mes --- Maxwell Equations of Software
- ### Copyright © 2017,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
- ###
- ### This file is part of GNU Mes.
- ###
- ### GNU Mes is free software; you can redistribute it and/or modify it
- ### under the terms of the GNU General Public License as published by
- ### the Free Software Foundation; either version 3 of the License, or (at
- ### your option) any later version.
- ###
- ### GNU Mes is distributed in the hope that it will be useful, but
- ### WITHOUT ANY WARRANTY; without even the implied warranty of
- ### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- ### GNU General Public License for more details.
- ###
- ### You should have received a copy of the GNU General Public License
- ### along with GNU Mes. If not, see <http://www.gnu.org/licenses/>.
- ### Commentary:
- # elf32-body-hello-mes.hex2: `Hello, GNU Mes!' for i686-linux written in
- # hex2 assembly, for usage with generic elf32-header.hex2 and
- # elf32-footer-single-main.hex.
- # This ELF binary contains a symbol table which means that objdump and
- # gdb can be used to inspect and debug.
- ### Code:
- # @200
- :ELF_text
- :_start
- e8 %main # call +11 <main>
- 00 00 00
- 00 00 00 00
- 00 00 00 00
- # @210
- :main
- # print <hello>
- b8 04 00 00 00 # mov $4, %eax
- bb 00 00 00 00 # mov $1, %ebx
- b9 &hello # mov $hello,%ecx
- ba %bye>hello # mov $(bye-hello),%edx
- cd 80 # int $0x80
- # exit 0
- b8 01 00 00 00 # mov $0x1,%eax
- bb 00 00 00 00 # mov $0,%ebx
- cd 80 # int $0x80
- f4 # hlt
- 00 00 00 00 00 00 00 00 00 00 # align to @240
- 00 00 00
- # @240
- :ELF_data
- :hello
- 48 65 6c 6c 6f 2c 20 47 # Hello, G
- 4e 55 20 4d 65 73 21 0a # NU Mes!\n
- :bye
- 00
|