blob: 38d403506f1e71f7a65747101ce5b713e77125e3 [file] [log] [blame]
/* Copyright lowRISC contributors. */
/* Licensed under the Apache License, Version 2.0, see LICENSE for details. */
/* SPDX-License-Identifier: Apache-2.0 */
/*
An example of the pseudo-operations supported by the OTBN ISA
*/
nop_example:
/* NOP is a no-op, and expands to addi x0, x0, 0 */
nop
ret_example:
/* RET is a return and expands to jalr x0, x1, 0 */
ret
li_example:
/* LI is a bit more complicated. With a small immediate, it turns
into just addi */
li x2, 1230
li x2, -123
li x2, 2272
/* With a big immediate which happens to have nothing set in the
lower 20 bits, it turns into just a LUI */
li x2, 1048576
li x2, -0x800000
/* With a big immediate in general, we need 2 instructions.
Firstly, a LUI to set up the upper bits, then an ADDI to sort out
the lower ones. */
li x2, 0x10000042
li x2, 123456789
li x2, 0x7fffffff