32 lines
		
	
	
	
		
			362 B
		
	
	
	
		
			NASM
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
	
		
			362 B
		
	
	
	
		
			NASM
		
	
	
	
	
	
bits 64
 | 
						|
 | 
						|
section .text
 | 
						|
 | 
						|
global __euler_do_syscall
 | 
						|
__euler_do_syscall:
 | 
						|
 | 
						|
  push rdi
 | 
						|
  push rsi
 | 
						|
  push rdx
 | 
						|
  push rcx
 | 
						|
 | 
						|
  mov rax, qword [rdi]
 | 
						|
  mov rdi, qword [rsi]
 | 
						|
  mov rsi, qword [rdx]
 | 
						|
  mov rdx, qword [rcx]
 | 
						|
 | 
						|
  syscall
 | 
						|
 | 
						|
  pop rcx
 | 
						|
  mov qword [rcx], rdx
 | 
						|
 | 
						|
  pop rdx
 | 
						|
  mov qword [rdx], rsi
 | 
						|
 | 
						|
  pop rsi
 | 
						|
  mov qword [rsi], rdi
 | 
						|
 | 
						|
  pop rdi
 | 
						|
  mov qword [rdi], rax
 | 
						|
 | 
						|
  ret
 |