LDL, LDRL, LDV and RLDL instructions

Some code will need to load locations into registers and use the location in the register to load data. This can be done by using the LDL (LoaD Location), LDRL (LoaD Reversed Location) macro in the Direct assembler or marking specific 1802 code as 'LDL' or 'LDRL' via the procedure described in chapter Changing Address Usage. By doing this the location data will be corrected when using insert, delete or copy commands. All 'location data' will be shown in purple text.

Use LDL for code loading high byte first and LDRL for code loading low byte first:

For example doing an insert on address 4407 in the following example:

will result in:

If an insert is done on address 4508 in the original example the LDL of 4408 will NOT change. This to allow adding space at the start of a data section, as seen here:

A similar LDV (LoaD Value) macro is available resulting in the same 1802 code sequence however for this macro the value is NOT changed by any insert, delete or copy commands. LDV data value is also NOT shown in purple.

For use with 1804 or 1805 code an RLDL macro is available. RLDL will generate the same 1804/1805 code as the 1804/1805 instruction RLDI however the Direct Assembler will treat RLDL as a location load similar to LDL. The RLDL data value is shown in purple, the RLDI data is not.

For example doing an insert on address 4609 in the following example:

will result in:

Note: the RLDL value changed to 460B whereas the RLDI value stayed the same.