From efdadeb09f59acdb159e4623d2c27c789bda90ec Mon Sep 17 00:00:00 2001 From: Shark64 Date: Tue, 22 Dec 2015 02:15:15 +0100 Subject: [PATCH 1/2] optimized for smaller code-size --- a/assembler_nasm_linux.asm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/a/assembler_nasm_linux.asm b/a/assembler_nasm_linux.asm index 213bb983..1d7ff1ad 100644 --- a/a/assembler_nasm_linux.asm +++ b/a/assembler_nasm_linux.asm @@ -3,16 +3,18 @@ section .text _start: ;tell linker entry point - mov edx,len ;message length - mov ecx,msg ;message to write - mov ebx,1 ;file descriptor (stdout) - mov eax,4 ;system call number (sys_write) + xor ebx,ebx ;ebx=0 + mov ecx,msg ;address of message to write + lea edx,[ebx+len] ;message length + lea eax,[ebx+4] ;system call number (sys_write) + inc ebx ;file descriptor (stdout) int 0x80 ;call kernel - mov eax,1 ;system call number (sys_exit) + xor eax, eax + inc eax ;system call number (sys_exit) int 0x80 ;call kernel -section .data +section .rodata msg db 'Hello, world!',0xa ;our string len equ $ - msg ;length of our string From f571370417557452cf34dd5f78f2ef720b457658 Mon Sep 17 00:00:00 2001 From: Shark64 Date: Tue, 22 Dec 2015 02:16:23 +0100 Subject: [PATCH 2/2] align comments --- a/assembler_nasm_linux.asm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/a/assembler_nasm_linux.asm b/a/assembler_nasm_linux.asm index 1d7ff1ad..c038b4f9 100644 --- a/a/assembler_nasm_linux.asm +++ b/a/assembler_nasm_linux.asm @@ -8,11 +8,11 @@ _start: ;tell linker entry point lea edx,[ebx+len] ;message length lea eax,[ebx+4] ;system call number (sys_write) inc ebx ;file descriptor (stdout) - int 0x80 ;call kernel + int 0x80 ;call kernel - xor eax, eax - inc eax ;system call number (sys_exit) - int 0x80 ;call kernel + xor eax, eax ;set eax=0 + inc eax ;system call number (sys_exit) + int 0x80 ;call kernel section .rodata