rf-web/vendor/bundle/gems/rouge-3.12.0/lib/rouge/demos/nasm

27 lines
566 B
Plaintext
Raw Normal View History

2019-10-21 08:18:17 +00:00
%macro IRQ 2
global irq%1
irq%1:
cli
push byte 0 ; push a dummy error code
push byte %2 ; push the IRQ number
jmp irq_common_stub
%endmacro
extern irq_handler
irq_common_stub:
pusha ; Pushes edi,esi,ebp,esp,ebx,edx,ecx,eax
mov ax, ds ; Lower 16-bits of eax = ds.
push eax ; save the data segment descriptor
mov ax, 0x10 ; load the kernel data segment descriptor
mov edx, eax
call irq_handler
%assign i 0
%rep 8
ISR_NOERRCODE i
%assign i i+1
%endrep
ISR_NOERRCODE 9