From 7f17278493da389ea25a627ea993a35f122671ef Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Fri, 23 Jan 2026 19:46:09 +0100 Subject: chore: GenericsLibrary: Library tweaks and additions, more examples for Nectar and Assembly. Signed-off-by: Amlal El Mahrouss --- example/example_03_masm_sysv/example.asm | 27 ----------------------- example/example_03_masm_sysv_linux/example.asm | 30 ++++++++++++++++++++++++++ example/example_03_masm_sysv_osx/example.asm | 30 ++++++++++++++++++++++++++ 3 files changed, 60 insertions(+), 27 deletions(-) delete mode 100644 example/example_03_masm_sysv/example.asm create mode 100644 example/example_03_masm_sysv_linux/example.asm create mode 100644 example/example_03_masm_sysv_osx/example.asm (limited to 'example') diff --git a/example/example_03_masm_sysv/example.asm b/example/example_03_masm_sysv/example.asm deleted file mode 100644 index b2b9cdb..0000000 --- a/example/example_03_masm_sysv/example.asm +++ /dev/null @@ -1,27 +0,0 @@ -%bits 64 -public_segment .code64 main - -mov [rsp+0], 0x48 -mov [rsp+1], 0x65 -mov [rsp+2], 0x6C -mov [rsp+3], 0x6C -mov [rsp+4], 0x6F -mov [rsp+5], 0x20 -mov [rsp+6], 0x57 -mov [rsp+7], 0x6F -mov [rsp+8], 0x72 -mov [rsp+9], 0x6C -mov [rsp+10], 0x64 -mov [rsp+11], 0x0A - -mov rax, 0x2000004 -mov rdi, 0x01 -lea rsi, [rsp] -mov rdx, 0x0C -syscall - -mov rax, 0x2000001 -xor rdi, rdi -syscall - -ret \ No newline at end of file diff --git a/example/example_03_masm_sysv_linux/example.asm b/example/example_03_masm_sysv_linux/example.asm new file mode 100644 index 0000000..c001e6c --- /dev/null +++ b/example/example_03_masm_sysv_linux/example.asm @@ -0,0 +1,30 @@ +%bits 64 +public_segment .code64 main + +; This example shows how to write "Hello World" to stdout using +; Linux syscall interface in x86-64 assembly (NeKernel syntax). + +mov [rsp+0], 0x48 +mov [rsp+1], 0x65 +mov [rsp+2], 0x6C +mov [rsp+3], 0x6C +mov [rsp+4], 0x6F +mov [rsp+5], 0x20 +mov [rsp+6], 0x57 +mov [rsp+7], 0x6F +mov [rsp+8], 0x72 +mov [rsp+9], 0x6C +mov [rsp+10], 0x64 +mov [rsp+11], 0x0A + +mov rax, 1 +mov rdi, 0x01 +lea rsi, [rsp] +mov rdx, 0x0C +syscall + +mov rax, 60 +xor rdi, rdi +syscall + +ret \ No newline at end of file diff --git a/example/example_03_masm_sysv_osx/example.asm b/example/example_03_masm_sysv_osx/example.asm new file mode 100644 index 0000000..311536d --- /dev/null +++ b/example/example_03_masm_sysv_osx/example.asm @@ -0,0 +1,30 @@ +%bits 64 +public_segment .code64 main + +; This example shows how to write "Hello World" to stdout using +; OS X syscall interface in x86-64 assembly (NeKernel syntax). + +mov [rsp+0], 0x48 +mov [rsp+1], 0x65 +mov [rsp+2], 0x6C +mov [rsp+3], 0x6C +mov [rsp+4], 0x6F +mov [rsp+5], 0x20 +mov [rsp+6], 0x57 +mov [rsp+7], 0x6F +mov [rsp+8], 0x72 +mov [rsp+9], 0x6C +mov [rsp+10], 0x64 +mov [rsp+11], 0x0A + +mov rax, 0x2000004 +mov rdi, 0x01 +lea rsi, [rsp] +mov rdx, 0x0C +syscall + +mov rax, 0x2000001 +xor rdi, rdi +syscall + +ret \ No newline at end of file -- cgit v1.2.3