;=----------------------------------------------------------------------------=; ; OS on Kaleid ; ; ; ; Desc: Interrupt Descriptor Table related macros ; ; ; ; ; ; Copyright © 2018-2021 The OS/K Team ; ; ; ; This file is part of OS/K. ; ; ; ; OS/K is free software: you can redistribute it and/or modify ; ; it under the terms of the GNU General Public License as published by ; ; the Free Software Foundation, either version 3 of the License, or ; ; (at your option) any later version. ; ; ; ; OS/K is distributed in the hope that it will be useful, ; ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ; ; GNU General Public License for more details. ; ; ; ; You should have received a copy of the GNU General Public License ; ; along with OS/K. If not, see . ; ;=----------------------------------------------------------------------------=; [BITS 64] %macro pushAll 0 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 %endmacro %macro popAll 0 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 %endmacro %macro IsrWithoutErrCode 1 global isr%1 isr%1: cli push 0 push %1 jmp isrPreHandler %endmacro %macro IsrWithErrCode 1 global isr%1 isr%1: cli push %1 jmp isrPreHandler %endmacro