在VC6、Windows98下可以通过,但在NT和XP为什么会出错?
BYTE Inport(WORD p1)
{
BYTE temp;
_asm
{
mov dx,p1
in  al,dx//**??在此出错
mov temp,al
}
return temp;
}void Outport(WORD p1,BYTE num)
{
_asm
{
mov dx,p1
mov al,num
out dx,al
}
}void CKingtecDlg::OnOK() 
{
//设定端口及波特率
ierbak=Inport(sf9);
Outport(sf9,0);
lcrbak=Inport(sfb);
Outport(sfb,0x83);
dllbak=Inport(sf8);
dlmbak=Inport(sf9);
Outport(sf8,0x02);
Outport(sf9,0x00);
Outport(sfb,0x03);
}