La Web del Programador: Comunidad de Programadores
 
    Pregunta:  42087 - ¿CÓMO REINICIO LA MÁQUINA DESDE TURBO PASCAL?
Autor:  Juan Francisco Vela Gonzalez
Nesesito saber como reiniciar mi máquina desde Turbo Pascal par ami proyecto final, ya traté con la recomendación que le dieron a mi amigo al usar "swapvectors" pero no pudimos porque nos sacaba error al pricipio del programa.

  Respuesta:  Jorgre Rambla
Otra cosa que funciona bajo windows y te va cerrando las aplicaciones es usar una llamada en rundll.dll ( tipo ' exec('rundll ....,)) no recuerdo bien como era ni los parámetros deberás buscar por internet que ahí la ví, pero bajo windows hacía una llamada a la funcion de salida del S.O. era muy pulcra.

  Respuesta:  José Israel Hernández González
Si lo que necesitas es reiniciar la PC con turbo pascal, es sencillo, solo tienes que usar codigo ensamblador para hacerlo y de manera facil. Solo basta que pongas lo siguiente en la rutina donde quieres que se reinicie la pc y estara hecho.

asm
int $19
end;

Nada tan facil no?, al menos a mi me resulta.

Por otro lado, el uso de swapvectors te genera un error, si no has declarado el uso de la pila correctamente. La siguiente declaracion despues de la declaracion PROGRAM, puede ayudarte, reserva memoria suficiente para la pila, sin gastar demasiada, tambien esto te pude servir.

{+M 8192,0,0}

Aunque te recomiendo mas la primera opcion que te di, es mas rapida y sencilla de escribir, y no te tienes que estar complicando la vida con la pila.

Suerte con tu proyecto. Si tienes alguna duda, no dudes en escribirme. Buen dia.