Refactor 8bit PC-relative displacement (JR) implementation, add 16bit + 24bit relative displacement
The Current 8bit PC-relative addressing implementation is over-complicated and has a large runtime overhead (using dynamic memory allocated list). It is also only defined for JR, which needs to be generic as 8bit pc-relative address.
Add the current module (relative) PC to expression_t. Remove old pcrelative_t and pcrelativelist_t structures and functionality.
Allow 8bit PC-relative addressing with XREF. For 16bit and 24bit PC-relative addressing, this is allowed to reference labels outside current module (resolved during linking). Add new 16bit/24bit PC-relative addresses in object file and also handle this during linking.
Edited by Bits4fun