Given that the reading doesn't change with how much fuel is in it I would suspect the wiring.
My recomendation would be to unhook the wire from the sender (just let it float) and see what the gauge reads, then ground that wire and see what the gauge reads.
If it still doesn't change, then the problem is upstream in the wiring. If it shows full/empty when unhooked and grounded then the gauge is working and you will probably need to pull the sender.