Clean up Assembly files (#1003)
This commit is contained in:
@@ -1,31 +1,26 @@
|
||||
section .text
|
||||
global _start ;must be declared for linker (ld)
|
||||
global _start
|
||||
|
||||
_syscall:
|
||||
int 0x80 ;system call
|
||||
int 0x80
|
||||
ret
|
||||
|
||||
_start: ;tell linker entry point
|
||||
_start:
|
||||
|
||||
push dword len ;message length
|
||||
push dword msg ;message to write
|
||||
push dword 1 ;file descriptor (stdout)
|
||||
mov eax,0x4 ;system call number (sys_write)
|
||||
call _syscall ;call kernel
|
||||
push dword len
|
||||
push dword msg
|
||||
push dword 1
|
||||
mov eax,0x4
|
||||
call _syscall
|
||||
|
||||
;the alternate way to call kernel:
|
||||
;push eax
|
||||
;call 7:0
|
||||
|
||||
add esp,12 ;clean stack (3 arguments * 4)
|
||||
add esp,12
|
||||
|
||||
push dword 0 ;exit code
|
||||
mov eax,0x1 ;system call number (sys_exit)
|
||||
call _syscall ;call kernel
|
||||
push dword 0
|
||||
mov eax,0x1
|
||||
call _syscall
|
||||
|
||||
;we do not return from sys_exit,
|
||||
;there's no need to clean stack
|
||||
section .data
|
||||
|
||||
msg db "Hello World",0xa ;our string
|
||||
len equ $ - msg ;length of our string
|
||||
msg db "Hello World",0xa
|
||||
len equ $ - msg
|
||||
Reference in New Issue
Block a user