It's been a while since i've done it, but I hope this is the correct way.
Once you get both computers connected via the crossover cable, it will probably say "limited or no connectivity", correct?
Since you dont have a DHCP server, you need to manually assign the IP's and gateway for each PC. So click on "Network Connections" on the XP machine, right click on the active NIC, click properties, then click on TCP/IP, and click properties again. Then you need to manually assign an IP. It doesnt really matter, so lets make PC1 (XP), have an IP of 192.168.1.100, default subnet.
Then on PC2 (Vista), do the same thing (although it's tricker to get to the network connections page), and click on TCP/IP properties again, then change the IP to 192.168.1.101, defualt subnet, and for the gateway enter 192.168.1.100. If you want to share internet, or just to make sure it works, use 192.168.1.100 as the #1 DNS server as well.
Hope that works.