how do you fix a file if you dont know whats wrong with it?
Could be malware then a repair dont remove it
If you've recently installed Internet Explorer 8 in Windows XP, uninstall IE8. In this specific situation, IE8 could be the root cause of your hal.dll problem as well.
Try troubleshooting first before you do a repair install
Once the HAL is gone bad, only a full Windows "repair" is gong to fix it. OP has no other way to start computer. Could remove drive and connect to another computer, scan for trouble and replace, then do full "repair", but fact is, machine will never start again without either a repair or full re-install.
If repair is done, machine will start. Virus scan should be done at once before shutting down again if malware is suspected.