hal. i think M$ tried hard to come up with that name for this all-controlling ruler of your puter [2001: a space oddy..]. HAL is the software inteface between XP etc opsys and other applications, and the hardware. If hal is broken not much will run. You can get a copy into your PC via Recovery console [u need the, anybodies.., XP CD] and command.com; or by taking the drive out and making it a slave in another pc and copying a clean file in.
Where to get hal.dll? from the good pc [it WILL have it], from a net library[google hal.dll]. The working copy of hal.dll resides in \WINDOWS\system32. A spare copy is always cached in \WINDOWS\driver cache\i386\sp2.cab [you must extract it from this folder]. There are different hals out there, for multithreading, ACPI etc. so get the latest with most bells n whistles if you cannot read the file size from your corrrupted file to find a match.
To see that path you must go to folder options and uncheck " hide protected opsys files". So with that drive hooked up as a slave, go to the windows folder, unzip the sp2.cab to a scratch folder and copy the hal.dll that will be in there. Do not use the working copy in system32. Paste it into the slave drive into system32.
A copy of it is hidden in all OEM cd's also.[i386 folder]. it's only 104KB so it will fit onto a floppy for the command.com route via recovery console.