extern timer_tick global scheduler_timer_asm scheduler_timer_asm: cli push qword 0 push qword 32 push r15 push r14 push r13 push r12 push r11 push r10 push r9 push r8 push rbp push rdi push rsi push rdx push rcx push rbx push rax mov rax,cr3 push rax mov rdi,rsp xor rbp,rbp call timer_tick pop rax mov cr3,rax pop rax pop rbx pop rcx pop rdx pop rsi pop rdi pop rbp pop r8 pop r9 pop r10 pop r11 pop r12 pop r13 pop r14 pop r15 add rsp,16 iretq