29 lines
		
	
	
		
			596 B
		
	
	
	
		
			ArmAsm
		
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			596 B
		
	
	
	
		
			ArmAsm
		
	
	
.intel_syntax noprefix
 | 
						|
.text
 | 
						|
    .globl _start, main__syscall5
 | 
						|
 | 
						|
    _start:
 | 
						|
        xor rbp,rbp
 | 
						|
        pop rdi
 | 
						|
        mov rsi,rsp
 | 
						|
        and rsp,-16
 | 
						|
        call main__main
 | 
						|
 | 
						|
        mov rdi,rax /* syscall param 1 = rax (ret value of main) */
 | 
						|
        mov rax,60 /* SYS_exit */
 | 
						|
        syscall
 | 
						|
 | 
						|
        ret /* should never be reached, but if the OS somehow fails
 | 
						|
               to kill us, it will cause a segmentation fault */
 | 
						|
 | 
						|
    main__syscall5:
 | 
						|
        mov rax,rdi
 | 
						|
        mov rdi,rsi
 | 
						|
        mov rsi,rdx
 | 
						|
        mov rdx,rcx
 | 
						|
        mov r10,r8
 | 
						|
        mov r8,r9
 | 
						|
        syscall
 | 
						|
        ret
 | 
						|
 |