Brus-16 ISA

Brus-16 instruction set

Format 0

Encoding

15 14 10 9 8 0 F OP0 I SIMM

Instructions

15 14 10 9 8 0 0 0 0 0

ADD

15 14 10 9 8 0 0 1 0 0

SUB

15 14 10 9 8 0 0 2 0 0

MUL

15 14 10 9 8 0 0 3 0 0

AND

15 14 10 9 8 0 0 4 0 0

OR

15 14 10 9 8 0 0 5 0 0

XOR

15 14 10 9 8 0 0 6 0 0

SHL

15 14 10 9 8 0 0 7 0 0

SHR

15 14 10 9 8 0 0 8 0 0

SHRA

15 14 10 9 8 0 0 9 0 0

EQ

15 14 10 9 8 0 0 10 0 0

NEQ

15 14 10 9 8 0 0 11 0 0

LT

15 14 10 9 8 0 0 12 0 0

LE

15 14 10 9 8 0 0 13 0 0

GT

15 14 10 9 8 0 0 14 0 0

GE

15 14 10 9 8 0 0 15 0 0

LTU

15 14 10 9 8 0 0 0 1 SIMM

ADD simm

15 14 10 9 8 0 0 1 1 SIMM

SUB simm

15 14 10 9 8 0 0 2 1 SIMM

MUL simm

15 14 10 9 8 0 0 3 1 SIMM

AND simm

15 14 10 9 8 0 0 4 1 SIMM

OR simm

15 14 10 9 8 0 0 5 1 SIMM

XOR simm

15 14 10 9 8 0 0 6 1 SIMM

SHL simm

15 14 10 9 8 0 0 7 1 SIMM

SHR simm

15 14 10 9 8 0 0 8 1 SIMM

SHRA simm

15 14 10 9 8 0 0 9 1 SIMM

EQ simm

15 14 10 9 8 0 0 10 1 SIMM

NEQ simm

15 14 10 9 8 0 0 11 1 SIMM

LT simm

15 14 10 9 8 0 0 12 1 SIMM

LE simm

15 14 10 9 8 0 0 13 1 SIMM

GT simm

15 14 10 9 8 0 0 14 1 SIMM

GE simm

15 14 10 9 8 0 0 15 1 SIMM

LTU simm

15 14 10 9 8 0 0 16 0 SIMM

LOAD simm

15 14 10 9 8 0 0 17 0 SIMM

STORE simm

15 14 10 9 8 0 0 16 1 SIMM

GET_LOCAL simm

15 14 10 9 8 0 0 17 1 SIMM

SET_LOCAL simm

15 14 10 9 8 0 0 18 1 SIMM

LOCALS simm

15 14 10 9 8 0 0 19 0 0

SET_FP

15 14 10 9 8 0 0 20 1 SIMM

RET simm

15 14 10 9 8 0 0 21 1 SIMM

PUSH simm

15 14 10 9 8 0 0 22 0 0

PUSH_MR

15 14 10 9 8 0 0 23 0 0

WAIT

Format 1

Encoding

15 14 13 12 0 F OP1 IMM

Instructions

15 14 13 12 0 1 0 IMM

JMP imm

15 14 13 12 0 1 1 IMM

JZ imm

15 14 13 12 0 1 2 IMM

CALL imm

15 14 13 12 0 1 3 IMM

PUSHU imm