void __fastcall TFormPc::shejiaotiqianl()
{
unsigned char EEl,EEh,BBl,BBh,BBf;
// asm{
// mov dx,IO_ADDR
// add dx,0
// in al,dx
// mov BBl,al
// inc dx
// in al,dx
// mov bl,al
// and bl,01h
// mov BBh,bl
// mov bl,al
// and bl,02h
// mov BBf,bl
// inc dx
// in al,dx
// mov EEl,al
// inc dx
// in al,dx
// and al,01h
// mov EEh,al
// } EE=(EEh*256+EEl)/10.0;
if(BBf==0x02)
{
BBl=~BBl;
BB=-BBl/10.0;
}
else
{
BB=(BBh*256+BBl)/10.0;
}
}
{
unsigned char EEl,EEh,BBl,BBh,BBf;
// asm{
// mov dx,IO_ADDR
// add dx,0
// in al,dx
// mov BBl,al
// inc dx
// in al,dx
// mov bl,al
// and bl,01h
// mov BBh,bl
// mov bl,al
// and bl,02h
// mov BBf,bl
// inc dx
// in al,dx
// mov EEl,al
// inc dx
// in al,dx
// and al,01h
// mov EEh,al
// } EE=(EEh*256+EEl)/10.0;
if(BBf==0x02)
{
BBl=~BBl;
BB=-BBl/10.0;
}
else
{
BB=(BBh*256+BBl)/10.0;
}
}
procedure TFormPc.shejiaotiqianl;
var
EEl,EEh,BBl,BBh,BBf:byte;
begin
// asm
// mov dx,IO_ADDR
// add dx,0
// in al,dx
// mov BBl,al
// inc dx
// in al,dx
// mov bl,al
// and bl,01h
// mov BBh,bl
// mov bl,al
// and bl,02h
// mov BBf,bl
// inc dx
// in al,dx
// mov EEl,al
// inc dx
// in al,dx
// and al,01h
// mov EEh,al
// end;
EE:=(EEh*256+EEl)/10.0;
if BBf=$02 then
begin
BBl:= not BBl;
BB:=-BBl/10.0; end else
begin
BB:=(BBh*256+BBl)/10.0;
end;
end;
http://community.csdn.net/Expert/topic/4742/4742428.xml?temp=.7471125