A simulation of a two-pass linker, relocating relative addresses and resolving external ones. The implementation also checks for illegal operations/addresses.