Load and store |
ld | ra, c2(rb) | Load from displacement address |
| ld | ra, c2 | Load from absolute address when rb is register 0 |
| ldr | ra, c1 | Load from relative address |
| st | ra, c2(rb) | Store into displacement address |
| st | ra, c2 | Store into absolute address when rb is register 0 |
| str | ra, c1 | Store into relative address |
| la | ra, c2(rb) | Load value of displacement address into ra |
| la | ra, c2 | Load value of absolute address into ra when rb is register 0 |
| lar | ra, c1 | Load value of relative address into ra |
| Arithmetic |
add | ra, rb, rc | Add rb to rc, and put result in ra |
| addi | ra, rb, c2 | Add rb to immediate constant, and put result in ra |
| sub | ra, rb, rc | Subtract rc from rb, and put result in ra |
| neg | ra, rc | Place 2's complement negative of rc into ra |
| or | ra, rb, rc | OR rb and rc, and put result in ra |
| ori | ra, rb, c2 | OR rb and immediate constant, and put result in ra |
| not | ra, rc | Place logical NOT of rc into ra |
| Branch |
br | rb, rc, c3 | Branch to target in rb if rc satisfies condition c3 |
| brl | ra, rb, rc, c3 | Branch to rb if rc satisfies c3, and save PC in ra |
| br | rb | Branch unconditionally to rb |
| brl | ra, rb | Branch unconditionally to rb, and save PC in ra |
| brlnv | ra | Do not branch, but save PC in ra |
| brnv | | Branch never |
| brzr | r, rc | Branch to rb if rc is zero |
| brlzr | ra, rb, rc | Branch to rb if rc is zero, and save PC in ra |
| brnz | rb, rc | Branch to rb if rc is nonzero |
| brlnz | ra, rb, rc | Branch to rb if rc is nonzero, and save PC in ra |
| brmi | rb, rc | Branch to rb if rc is negative (sign is minus) |
| brlmi | ra, rb, rc | Branch to rb if rc is negative, and save PC in ra |
| brpl | rb, rc | Branch to rb if rc is non-negative |
| brlpl | ra, rb, rc | Branch to rb if rc is non-negative, and save PC in ra |