The David Assembler documentation lists three boundary conditions for the C=G instruction where the operation is strange. They all have to do with cases where the active pointer is (or was, or will be) pointing at the most significant nibble. Case 3 is when the pointer is decremented from pointing at the MS nibble immediately before the C=G instruction. This document explicitely states that this is for the DEC PT instruction only. But my reverse-engineered Nut CPU also does a similar thing for the case where the pointer is changed (from pointing at the MS nibble) with a PT=d instruction. In this case the behavior is identical to that listed for the DEC PT case, only relative to the new pointer value. Can anyone confirm that the original Nut CPU operates this way? Or is the operation "correct" in the case where the pointer is loaded with a new value, where it was previously a "B", followed immediately by C=G? Thanks in advance.
Monte