; The OS/K Team licenses this file to you under the MIT license. ; See the LICENSE file in the project root for more information. TrapHandlers.prolog: mov rbp, rsp sub rsp, rsp, 24 mov q[rbp-8], r11 mov q[rbp-16], r12 mov q[rbp-24], r13 mov rdx, cr2 ; nx0 = caller's cr2 mov ax0, r12 mov ax1, $cr2 iocall CPUDEV, RFS.LoadReg.slot mov nx0, cr2 mov cr2, rdx mov rdx, zero jmp rcx TrapHandlers.epilog: mov r13, q[rbp-24] mov r12, q[rbp-16] mov r11, q[rbp-8] ; TRAP return values: RAX-RDX mov ax2, rax call RFS.StoreReg, r12, $rax mov ax2, rdx call RFS.StoreReg, r12, $rdx call IDT.DoneHandling, r11 iret