based on results from CHRV
ZXNet echo conference «zxnet.pc»
From Stanislav Lomakin → To All 7 March 2006
Hello icebear
not everything turned out to be so simple with these CP*... yes, when performing chains of 2
commands the result is unexpected - for example CPD:CPD gives 11, CPIR:CPI is the same
the result is the same as simply CPIR, CPIR: CPD -- memptr=instruction_address_CPIR+1...
it doesn't appear that memptr is affected by registers, only the instruction address and
previous(s?) instructions.
I see two options - either memptr after CP* depends on the previous value
memptr, or there really is another internal register involved.
It’s easy to find out - you need to look at the behavior of these instructions after
initializing memptr with different values.
I'm attaching the results as text. files, only for Z0840008 (for others
the stones are all the same)
PS, what if some other commands that set memptr are affected by it?
initial value? :confused:
File: bltst.zip http://zx.pk.ru/attachment.php?attachmentid=2771