From d0586af01e798cb686adc058730bc8e70263f756 Mon Sep 17 00:00:00 2001 From: Thomas Voss <57815710+Mango0x45@users.noreply.github.com> Date: Fri, 6 Nov 2020 22:09:48 +0100 Subject: [PATCH] Format Assembler (NASM Linux64) (#863) --- a/assembler_nasm_linux64.asm | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/a/assembler_nasm_linux64.asm b/a/assembler_nasm_linux64.asm index 8d3bf4c..f7d522c 100644 --- a/a/assembler_nasm_linux64.asm +++ b/a/assembler_nasm_linux64.asm @@ -1,20 +1,17 @@ +section .rodata + msg db "Hello World", 0xA ; String to print + len equ $- msg ; Length of string + section .text - global _start ;must be declared for linker (ld) + global _start ; Specify entry point to linker -_start: ;tell linker entry point +_start: + mov eax, 1 ; System call ID (sys_write) + mov edi, eax ; File descriptor (stdout) + mov esi, msg ; Text to print + mov edx, len ; Length of text to print + syscall ; Call kernel - xor eax,eax ;eax:=0 - lea edx,[rax+len] ;message length - mov al,1 ;system call number (sys_write) - mov esi,msg ;message to write - mov edi,eax ;file descriptor (stdout) - syscall ;call kernel - - xor edi, edi ;return 0 (EXIT_SUCCESS) - lea eax,[rdi+60] ;system call number (sys_exit) - syscall ;call kernel - -section .rodata - -msg db 'Hello, world!',0xa ;our string -len equ $ - msg ;length of our string + mov eax, 60 ; System call ID (sys_exit) + xor edi, edi ; Error code (EXIT_SUCCESS) + syscall ; Call kernel