Question

We're supplied some assembly for nios2 that I don't fully understand. If we can start with this instruction then I don't understand what it's for:

.set noat # required since we push r1

What does it mean? I looked in the manual but there was nothing that matched this.

Besides the instruction above I think that I can understand the individual instructions but I still can't really get a good grip what the program is for. We used it with our C code to do laboratory exercises for a computer engineering course and now I sort of forget what the code does and I wonder if you can help. Thanks

Was it helpful?

Solution

According to this post, it disables/enables warning when $at register is used by the user.

.set noat           # required since we push r1
.macro PUSHMOST
    PUSH  at        # push assembler-temporary register r1
    PUSH  r2
    PUSH  r3
    PUSH  r4

See the comment to the right of PUSH at

And according to this document, it:

prevents SPIM from complaining if subsequent instructions use $at

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top