P2 instruction question
ti85
Posts: 44
in Propeller 2
Does the P2 have a similar instruction to JMPRET found in the P1?
I'm working on critical P1 code. While most P1 PASM commands work in P2 as well, I prefer using P2 for testing because it's significantly easier debugging features. This makes the coding process much smoother.
Comments
CALLD is the closest equivalent to what you'd normally use JMPRET for (jumping somewhere and writing the return address into a register). Of course the PC is longer than 9 bits on P2, so it overwrites the entire result register (on P1 you can patch the lower bits of another JMP(RET) instruction). Though for that hassle you get CZ in the MSBs in additon to the address (and using CALLD with WCZ will restore them from the source register).
Gear might help with P1 PASM, in case you don't know about that...
https://forums.parallax.com/discussion/156347/improved-gear-emulator/p1
Thank you for the responses: I will try out the CALL D instruction today.
@Rayman - yes, I have gear and use it a lot (It was how to first learned how to use PASM)
CALLD D,S is separate instruction from CALL D.
From docs:
CALLD D,S Call to S by writing {C, Z, 10'b0, PC[19:0]} to D.
CALL D Call to D by pushing {C, Z, 10'b0, PC[19:0]} onto stack.