Instructions

Table 1-5:Instruction Set Nomenclature

R

Symbol

 

 

 

 

 

 

 

Description

 

 

 

 

 

 

 

 

 

 

 

 

 

 

<< x

Bit shift left x bits

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

and

Logic AND

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

or

Logic OR

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xor

Logic exclusive OR

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

op1 if cond else op2

Perform op1 if condition cond is true, else perform op2

 

 

 

 

 

 

 

 

 

 

 

 

&

Concatenate. E.g. “0000100 & Imm7” is the concatenation of the fixed field “0000100” and

 

a 7 bit immediate value.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

signed

Operation performed on signed integer data type. All arithmetic operations are performed

 

on signed word operands, unless otherwise specified

 

 

 

 

 

 

 

 

 

 

 

 

unsigned

Operation performed on unsigned integer data type

 

 

 

 

 

 

 

 

 

 

 

 

 

float

Operation performed on floating point data type

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Table 1-6:MicroBlaze Instruction Set Summary

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Type A

 

0-5

 

6-10

 

11-15

16-20

21-31

 

 

 

Semantics

 

 

 

 

 

 

 

 

 

 

 

 

Type B

 

0-5

 

6-10

 

11-15

 

16-31

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ADD Rd,Ra,Rb

 

000000

 

Rd

 

Ra

Rb

00000000000

 

Rd := Rb + Ra

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RSUB Rd,Ra,Rb

 

000001

 

Rd

 

Ra

Rb

00000000000

 

Rd := Rb +

 

+ 1

 

Ra

 

 

 

 

 

 

 

 

 

 

 

ADDC Rd,Ra,Rb

 

000010

 

Rd

 

Ra

Rb

00000000000

 

Rd := Rb + Ra + C

 

 

 

 

 

 

 

 

 

 

 

 

 

RSUBC Rd,Ra,Rb

 

000011

 

Rd

 

Ra

Rb

00000000000

 

Rd := Rb +

 

+ C

Ra

 

 

 

 

 

 

 

 

 

 

 

ADDK Rd,Ra,Rb

 

000100

 

Rd

 

Ra

Rb

00000000000

 

Rd := Rb + Ra

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RSUBK Rd,Ra,Rb

 

000101

 

Rd

 

Ra

Rb

00000000000

 

Rd := Rb +

 

+ 1

 

Ra

 

 

 

 

 

 

 

 

 

 

 

ADDKC Rd,Ra,Rb

 

000110

 

Rd

 

Ra

Rb

00000000000

 

Rd := Rb + Ra + C

 

 

 

 

 

 

 

 

 

 

 

 

 

RSUBKC Rd,Ra,Rb

 

000111

 

Rd

 

Ra

Rb

00000000000

 

Rd := Rb +

 

+ C

Ra

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CMP Rd,Ra,Rb

 

000101

 

Rd

 

Ra

Rb

00000000001

 

Rd := Rb +

 

+ 1

 

Ra

 

 

 

 

 

 

 

 

 

 

Rd[0] := 0 if (Rb >= Ra) else

 

 

 

 

 

 

 

 

 

 

Rd[0] := 1

 

 

 

 

 

 

 

 

 

 

 

 

 

CMPU Rd,Ra,Rb

 

000101

 

Rd

 

Ra

Rb

00000000011

 

Rd := Rb +

 

+ 1 (unsigned)

Ra

 

 

 

 

 

 

 

 

 

 

Rd[0] := 0 if (Rb >= Ra, unsigned) else

 

 

 

 

 

 

 

 

 

 

Rd[0] := 1

 

 

 

 

 

 

 

 

 

 

 

ADDI Rd,Ra,Imm

 

001000

 

Rd

 

Ra

 

Imm

 

Rd := s(Imm) + Ra

 

 

 

 

 

 

 

 

 

 

 

 

 

RSUBI Rd,Ra,Imm

 

001001

 

Rd

 

Ra

 

Imm

 

Rd := s(Imm) +

 

+ 1

 

Ra

 

 

 

 

 

 

 

 

 

 

 

ADDIC Rd,Ra,Imm

 

001010

 

Rd

 

Ra

 

Imm

 

Rd := s(Imm) + Ra + C

 

 

 

 

 

 

 

 

 

 

 

 

 

RSUBIC Rd,Ra,Imm

 

001011

 

Rd

 

Ra

 

Imm

 

Rd := s(Imm) +

 

+ C

 

Ra

 

 

 

 

 

 

 

 

 

 

 

ADDIK Rd,Ra,Imm

 

001100

 

Rd

 

Ra

 

Imm

 

Rd := s(Imm) + Ra

 

 

 

 

 

 

 

 

 

 

 

 

 

RSUBIK Rd,Ra,Imm

 

001101

 

Rd

 

Ra

 

Imm

 

Rd := s(Imm) +

 

+ 1

 

Ra

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MicroBlaze Processor Reference Guide

www.xilinx.com

15

UG081 (v6.0) June 1, 2006

1-800-255-7778

 

Page 15
Image 15
Xilinx EDK 8.2i manual Op1 if cond else op2