RESPUESTA A LA PREGUNTA 819 Ahi van dos funciones para encender y apagar los leds del teclado. La última es una función para que veas como debes usarlas. Los siento pero el fuente lo tengo en turbo pascal aunque pasarlo a ensamblador es sencillo. const SCRL=16; (*Constantes que indican el bit que corresponde*) NUML=32; (*a cada led*) CAPL=64; INS =128; (*Puede no tener led*) (*Procedimiento que activa la funci¢n especificada, enciendo el led asociado*) procedure Encender(Modo:byte); var Estado:byte absolute $0040:$0017; (*Pone Estado en esa direcci¢n*) Regs :Registers; (*Registros para la interrupci¢n*) begin Estado:=Estado or Modo; (*Activa el bit indicado*) Regs.AH:=1; (*Funci¢n que mira si hay tecla*) intr($16,Regs); (*Provoca interrupci¢n software*) end; (*Procedimiento que desactiva la funci¢n especificada, apagando el led*) procedure Apagar(Modo:byte); var Estado:byte absolute $0040:$0017; Regs :Registers; begin Estado:=Estado and ( not Modo ); (*Apaga el bit indicado*) Regs.AH:=1; intr($16,Regs); end; (*Procedimiento que hace un efecto de luces *) Procedure Luces; var i:integer; begin for i:=1 to 3 do begin Encender(Numl); delay(100); Apagar(Numl); Encender(CapL); delay(100); Apagar(Capl); Encender(ScrL); delay(100); Apagar(Scrl); end; end; Rogelio baudio@arquired.es