Re: 65816 long addressing in assembler

From: Anders Carlsson (anders.carlsson_at_sfks.se)
Date: 2008-10-17 14:28:55

Spiro Trikaliotis wrote:

> Using "<" for the lower part and ">" for the higher part seems ubiquitous 
> for me, but not without the hash sign.

On the other hand those operators almost make the # implied. I can only find 
two possible meanings of this instruction:

LDA <$FFD2

1. Load #$D2 to the accumulator
2. Load the memory contents at zeropage position $D2

In particular when used with symbolic labels, the latter use would be really 
cryptic:

LDA <LABEL = Load what is on the zeropage location corresponding to the low 
byte of the address to LABEL. I'm trying to come up with a situation where 
that would be useful.

Can the 65816 load 16-bit values to the accumulator as well as 8-bit values? 
If so, when using 24-bit labels you may need five different operators:

< = low 8-bits of any address
> = high 8-bits of any address
| = middle 8-bits of a 24-bit address
<< = low 16-bits of a 24-bit address
>> = high 16-bits of a 24-bit address

Add to that the operator to speficy if a given address should be stored as 
8, 16 or 24 bits when it can't be determined.

Best regards

-- 
Anders Carlsson


       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail pre-2.1.8.