A macro example in the docs shows:
.macro swap (A,B,TEMP) # . marks the directive set .TEMP,.A # . marks the special variable. set .A,.B set .B,.TEMP .endm # And . marks the end of the macro.
Is there a way to write this macro without specifying the TEMP parameter? For example, something like:
.macro swap (A,B) .local pmc .TEMP
.local inside macros creates a local *label*.
As the macro arguments could be any kind of register, the macro can't have the TEMP hidden inside. If you are gonna swap PMCs only, you could write it as:
.macro swapP (A,B) $P0 = .A .A = .B .B = $P0 .endm
(untested)
*But* we have an opcode called *exchange* ... It's even JITted on i386.
leo