From dc40fa12319a854650d8e4ad424b338d57c29f59 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Mon, 19 Jan 2026 12:45:24 +0100 Subject: chore: Add MASM example for Nectar. Signed-off-by: Amlal El Mahrouss --- doc/specs/MASM_SPEC.md | 1 + doc/specs/NEKERNEL_ABI.md | 2 +- example/example_05_masm_osx/example.asm | 27 +++++++++++++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 doc/specs/MASM_SPEC.md create mode 100644 example/example_05_masm_osx/example.asm diff --git a/doc/specs/MASM_SPEC.md b/doc/specs/MASM_SPEC.md new file mode 100644 index 0000000..8b19b8e --- /dev/null +++ b/doc/specs/MASM_SPEC.md @@ -0,0 +1 @@ +# Specification of NeKernel Assembler diff --git a/doc/specs/NEKERNEL_ABI.md b/doc/specs/NEKERNEL_ABI.md index 385c330..e8141ac 100644 --- a/doc/specs/NEKERNEL_ABI.md +++ b/doc/specs/NEKERNEL_ABI.md @@ -1,4 +1,4 @@ -# Specification of NeKernel's ABI +# Specification of NeKernel ABI The PEF ABI has multiple versions depending on the ISA. diff --git a/example/example_05_masm_osx/example.asm b/example/example_05_masm_osx/example.asm new file mode 100644 index 0000000..b2b9cdb --- /dev/null +++ b/example/example_05_masm_osx/example.asm @@ -0,0 +1,27 @@ +%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 -- cgit v1.2.3