Delphi - Error al ejecutar Int 21h

 
Vista:

Error al ejecutar Int 21h

Publicado por AODH (3 intervenciones) el 09/04/2002 07:26:13
En un proyecto de consola en Delphi6, tengo el siguiente procedimiento:
procedure SetDate(Year, Month, Day: Word); assembler ;
begin
asm
push AX
push CX
push DX
MOV CX,Year
MOV DH,Month.Byte
MOV DL,Day.Byte
MOV AH,2BH
INT 21H
POP DX
POP CX
POP AX
end ;
end ;
Al ejecutarlo falla en la llamada a Int 21h. Estoy, claro está, ejecutandolo sobre Windows NT
El error que da es:"La instrucción en 0x00408020 ha hecho referencia a la memoria en: 0xffffffff.
¿ Podriais darme pistas sobre el error o indicarme como hacerlo de otra forma?
Muchas gracias por vuestro tiempo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Error al ejecutar Int 21h

Publicado por mamcx (533 intervenciones) el 09/04/2002 14:55:53
Que se supone que debe hacer SetDate? La funcion como tal, no da indicativo de requerir assembler...

Si realmente debe ser asi, seria bueno que commentes cada linea y ojala coloques un equivalente pascal.. asi se hace en el codigo fuente de Delphi.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error al ejecutar Int 21h

Publicado por kikonmx (50 intervenciones) el 11/04/2002 15:43:30
Recuerda que la interrupción 21h es exclusiva del DOS, se supone que Windows NT/2000/XP ya no están basados en DOS como las versiones anteriores, lo que ahora traen es un intérprete de comandos que emula al DOS, con lo cual, tal vez ya no soporten esta interrupción. Checa en la documentación del Object Pascal, tal vez traiga alguna instrucción para cambiar la fecha
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar