Mas de una vez haz hecho programas donde es necesario elegir entre diferentes opciones, haz tenido que hacer menus o un menu con diferentes opciones etc, pero te desespera ver ese maldito cursor parpadeando por ahi ¿no?
Los procedimientos a continuacion mostrados estan en ensamblador y pues sirven para poder ocultar y hacer aparecer el mouse en el momento que lo desees (como cuando necesites leer algun dato), fueron creados por Diego Romero.
Obviamente son para el modo texto, ya que en el modo grafico (afortunadamente o desgraciadamente) no hay cursor que nos moleste.
procedure fueracursor;
begin
     bkx:=wherex;     {guarda la posicion actual del cursor}
     bky:=wherey;
     a.ah:=02;     {servicio 2 de la int 10h}
     a.dh:=25;     {fila del cursor}
     a.dl:=00;     {columna del cursor}
     a.bh:=00;     {página de video}
     intr($10,a);     {llama a la int 10h}
end;
procedure ponercursor;
var
     a:registers;
begin
     a.ah:=02;     {servicio 2 de la int 10h}
     a.dh:=bky-1;     {trae el cursor a la pos. anterior - 1 porque la BIOS              considera la pantalla de 0 a 24 y de 0 a 79,            Pascal de 1 a 25 y de 1 a 80}
     a.dl:=bkx-1;     {idem}
     a.bh:=00;     {pagina de video}
     intr($10,a);     {llama a la int 10h}
end;
Todo el programa quedaria asi
uses crt,dos;
begin
var
bkx,bky:byte;
     clrscr;
     gotoxy(10,10);
     readkey;
     fueracursor;
     readkey;
     ponercursor;
     readkey;
end;