OpenCores

NanoBlaze: the expandable processor

Issue List
No conditional RETURN statements #4
Open wclement opened this issue over 4 years ago
wclement commented over 4 years ago

The assembler converts all conditional RETURN statements (RETURN Z/NZ/C/NC) into unconditional RETURN, requiring the use of a conditional JUMP over the unconditional RETURN. There is no warning given that this assembler operation is being coded into the program ROM.

This is not a major limitation, but it is a variance from the PicoBlaze instruction set. When I re-enabled the conditional RETURN statements, I found that the issue is with the VHDL source files. Regardless of whether the condition statement is true or false, the conditional RETURN always pops an address off the call stack. In a loop, the effect is to continually pop nonexistent return addresses from the stack.

The bug is that no indication is given to the user that his conditional RETURN has been converted to unconditional RETURN.


Assignee
No one
Labels
None yet