Thanks for your interest guys.
This is my simple code:
mov eax,0x80001800 ;get the vendor and device id for device number 3 in pci bus number 0 which is my network interface.
This code doesn't work and gives me the same exception at
instruction but if I replace it with
it works and allows me to read the vendor id only in the lower two bytes of eax but I cannot get the device id.
I don't want to use fn 62 to access PCI configspace because I want to move this code to my OS so I want to accomplish this only using assembly instruction that are provided in every assembler, I am using kolbri because it is simple and allows me to debug the assembly code very easily.