Erro no codigo em Assembler no delphi

Delphi

27/06/2005

Alquem pode me dizer, que tipo de erro é este no codigo abaixo? E
Quando trabalho com Assembler o que devo declarar ou não em:
interface
uses{ uses clause }
SysUtils, Windows, Messages, Classes, Graphics, Controls,
Forms, Dialogs;

procedure TFormLed.Timer2Timer(Sender: TObject);
var
X, A: String;
D, G: Word;
Y, I, E: Integer;
begin
//codigo em Assembler
Asm
Mov dx,379h
In al, dx
Mov D, Al //O erro é nesta linha
// [Error] Led.pas(323): Operand size mismatch
end;
Str(D, X);
EditBinarioBase1.text:= X;
end;

Abraços
juarezber@terra.com.br


Juarezber

Juarezber

Curtidas 0

Respostas

Bolus

Bolus

27/06/2005

caro colega,
Pelo que notei a sua Variavel D é Word (2 bytes) e o registrador AL é somente 1 Byte, por isso esta dizendo que os Tamanhos não são Iguais.....

Espero ter ajudado.....

Já faz tempo que não Mexia em Assembler.....

Posso perguntar por que esta utilizando esse instrução em Assembler???


GOSTEI 0
Beppe

Beppe

27/06/2005

Ou declare D como Byte ou use ´movzx D, al´.

Mas saiba que este seu código aí não rodará no Windows NT, 2000, XP. Tvz nem no 98, Me.


GOSTEI 0
Juarezber

Juarezber

27/06/2005

Caro Beppe, Acho que estais certo, quando eu usava este
codigo meu windows era o 95.
Desafio: Como faço se agora é o winXP?

Grato
juarezber@terra.com.br


GOSTEI 0
Beppe

Beppe

27/06/2005

De cabeça eu naum sei o que a porta 379h faz...se o Windows naum disponibilizar alguma API pra ela, só com drivers.


GOSTEI 0
Juarezber

Juarezber

27/06/2005

A porta 379h, retorna quando setado um numero em decimal,
na base 1 da porta paralela.

abraços
juarezber@terra.com.br


GOSTEI 0
Beppe

Beppe

27/06/2005

Se quiser pode usar a API do Windows para comunicação serial, ou pode usar um componente para isso, há vários para o Delphi.


GOSTEI 0
Massuda

Massuda

27/06/2005

Para manipular a porta paralela no Win NT/2K/XP você precisa usar um driver externo como o [url=http://www.logix4u.net/]Inpout32[/url] (este é muito usado com C/C++/C# e VB); lembro de ter lido aqui no fórum sobre outro driver desse tipo pronto para usar com Delphi, mas não me recordo o nome.


GOSTEI 0
Juarezber

Juarezber

27/06/2005

Alguem tem o comonente IOport, que funcione no delphi 6 e
WinXP?

Grato
Juarez


GOSTEI 0
POSTAR