B
basket
Unregistered / Unconfirmed
GUEST, unregistred user!
我删除了原问题,倾囊再问
我在各处看见两种写I/O口的程序
1)procedure outportb(Address:Word;
Data:Byte);assembler;asm
MOV DX,Address MOV AL,Data
OUT DX,ALend;
function inportb(Address:Word):Byte;assembler;asm
MOV DX, Address IN AL,DXend;
2)//读取指定端口的数据function inp(port : integer) : integer;
begin
asm
mov edx,port xor eax,eax in al,dx mov result, eax
end;
end;
//往指定端口上发送数据procedure outp(port,value : integer);
begin
asm
mov edx,port mov eax,value out dx,ax end;
end;
它们是否都能用?如果是,为什么1)中的inportb没有类似Result:=...的语句?
我在各处看见两种写I/O口的程序
1)procedure outportb(Address:Word;
Data:Byte);assembler;asm
MOV DX,Address MOV AL,Data
OUT DX,ALend;
function inportb(Address:Word):Byte;assembler;asm
MOV DX, Address IN AL,DXend;
2)//读取指定端口的数据function inp(port : integer) : integer;
begin
asm
mov edx,port xor eax,eax in al,dx mov result, eax
end;
end;
//往指定端口上发送数据procedure outp(port,value : integer);
begin
asm
mov edx,port mov eax,value out dx,ax end;
end;
它们是否都能用?如果是,为什么1)中的inportb没有类似Result:=...的语句?