So if I want to build a set of VMs such as Windows XP, Windows 7 I can allocate as little as 768 for basic testing?
I would also like to setup some 2012 servers on my SP2, so I am assuming that they would take a little more memory?
The VMs are only for functionality testing and not for development.
I just tried Windows 7 64-bit VM (Hyper-V) with 768MB of RAM and also with 1GB of RAM and it works without any issue. It starts with around 600MB of RAM consumed, so you can run a debugger and your application with no problems. But please note that Microsoft recommends at least 1GB of RAM for Windows 7 32-bit and 2GB of RAM for Windows 7 64-bit.
I almost always use Windows XP with 512MB of RAM, it works perfectly fine.
You will be surprised but servers can consume as much or even less memory compared to the Desktop editions, if you do not activate/install features/services that you don't need, because they usually come with less UI bling by default and no extra services started.
But if you need let's say to run SQL Server at high speed on a Windows 2012 Server, it's another matter. However there's always the virtual memory that is used in case you run out of RAM for short periods of time.
The Hyper-V also has the "dynamic memory" feature that you can enable on a virtual machine. I have never used it but I suppose it can be useful to expand the used RAM only when needed (you can set a minimum and maximum RAM size).