H
huait
Unregistered / Unconfirmed
GUEST, unregistred user!
function TForm1.GetData():integer;
Asm
PUSH DX
PUSH AX
PUSH CX
PUSH BX
MOV DX,$03FB
MOV AL,80
OUT DX,AL
MOV DX,$03F8
MOV AL,60
OUT DX,AL
MOV DX,$03F9
MOV AL,00
OUT DX,AL
MOV DX,$03FB
MOV AL,0B
OUT DX,AL
MOV DX,$03FC
MOV AL,03
OUT DX,AL
MOV DX,$03F9
MOV AL,00
OUT DX,AL
MOV CX,0007
ADD BX,+06
MOV DX,$03F8
IN AL,DX
@AA:MOV DX,$03FD
IN AL,DX
TEST AL,$1E
JNZ @AA
TEST AL,01
JNZ @BB
JMP @AA
@BB:MOV DX,$03F8
IN AL,DX
AND AL,$7F
CMP AL,3D
JNZ @AA
@CC:MOV DX,$03FD
IN AL,DX
TEST AL,$1E
JNZ @CC
TEST AL,01
JNZ @DD
JMP @CC
@DD:MOV DX,$03F8
IN AL,DX
AND AL,$7F
MOV [BX],AL
MOV EAX,[BX]
MOV @Result,EAX
DEC BX
LOOP @CC
POP BX
POP CX
POP AX
POP DX
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage(inttostr(getdata()));
end;
此程序为获取电子称数据。ASM....END 部分原在foxpro25下的获取电子称数据程序。移到
delphi中,运行时出现privileged instruction错误,也不能得到数据。请大哥们帮忙。。。。
Asm
PUSH DX
PUSH AX
PUSH CX
PUSH BX
MOV DX,$03FB
MOV AL,80
OUT DX,AL
MOV DX,$03F8
MOV AL,60
OUT DX,AL
MOV DX,$03F9
MOV AL,00
OUT DX,AL
MOV DX,$03FB
MOV AL,0B
OUT DX,AL
MOV DX,$03FC
MOV AL,03
OUT DX,AL
MOV DX,$03F9
MOV AL,00
OUT DX,AL
MOV CX,0007
ADD BX,+06
MOV DX,$03F8
IN AL,DX
@AA:MOV DX,$03FD
IN AL,DX
TEST AL,$1E
JNZ @AA
TEST AL,01
JNZ @BB
JMP @AA
@BB:MOV DX,$03F8
IN AL,DX
AND AL,$7F
CMP AL,3D
JNZ @AA
@CC:MOV DX,$03FD
IN AL,DX
TEST AL,$1E
JNZ @CC
TEST AL,01
JNZ @DD
JMP @CC
@DD:MOV DX,$03F8
IN AL,DX
AND AL,$7F
MOV [BX],AL
MOV EAX,[BX]
MOV @Result,EAX
DEC BX
LOOP @CC
POP BX
POP CX
POP AX
POP DX
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage(inttostr(getdata()));
end;
此程序为获取电子称数据。ASM....END 部分原在foxpro25下的获取电子称数据程序。移到
delphi中,运行时出现privileged instruction错误,也不能得到数据。请大哥们帮忙。。。。