Rutinas de ASM
Si alguien me puede ayudar, excelente.
Estoy incluyendo en un proyecto instrucciones de ASM para mandar datos al puerto paralelo DB-25, mi codigo es el siguiente:
for ciclo:= 1 to AA do
ASM
MOV DX,0378h
MOV BX,01H
MOV AX,BX
OUT DX,AX
NOP
NOP
NOP
MOV DX,0378H
MOV BX,00H
MOV AX,BX
OUT DX,AX
end;
El problema es que al hacer uso de esa rutina me aparece el mensaje:
"Project Project1.exe raised exception class Eprivilege with message `Privileged Instruction`."
Y el "Indicador" de errores apunta a: "OUT DX,AX", el programa funcionaba tal cual sin modificar nada, el problema empezo cuando cambie de WIN98 a Win 2000, a lo cual obviamente atribuyo el problema, pero imagino que debe haber alguna manera de solucionarlo, cabe mencionar que estoy usando Delphi 5.0.
En fin, espero alguien me pueda auxiliar con alguna pista, les agradezco de antemano.
ATTE. Jammal
Estoy incluyendo en un proyecto instrucciones de ASM para mandar datos al puerto paralelo DB-25, mi codigo es el siguiente:
for ciclo:= 1 to AA do
ASM
MOV DX,0378h
MOV BX,01H
MOV AX,BX
OUT DX,AX
NOP
NOP
NOP
MOV DX,0378H
MOV BX,00H
MOV AX,BX
OUT DX,AX
end;
El problema es que al hacer uso de esa rutina me aparece el mensaje:
"Project Project1.exe raised exception class Eprivilege with message `Privileged Instruction`."
Y el "Indicador" de errores apunta a: "OUT DX,AX", el programa funcionaba tal cual sin modificar nada, el problema empezo cuando cambie de WIN98 a Win 2000, a lo cual obviamente atribuyo el problema, pero imagino que debe haber alguna manera de solucionarlo, cabe mencionar que estoy usando Delphi 5.0.
En fin, espero alguien me pueda auxiliar con alguna pista, les agradezco de antemano.
ATTE. Jammal
Hola Jammal, la verdad no entro para dar una respuesta, ademas la preguntaa ya es muy vieja.
Entro para pedirte ayuda, resulta que en la U nos pusieron un trabajo, donde debemos ensayar los puertos paralelo, serial,, y usb, y hasta el momento solo nos ha funcionado el paralelo, y fue precisamente con ese codigo
MOV DX,0378h
MOV BX,01H
MOV AX,BX
OUT DX,AX
lo que tenemos que hacer es hacer que prendan y apaguen unos leds.. en serie encontre esto pero no lo he ensayado:
mov al,01h
mov dx,3f8h
out al,dx
pero del usb no tengo idea, ni se encuentra mucho.. si depronto sabes resolver mi duda te agradeceria, y que pena por preguntar algo en la parte de respuestas.. mi correo es: [email protected]
gracias.
Entro para pedirte ayuda, resulta que en la U nos pusieron un trabajo, donde debemos ensayar los puertos paralelo, serial,, y usb, y hasta el momento solo nos ha funcionado el paralelo, y fue precisamente con ese codigo
MOV DX,0378h
MOV BX,01H
MOV AX,BX
OUT DX,AX
lo que tenemos que hacer es hacer que prendan y apaguen unos leds.. en serie encontre esto pero no lo he ensayado:
mov al,01h
mov dx,3f8h
out al,dx
pero del usb no tengo idea, ni se encuentra mucho.. si depronto sabes resolver mi duda te agradeceria, y que pena por preguntar algo en la parte de respuestas.. mi correo es: [email protected]
gracias.
Realmente esta no es una solucion, solo un comentario...
El acceso a los puertos en los windows con nucleo NT esta restringido y solo es permitido bajo RING 0 (nivel de sistema operativo)
Creo que hay extenciones del API Win32 para acceder a determinados puertos, pero eso si, ni idea de cuales pueden ser... si alguien sabe...
El acceso a los puertos en los windows con nucleo NT esta restringido y solo es permitido bajo RING 0 (nivel de sistema operativo)
Creo que hay extenciones del API Win32 para acceder a determinados puertos, pero eso si, ni idea de cuales pueden ser... si alguien sabe...
