[Coco] Direct page register question
William Astle
lost at l-w.ca
Tue Oct 30 17:14:04 EDT 2018
On 2018-10-30 3:08 p.m., Salvador Garcia via Coco wrote:
> Now I am officially confused.
>
> I believed that using direct addressing produced opcodes for LDA, for example to be one byte less because the 16 bit address did not have to be specified, yet below it says that the instruction is expanded to include DP's value? Is that correct?
>
> Then there is the SETDP directive defining whether direct or extended addressing is used. So if LDA $4085 assembles as direct addressing, does that mean that the DP doesn't come into play here?
For those who are still confused:
SETDP affects what the *assembler* does. The contents of DP affects what
the CPU does at run time.
SETDP is how the assembler decides to use direct or extended addressing.
The CPU only sees whichever the assembler picked and only references DP
if the direct mode was picked by the assembler.
That means the value of SETDP at assembly time *could* be different from
the value of DP at runtime. That's not necessarily an error but it would
definitely be confusing if you didn't do it intentionally.
More information about the Coco
mailing list