Shame on me, but I was confused working with nIEN bit of device control register. The following simple piece of code works perfect on VMWare, but doesn't disable interrupts on a real hardware.
Code: Select all
mov dword [0x76 * 4], .hndlr
mov al, 0x0
mov dx, 0x1F6
out dx, al
mov dx, 0x3F6
mov al, 0x2
out dx, al
mov dx, 0x1F7
mov al, 0xEC
out dx, al
jmp $
.hndlr:
mov ax, 0xB800
mov es, ax
mov word [es:0x0], 0x730
iret
What is the problem?..
TIA,
Mikae.