A set of machine-readable instructions (most often in the form of a computer program) that directs a computer's processor to perform specific operations.
Software, is any set of machine-readable instructions (most often in the form of a computer program) that directs a computer's processor to perform specific operations. The term is used to contrast with computer hardware, the physical objects (processor and related devices) that carry out the instructions. Hardware and software require each other and neither has any value without the other.
Software covers a multitude of aspects within a robotic system - eg: motor control, control algorithms, communications, displays etc as well as FPGA/PLD configration.
The software
is somewhat broad and should normally be used in conjunction with other tags to focus the question.