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