I want to test FPU exceptions. The 10h exception works for me. How to make interrupt 75h generated instead of exception 10h?
;
cli
in al,21h
mov ah,al
in al,$A1
mov [PIC],ax
mov al,01111001b
out 21h,al
mov al,11001111b
out $A1,al
mov al,20h
out 20h,al
out $A0,al
sti
;
mov eax,cr0
or al,CR0_MP
and eax,not (CR0_NE+CR0_EM)
mov cr0,eax
;
mov eax,cr4
and eax,not (CR4_OSFXSR+CR4_OSXMMEXCPT)
mov cr4,eax
;
mov edx,New
mov ecx,cs
mov ax,0205h
mov bl,75h
int 31h
;
xor eax,eax
out 0xF0,al
;
mov edx,esp
push dword $1332
fldcw [esp]
push dword 12345678
push dword 12345678
fild qword [esp]
fistp dword [esp]
fwait
mov esp,edx
;
cli
in al,21h
in al,$A1
mov ax,word 0
label PIC word at $-2
out 21h,al
out $A1,al
mov al,20h
out 20h,al
out $A0,al
sti
;
mov ah,4Ch
int 21h
;
New: push eax
xor eax,eax
out 0xF0,al
mov al,20h
out 0xA0,al
out 0x20,al
mov al,'#'
int 29h
pop eax
iretd