Branch data

Some code will need branch tables or use 2 bytes to identify an address location. As an example COMX BASIC uses R4/R5 for subroutine handling. Where SEP R4 is a subroutine call to the address specified in the 2 following bytes. SEP R5 is used as subroutine return. For these cases the 'branch data' bytes can be defined in the Direct assembler by typing ':address' or marking the data bytes as 'Branch' via the procedure described in chapter Changing Address Usage. By doing this the branch data will be corrected when using insert, delete or copy commands. All 'Branch data' will be shown in red text.

For example an insert on address hex 4500 in the following example:

will result in:

Note: the code on address hex 4505 was typed in on the command line field as :4501

If an insert is done on address 4501 in the original example the branch to 4501 will NOT change. This to allow adding space at the start of a routine, as seen here: