summaryrefslogtreecommitdiffhomepage
path: root/example
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-12-19 10:09:39 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2025-12-19 10:09:39 +0100
commit87a30d95dddc0cfcdf77e9d7406c1eea717865ff (patch)
treeca52b9e425046e137aea267515b32149d22c4545 /example
parent228479a454d325340326f4fd23e13d780884fd2a (diff)
chore: new LibC++ version, updated file structure.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'example')
-rw-r--r--example/.keep0
-rw-r--r--example/example_01_asm/exit_nekernel_abi.asm10
-rw-r--r--example/example_01_asm/return_5_rax.asm4
-rw-r--r--example/example_02_cxx/example.cc16
-rw-r--r--example/example_03_compilerkit/example.cc0
-rw-r--r--example/example_04_debuggerkit/example.cc0
6 files changed, 30 insertions, 0 deletions
diff --git a/example/.keep b/example/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/example/.keep
diff --git a/example/example_01_asm/exit_nekernel_abi.asm b/example/example_01_asm/exit_nekernel_abi.asm
new file mode 100644
index 0000000..6f69a00
--- /dev/null
+++ b/example/example_01_asm/exit_nekernel_abi.asm
@@ -0,0 +1,10 @@
+%bits 64
+%org 0x40000000
+
+public_segment .code64 __ImageStart
+ xor rax, rax
+ mov rcx, 1 ;; syscall id
+ mov rdx, 0 ;; arg1
+ syscall ;; exit
+ mov rax, rbx
+ ret \ No newline at end of file
diff --git a/example/example_01_asm/return_5_rax.asm b/example/example_01_asm/return_5_rax.asm
new file mode 100644
index 0000000..82c0320
--- /dev/null
+++ b/example/example_01_asm/return_5_rax.asm
@@ -0,0 +1,4 @@
+public_segment .code64 __ImageStart
+ ;; rax is the return value register.
+ mov rax, 5
+ ret \ No newline at end of file
diff --git a/example/example_02_cxx/example.cc b/example/example_02_cxx/example.cc
new file mode 100644
index 0000000..e74acbb
--- /dev/null
+++ b/example/example_02_cxx/example.cc
@@ -0,0 +1,16 @@
+#define main __ImageStart
+#warning test macro warning #1
+
+int bar() {
+ auto yyy = 17800;
+ return yyy;
+}
+
+int foo() {
+ int arg1 = bar();
+ return arg1;
+}
+
+int main() {
+ return foo();
+}
diff --git a/example/example_03_compilerkit/example.cc b/example/example_03_compilerkit/example.cc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/example/example_03_compilerkit/example.cc
diff --git a/example/example_04_debuggerkit/example.cc b/example/example_04_debuggerkit/example.cc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/example/example_04_debuggerkit/example.cc