summaryrefslogtreecommitdiffhomepage
path: root/example
diff options
context:
space:
mode:
Diffstat (limited to 'example')
-rw-r--r--example/example_03_masm_sysv_linux/example.asm30
-rw-r--r--example/example_03_masm_sysv_osx/example.asm (renamed from example/example_03_masm_sysv/example.asm)3
2 files changed, 33 insertions, 0 deletions
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/example.asm b/example/example_03_masm_sysv_osx/example.asm
index b2b9cdb..311536d 100644
--- a/example/example_03_masm_sysv/example.asm
+++ b/example/example_03_masm_sysv_osx/example.asm
@@ -1,6 +1,9 @@
%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