From b4b20d6ac4915bede511037e8627b35237df647a Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 6 Dec 2019 19:53:50 +0100 Subject: [PATCH] build: Add mescc scaffold for regular build. * lib/x86-mes-mescc/exit-42.S: New file. * lib/x86-mes-mescc/hello-mes.S: New file. * lib/x86_64-mes-mescc/exit-42.S: New file. * lib/x86_64-mes-mescc/hello-mes.S: New file. --- lib/x86-mes-mescc/exit-42.S | 28 ++++++++++++++++++++++ lib/x86-mes-mescc/hello-mes.S | 40 ++++++++++++++++++++++++++++++++ lib/x86_64-mes-mescc/exit-42.S | 28 ++++++++++++++++++++++ lib/x86_64-mes-mescc/hello-mes.S | 40 ++++++++++++++++++++++++++++++++ 4 files changed, 136 insertions(+) create mode 100644 lib/x86-mes-mescc/exit-42.S create mode 100644 lib/x86-mes-mescc/hello-mes.S create mode 100644 lib/x86_64-mes-mescc/exit-42.S create mode 100644 lib/x86_64-mes-mescc/hello-mes.S diff --git a/lib/x86-mes-mescc/exit-42.S b/lib/x86-mes-mescc/exit-42.S new file mode 100644 index 00000000..9a3a8081 --- /dev/null +++ b/lib/x86-mes-mescc/exit-42.S @@ -0,0 +1,28 @@ +### GNU Mes --- Maxwell Equations of Software +### Copyright © 2019 Jan (janneke) Nieuwenhuizen +### +### 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 . + +DEFINE sys_exit 01 + +:main + mov____$i8,%eax !42 + mov____%eax,%ebx + mov____$i8,%eax sys_exit + int____$0x80 + +:ELF_data +:HEX2_data diff --git a/lib/x86-mes-mescc/hello-mes.S b/lib/x86-mes-mescc/hello-mes.S new file mode 100644 index 00000000..3b26c779 --- /dev/null +++ b/lib/x86-mes-mescc/hello-mes.S @@ -0,0 +1,40 @@ +### GNU Mes --- Maxwell Equations of Software +### Copyright © 2019 Jan (janneke) Nieuwenhuizen +### +### 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 . + +DEFINE sys_exit 01 +DEFINE sys_write 04 + +:main + mov____$i8,%eax !end_hello_message>hello_message + mov____%eax,%ecx + mov____$i8,%eax !0 + mov____%eax,%ebx + mov____$i8,%eax sys_write + int____$0x80 + + mov____$i8,%eax !0 + mov____%eax,%ebx + mov____$i8,%eax sys_exit + int____$0x80 + +:ELF_data +:hello_message +"Hello, GNU Mes! +" +:end_hello_message +:HEX2_data diff --git a/lib/x86_64-mes-mescc/exit-42.S b/lib/x86_64-mes-mescc/exit-42.S new file mode 100644 index 00000000..8e8aa06c --- /dev/null +++ b/lib/x86_64-mes-mescc/exit-42.S @@ -0,0 +1,28 @@ +### GNU Mes --- Maxwell Equations of Software +### Copyright © 2019 Jan (janneke) Nieuwenhuizen +### +### 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 . + +DEFINE sys_exit 0x3c + +:main + mov____$i8,%eax !42 + mov____%rax,%rbx + mov____$i8,%eax sys_exit + syscall + +:ELF_data +:HEX2_data diff --git a/lib/x86_64-mes-mescc/hello-mes.S b/lib/x86_64-mes-mescc/hello-mes.S new file mode 100644 index 00000000..0dbe5a74 --- /dev/null +++ b/lib/x86_64-mes-mescc/hello-mes.S @@ -0,0 +1,40 @@ +### GNU Mes --- Maxwell Equations of Software +### Copyright © 2019 Jan (janneke) Nieuwenhuizen +### +### 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 . + +DEFINE sys_exit 0x3c +DEFINE sys_write 0x01 + +:main + mov____$i8,%eax !end_hello_message>hello_message + mov____%rax,%rcx + mov____$i8,%eax !0 + mov____%rax,%rbx + mov____$i8,%eax sys_write + syscall + + mov____$i8,%eax !0 + mov____%rax,%rbx + mov____$i8,%eax sys_exit + syscall + +:ELF_data +:hello_message +"Hello, GNU Mes! +" +:end_hello_message +:HEX2_data