1# 2# MicroBlaze instruction decode definitions. 3# 4# Copyright (c) 2020 Richard Henderson <rth@twiddle.net> 5# 6# This library is free software; you can redistribute it and/or 7# modify it under the terms of the GNU Lesser General Public 8# License as published by the Free Software Foundation; either 9# version 2.1 of the License, or (at your option) any later version. 10# 11# This library is distributed in the hope that it will be useful, 12# but WITHOUT ANY WARRANTY; without even the implied warranty of 13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14# Lesser General Public License for more details. 15# 16# You should have received a copy of the GNU Lesser General Public 17# License along with this library; if not, see <http://www.gnu.org/licenses/>. 18# 19 20&typea rd ra rb 21&typeb rd ra imm 22 23# Include any IMM prefix in the value reported. 24%extimm 0:s16 !function=typeb_imm 25 26@typea ...... rd:5 ra:5 rb:5 ... .... .... &typea 27@typeb ...... rd:5 ra:5 ................ &typeb imm=%extimm 28 29### 30 31{ 32 zero 000000 00000 00000 00000 000 0000 0000 33 add 000000 ..... ..... ..... 000 0000 0000 @typea 34} 35addc 000010 ..... ..... ..... 000 0000 0000 @typea 36addk 000100 ..... ..... ..... 000 0000 0000 @typea 37addkc 000110 ..... ..... ..... 000 0000 0000 @typea 38 39addi 001000 ..... ..... ................ @typeb 40addic 001010 ..... ..... ................ @typeb 41addik 001100 ..... ..... ................ @typeb 42addikc 001110 ..... ..... ................ @typeb 43