> Direccion : System.Address := System'To_Address (16#378#); The LPT port is not at virtual memory address 378, it is at IO address 378. On the PC you must use IO instructions to access an IO port, not memory accessing instructions. > I'm not sure if Ada can manage devices over the Windows Layer. Just as much, or as little, as C or anything else. But you may need to write a device driver to access protected resources. As previously noted, however, Martin Carlisle has posted Ada code to access the printer port under Windows, so you are in luck. :)