Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Codigo ASM en XP (https://www.clubdelphi.com/foros/showthread.php?t=52688)

Fralva 28-01-2008 19:08:23

Codigo ASM en XP
 
Hola Foro ! Me consulta es la siguiente: Tengo un soft funcionando el Win98 que maneja entre otras cosas, informacion en los puertos paralelos, mi manera de comunicarme es por medio de Codigo de Assembler envevido, Ej.

Function ConsultarBit(Direccion: Word; Bit: Byte): Boolean;
Begin
B := 1;
B := B SHL Bit;
ASM
mov dx,Direccion
In al,dx
mov A, al
End;
ConsultarBit := (B AND A) > 0;
End;

el problema es que ahora tengo que emigrar a WinXP y ni si quiera me compila, tengo idea q es por el manejo de los registros AL, el mensaje de error es : "Operand size mismatcht".

Como puedo mandar inf al LPT sin ASM ? Existe algun componente ?

Muchas gracias y confio en sus Conocimientos y Experiencia !!

Exitos Frank

egostar 28-01-2008 19:13:26

Cita:

Empezado por Fralva (Mensaje 261611)
Hola Foro ! Me consulta es la siguiente: Tengo un soft funcionando el Win98 que maneja entre otras cosas, informacion en los puertos paralelos, mi manera de comunicarme es por medio de Codigo de Assembler envevido, Ej.

Function ConsultarBit(Direccion: Word; Bit: Byte): Boolean;
Begin
B := 1;
B := B SHL Bit;
ASM
mov dx,Direccion
In al,dx
mov A, al
End;
ConsultarBit := (B AND A) > 0;
End;

el problema es que ahora tengo que emigrar a WinXP y ni si quiera me compila, tengo idea q es por el manejo de los registros AL, el mensaje de error es : "Operand size mismatcht".

Como puedo mandar inf al LPT sin ASM ? Existe algun componente ?

Muchas gracias y confio en sus Conocimientos y Experiencia !!

Exitos Frank

Bueno, aqui en el foro hay compañeros que son toda una autoridad hablando de ASM, lo que yo creo es que la incompatibilidad viene de los registros que usas, 16 bits y 32 bits.

Pero como te digo, esperemos a los que saben de esto. ;)

Salud OS

Fralva 28-01-2008 20:35:26

Ok. Y no tienes idea como saber cambiar de 16bits a 32bits ? o algun link para leer de manejos de puertos, muy amable !

FGarcia 28-01-2008 20:56:31

XP no te permite ir a tan bajo nivel. Si quieres manejar el puerto paralelo necesitas instalar un driver que te lo permita. Existen varios, y gratuitos, por ejemplo el que puedes encontrar aquí http://www.logix4u.net/inpout32.htm .


La franja horaria es GMT +2. Ahora son las 08:58:00.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi