Had any luck with this? I've gotten to the point where I need to turn this huge macro I have into a function but the assembler complains: find_create.uc(146) : ERROR: No initialized return address found in code\ for rtn opcode. find_create.uc(146) : ERROR: No initialized return address found in code\ for rtn opcode. Not only is the documentation for rtn a joke, it doesn't look like its used hardly anywhere in any of the provided microcode. The problem seems to be that you can't write the address of the label into external memory and get it back out, because then the register allocator can't properly trace the code. Without a way to put labels into external memory, its seems the only choise is using another context sensitive register, but I'm running out of those as it is. Najati