As Gerald Davis explained in the other answer, there are about 6 million possible passwords, which is way too few.
However, there's an additional weakness: since the password and salt are combined with XOR rather than concatenation, it is sufficient to generate a table for all hash values. If you know the $x$ for which $H(x) = h$, you know that the password was $p = x \oplus s$.
So a simple list with $2^{40} \approx 10^{12}$ entries (some gigabytes) would cover every password-hash combination, without even needing to use hash chains or a rainbow table. In contrast, if the password and salt were concatenated, such a list would need on the order of $10^{20}$ entries (hundreds of petabytes at least).
In this case it doesn't matter, since the password search space is so small as to be breakable regardless, but with more complex passwords that would be a significant weakness. E.g. if you had random n-byte passwords with random n-byte salt, the salt would be completely useless.
Just goes to show that you shouldn't make up your own password hashing scheme, but use established algorithms.