/*
  Copyright 2001 Free Software Foundation, Inc.

  This file is part of GNU Binutils.

  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */

/* This program generates z8k-opc.h */

#include "sysdep.h"

#define BYTE_INFO_LEN 10

struct op
{
  char *flags;
  int cycles;
  char type;
  char *bits;
  char *name;
  char *flavor;
};

#define iswhite(x) ((x) == ' ' || (x) == '\t')
struct op opt[] =
{
  "------", 10, 8, "0000 1110 imm8", "ext0e imm8", 0,
  "------", 10, 8, "0000 1111 imm8", "ext0f imm8", 0,
  "------", 10, 8, "1000 1110 imm8", "ext8e imm8", 0,
  "------", 10, 8, "1000 1111 imm8", "ext8f imm8", 0,

  "------", 10, 8, "0011 0110 imm8", "rsvd36", 0,
  "------", 10, 8, "0011 1000 imm8", "rsvd38", 0,
  "------", 10, 8, "0111 1000 imm8", "rsvd78", 0,
  "------", 10, 8, "0111 1110 imm8", "rsvd7e", 0,

  "------", 10, 8, "1001 1101 imm8", "rsvd9d", 0,
  "------", 10, 8, "1001 1111 imm8", "rsvd9f", 0,

  "------", 10, 8, "1011 1001 imm8", "rsvdb9", 0,
  "------", 10, 8, "1011 1111 imm8", "rsvdbf", 0,

  "---V--", 11, 16, "1011 1011 ssN0 1001 0000 rrrr ddN0 1000", "ldd @rs,@rd,rr", 0,
  "---V--", 11, 16, "1011 1011 ssN0 1001 0000 rrrr ddN0 0000", "lddr @rs,@rd,rr", 0,
  "---V--", 11, 8, "1011 1011 ssN0 1001 0000 rrrr ddN0 0000", "lddrb @rs,@rd,rr", 0,
  "---V--", 11, 16, "1011 1011 ssN0 0001 0000 rrrr ddN0 0000", "ldir @rd,@rs,rr", 0,
  "CZSV--", 11, 16, "1011 1011 ssN0 0000 0000 rrrr dddd cccc", "cpi rd,@rs,rr,cc", 0,
  "CZSV--", 11, 16, "1011 1011 ssN0 0100 0000 rrrr dddd cccc", "cpir rd,@rs,rr,cc", 0,
  "CZSV--", 11, 16, "1011 1011 ssN0 1100 0000 rrrr dddd cccc", "cpdr rd,@rs,rr,cc", 0,
  "---V--", 11, 16, "1011 1011 ssN0 0001 0000 rrrr ddN0 1000", "ldi @rd,@rs,rr", 0,
  "CZSV--", 11, 16, "1011 1011 ssN0 1000 0000 rrrr dddd cccc", "cpd rd,@rs,rr,cc", 0,
  "---V--", 11, 8, "1011 1010 ssN0 0001 0000 rrrr ddN0 0000", "ldirb @rd,@rs,rr", 0,
  "---V--", 11, 8, "1011 1010 ssN0 1001 0000 rrrr ddN0 1000", "lddb @rs,@rd,rr", 0,
  "---V--", 11, 8, "1011 1010 ssN0 0001 0000 rrrr ddN0 1000", "ldib @rd,@rs,rr", 0,
  "CZSV--", 11, 8, "1011 1010 ssN0 1000 0000 rrrr dddd cccc", "cpdb rbd,@rs,rr,cc", 0,
  "CZSV--", 11, 8, "1011 1010 ssN0 1100 0000 rrrr dddd cccc", "cpdrb rbd,@rs,rr,cc", 0,
  "CZSV--", 11, 8, "1011 1010 ssN0 0000 0000 rrrr dddd cccc", "cpib rbd,@rs,rr,cc", 0,
  "CZSV--", 11, 8, "1011 1010 ssN0 0100 0000 rrrr dddd cccc", "cpirb rbd,@rs,rr,cc", 0,
  "CZSV--", 11, 16, "1011 1011 ssN0 1010 0000 rrrr ddN0 cccc", "cpsd @rd,@rs,rr,cc", 0,
  "CZSV--", 11, 8, "1011 1010 ssN0 1010 0000 rrrr ddN0 cccc", "cpsdb @rd,@rs,rr,cc", 0,
  "CZSV--", 11, 16, "1011 1011 ssN0 1110 0000 rrrr ddN0 cccc", "cpsdr @rd,@rs,rr,cc", 0,
  "CZSV--", 11, 8, "1011 1010 ssN0 1110 0000 rrrr ddN0 cccc", "cpsdrb @rd,@rs,rr,cc", 0,
  "CZSV--", 11, 16, "1011 1011 ssN0 0010 0000 rrrr ddN0 cccc", "cpsi @rd,@rs,rr,cc", 0,
  "CZSV--", 11, 8, "1011 1010 ssN0 0010 0000 rrrr ddN0 cccc", "cpsib @rd,@rs,rr,cc", 0,
  "CZSV--", 11, 16, "1011 1011 ssN0 0110 0000 rrrr ddN0 cccc", "cpsir @rd,@rs,rr,cc", 0,
  "CZSV--", 11, 8, "1011 1010 ssN0 0110 0000 rrrr ddN0 cccc", "cpsirb @rd,@rs,rr,cc", 0,

  "------", 2, 8, "0011 0110 0000 0000", "bpt", 0,
  "CZSV--", 5, 16, "1011 0101 ssss dddd", "adc rd,rs", 0,
  "CZSVDH", 5, 8, "1011 0100 ssss dddd", "adcb rbd,rbs", 0,
  "CZSV--", 7, 16, "0000 0001 ssN0 dddd", "add rd,@rs", 0,
"CZSV--", 9, 16, "0100 0001 0000 dddd address_src", "add rd,address_src", 0,
  "CZSV--", 10, 16, "0100 0001 ssN0 dddd address_src", "add rd,address_src(rs)", 0,
  "CZSV--", 7, 16, "0000 0001 0000 dddd imm16", "add rd,imm16", 0,
  "CZSV--", 4, 16, "1000 0001 ssss dddd", "add rd,rs", 0,
  "CZSVDH", 7, 8, "0000 0000 ssN0 dddd", "addb rbd,@rs", 0,
"CZSVDH", 9, 8, "0100 0000 0000 dddd address_src", "addb rbd,address_src", 0,
  "CZSVDH", 10, 8, "0100 0000 ssN0 dddd address_src", "addb rbd,address_src(rs)", 0,
  "CZSVDH", 7, 8, "0000 0000 0000 dddd imm8 imm8", "addb rbd,imm8", 0,
  "CZSVDH", 4, 8, "1000 0000 ssss dddd", "addb rbd,rbs", 0,
  "CZSV--", 14, 32, "0001 0110 ssN0 dddd", "addl rrd,@rs", 0,
  "CZSV--", 15, 32, "0101 0110 0000 dddd address_src", "addl rrd,address_src", 0,
  "CZSV--", 16, 32, "0101 0110 ssN0 dddd address_src", "addl rrd,address_src(rs)", 0,
  "CZSV--", 14, 32, "0001 0110 0000 dddd imm32", "addl rrd,imm32", 0,
  "CZSV--", 8, 32, "1001 0110 ssss dddd", "addl rrd,rrs", 0,

  "-ZS---", 7, 16, "0000 0111 ssN0 dddd", "and rd,@rs", 0,
"-ZS---", 9, 16, "0100 0111 0000 dddd address_src", "and rd,address_src", 0,
  "-ZS---", 10, 16, "0100 0111 ssN0 dddd address_src", "and rd,address_src(rs)", 0,
  "-ZS---", 7, 16, "0000 0111 0000 dddd imm16", "and rd,imm16", 0,
  "-ZS---", 4, 16, "1000 0111 ssss dddd", "and rd,rs", 0,
  "-ZSP--", 7, 8, "0000 0110 ssN0 dddd", "andb rbd,@rs", 0,
"-ZSP--", 9, 8, "0100 0110 0000 dddd address_src", "andb rbd,address_src", 0,
  "-ZSP--", 10, 8, "0100 0110 ssN0 dddd address_src", "andb rbd,address_src(rs)", 0,
  "-ZSP--", 7, 8, "0000 0110 0000 dddd imm8 imm8", "andb rbd,imm8", 0,
  "-ZSP--", 4, 8, "1000 0110 ssss dddd", "andb rbd,rbs", 0,

  "-Z----", 8, 16, "0010 0111 ddN0 imm4", "bit @rd,imm4", 0,
  "-Z----", 11, 16, "0110 0111 ddN0 imm4 address_dst", "bit address_dst(rd),imm4", 0,
  "-Z----", 10, 16, "0110 0111 0000 imm4 address_dst", "bit address_dst,imm4", 0,
  "-Z----", 4, 16, "1010 0111 dddd imm4", "bit rd,imm4", 0,
"-Z----", 10, 16, "0010 0111 0000 ssss 0000 dddd 0000 0000", "bit rd,rs", 0,

  "-Z----", 8, 8, "0010 0110 ddN0 imm4", "bitb @rd,imm4", 0,
  "-Z----", 11, 8, "0110 0110 ddN0 imm4 address_dst", "bitb address_dst(rd),imm4", 0,
  "-Z----", 10, 8, "0110 0110 0000 imm4 address_dst", "bitb address_dst,imm4", 0,
  "-Z----", 4, 8, "1010 0110 dddd imm4", "bitb rbd,imm4", 0,
"-Z----", 10, 8, "0010 0110 0000 ssss 0000 dddd 0000 0000", "bitb rbd,rs", 0,

  "------", 10, 32, "0001 1111 ddN0 0000", "call @rd", 0,
  "------", 12, 32, "0101 1111 0000 0000 address_dst", "call address_dst", 0,
  "------", 13, 32, "0101 1111 ddN0 0000 address_dst", "call address_dst(rd)", 0,
  "------", 10, 16, "1101 disp12", "calr disp12", 0,

  "------", 8, 16, "0000 1101 ddN0 1000", "clr @rd", 0,
  "------", 11, 16, "0100 1101 0000 1000 address_dst", "clr address_dst", 0,
  "------", 12, 16, "0100 1101 ddN0 1000 address_dst", "clr address_dst(rd)", 0,
  "------", 7, 16, "1000 1101 dddd 1000", "clr rd", 0,
  "------", 8, 8, "0000 1100 ddN0 1000", "clrb @rd", 0,
  "------", 11, 8, "0100 1100 0000 1000 address_dst", "clrb address_dst", 0,
  "------", 12, 8, "0100 1100 ddN0 1000 address_dst", "clrb address_dst(rd)", 0,
  "------", 7, 8, "1000 1100 dddd 1000", "clrb rbd", 0,
  "-ZS---", 12, 16, "0000 1101 ddN0 0000", "com @rd", 0,
  "-ZS---", 15, 16, "0100 1101 0000 0000 address_dst", "com address_dst", 0,
  "-ZS---", 16, 16, "0100 1101 ddN0 0000 address_dst", "com address_dst(rd)", 0,
  "-ZS---", 7, 16, "1000 1101 dddd 0000", "com rd", 0,
  "-ZSP--", 12, 8, "0000 1100 ddN0 0000", "comb @rd", 0,
  "-ZSP--", 15, 8, "0100 1100 0000 0000 address_dst", "comb address_dst", 0,
  "-ZSP--", 16, 8, "0100 1100 ddN0 0000 address_dst", "comb address_dst(rd)", 0,
  "-ZSP--", 7, 8, "1000 1100 dddd 0000", "comb rbd", 0,
  "CZSP--", 7, 16, "1000 1101 imm4 0101", "comflg flags", 0,

  "CZSV--", 11, 16, "0000 1101 ddN0 0001 imm16", "cp @rd,imm16", 0,
  "CZSV--", 15, 16, "0100 1101 ddN0 0001 address_dst imm16", "cp address_dst(rd),imm16", 0,
  "CZSV--", 14, 16, "0100 1101 0000 0001 address_dst imm16", "cp address_dst,imm16", 0,

  "CZSV--", 7, 16, "0000 1011 ssN0 dddd", "cp rd,@rs", 0,
  "CZSV--", 9, 16, "0100 1011 0000 dddd address_src", "cp rd,address_src", 0,
  "CZSV--", 10, 16, "0100 1011 ssN0 dddd address_src", "cp rd,address_src(rs)", 0,
  "CZSV--", 7, 16, "0000 1011 0000 dddd imm16", "cp rd,imm16", 0,
  "CZSV--", 4, 16, "1000 1011 ssss dddd", "cp rd,rs", 0,

  "CZSV--", 11, 8, "0000 1100 ddN0 0001 imm8 imm8", "cpb @rd,imm8", 0,
  "CZSV--", 15, 8, "0100 1100 ddN0 0001 address_dst imm8 imm8", "cpb address_dst(rd),imm8", 0,
  "CZSV--", 14, 8, "0100 1100 0000 0001 address_dst imm8 imm8", "cpb address_dst,imm8", 0,
  "CZSV--", 7, 8, "0000 1010 ssN0 dddd", "cpb rbd,@rs", 0,
"CZSV--", 9, 8, "0100 1010 0000 dddd address_src", "cpb rbd,address_src", 0,
  "CZSV--", 10, 8, "0100 1010 ssN0 dddd address_src", "cpb rbd,address_src(rs)", 0,
  "CZSV--", 7, 8, "0000 1010 0000 dddd imm8 imm8", "cpb rbd,imm8", 0,
  "CZSV--", 4, 8, "1000 1010 ssss dddd", "cpb rbd,rbs", 0,

  "CZSV--", 14, 32, "0001 0000 ssN0 dddd", "cpl rrd,@rs", 0,
  "CZSV--", 15, 32, "0101 0000 0000 dddd address_src", "cpl rrd,address_src", 0,
  "CZSV--", 16, 32, "0101 0000 ssN0 dddd address_src", "cpl rrd,address_src(rs)", 0,
  "CZSV--", 14, 32, "0001 0000 0000 dddd imm32", "cpl rrd,imm32", 0,
  "CZSV--", 8, 32, "1001 0000 ssss dddd", "cpl rrd,rrs", 0,

  "CZS---", 5, 8, "1011 0000 dddd 0000", "dab rbd", 0,
  "------", 11, 16, "1111 dddd 1disp7", "dbjnz rbd,disp7", 0,
  "-ZSV--", 11, 16, "0010 1011 ddN0 imm4m1", "dec @rd,imm4m1", 0,
  "-ZSV--", 14, 16, "0110 1011 ddN0 imm4m1 address_dst", "dec address_dst(rd),imm4m1", 0,
  "-ZSV--", 13, 16, "0110 1011 0000 imm4m1 address_dst", "dec address_dst,imm4m1", 0,
  "-ZSV--", 4, 16, "1010 1011 dddd imm4m1", "dec rd,imm4m1", 0,
  "-ZSV--", 11, 8, "0010 1010 ddN0 imm4m1", "decb @rd,imm4m1", 0,
  "-ZSV--", 14, 8, "0110 1010 ddN0 imm4m1 address_dst", "decb address_dst(rd),imm4m1", 0,
  "-ZSV--", 13, 8, "0110 1010 0000 imm4m1 address_dst", "decb address_dst,imm4m1", 0,
  "-ZSV--", 4, 8, "1010 1010 dddd imm4m1", "decb rbd,imm4m1", 0,

  "------", 7, 16, "0111 1100 0000 00ii", "di i2", 0,
  "CZSV--", 107, 16, "0001 1011 ssN0 dddd", "div rrd,@rs", 0,
  "CZSV--", 107, 16, "0101 1011 0000 dddd address_src", "div rrd,address_src", 0,
  "CZSV--", 107, 16, "0101 1011 ssN0 dddd address_src", "div rrd,address_src(rs)", 0,
  "CZSV--", 107, 16, "0001 1011 0000 dddd imm16", "div rrd,imm16", 0,
  "CZSV--", 107, 16, "1001 1011 ssss dddd", "div rrd,rs", 0,
  "CZSV--", 744, 32, "0001 1010 ssN0 dddd", "divl rqd,@rs", 0,
  "CZSV--", 745, 32, "0101 1010 0000 dddd address_src", "divl rqd,address_src", 0,
  "CZSV--", 746, 32, "0101 1010 ssN0 dddd address_src", "divl rqd,address_src(rs)", 0,
  "CZSV--", 744, 32, "0001 1010 0000 dddd imm32", "divl rqd,imm32", 0,
  "CZSV--", 744, 32, "1001 1010 ssss dddd", "divl rqd,rrs", 0,

  "------", 11, 16, "1111 dddd 0disp7", "djnz rd,disp7", 0,
  "------", 7, 16, "0111 1100 0000 01ii", "ei i2", 0,
  "------", 6, 16, "1010 1101 ssss dddd", "ex rd,rs", 0,
  "------", 12, 16, "0010 1101 ssN0 dddd", "ex rd,@rs", 0,
"------", 15, 16, "0110 1101 0000 dddd address_src", "ex rd,address_src", 0,
  "------", 16, 16, "0110 1101 ssN0 dddd address_src", "ex rd,address_src(rs)", 0,

  "------", 12, 8, "0010 1100 ssN0 dddd", "exb rbd,@rs", 0,
"------", 15, 8, "0110 1100 0000 dddd address_src", "exb rbd,address_src", 0,
  "------", 16, 8, "0110 1100 ssN0 dddd address_src", "exb rbd,address_src(rs)", 0,
  "------", 6, 8, "1010 1100 ssss dddd", "exb rbd,rbs", 0,

  "------", 11, 16, "1011 0001 dddd 1010", "exts rrd", 0,
  "------", 11, 8, "1011 0001 dddd 0000", "extsb rd", 0,
  "------", 11, 32, "1011 0001 dddd 0111", "extsl rqd", 0,

  "------", 8, 16, "0111 1010 0000 0000", "halt", 0,
  "------", 10, 16, "0011 1101 ssN0 dddd", "in rd,@rs", 0,
  "------", 12, 16, "0011 1101 dddd 0100 imm16", "in rd,imm16", 0,
  "------", 12, 8, "0011 1100 ssN0 dddd", "inb rbd,@rs", 0,
  "------", 10, 8, "0011 1100 dddd 0100 imm16", "inb rbd,imm16", 0,
  "-ZSV--", 11, 16, "0010 1001 ddN0 imm4m1", "inc @rd,imm4m1", 0,
  "-ZSV--", 14, 16, "0110 1001 ddN0 imm4m1 address_dst", "inc address_dst(rd),imm4m1", 0,
  "-ZSV--", 13, 16, "0110 1001 0000 imm4m1 address_dst", "inc address_dst,imm4m1", 0,
  "-ZSV--", 4, 16, "1010 1001 dddd imm4m1", "inc rd,imm4m1", 0,
  "-ZSV--", 11, 8, "0010 1000 ddN0 imm4m1", "incb @rd,imm4m1", 0,
  "-ZSV--", 14, 8, "0110 1000 ddN0 imm4m1 address_dst", "incb address_dst(rd),imm4m1", 0,
  "-ZSV--", 13, 8, "0110 1000 0000 imm4m1 address_dst", "incb address_dst,imm4m1", 0,
  "-ZSV--", 4, 8, "1010 1000 dddd imm4m1", "incb rbd,imm4m1", 0,
  "---V--", 21, 16, "0011 1011 ssN0 1000 0000 aaaa ddN0 1000", "ind @rd,@rs,ra", 0,
  "---V--", 21, 8, "0011 1010 ssN0 1000 0000 aaaa ddN0 1000", "indb @rd,@rs,rba", 0,
  "---V--", 21, 8, "0011 1100 ssN0 0000 0000 aaaa ddN0 1000", "inib @rd,@rs,ra", 0,
  "---V--", 21, 16, "0011 1100 ssN0 0000 0000 aaaa ddN0 0000", "inibr @rd,@rs,ra", 0,
  "CZSVDH", 13, 16, "0111 1011 0000 0000", "iret", 0,
  "------", 10, 16, "0001 1110 ddN0 cccc", "jp cc,@rd", 0,
  "------", 7, 16, "0101 1110 0000 cccc address_dst", "jp cc,address_dst", 0,
  "------", 8, 16, "0101 1110 ddN0 cccc address_dst", "jp cc,address_dst(rd)", 0,
  "------", 6, 16, "1110 cccc disp8", "jr cc,disp8", 0,

  "------", 7, 16, "0000 1101 ddN0 0101 imm16", "ld @rd,imm16", 0,
  "------", 8, 16, "0010 1111 ddN0 ssss", "ld @rd,rs", 0,
  "------", 15, 16, "0100 1101 ddN0 0101 address_dst imm16", "ld address_dst(rd),imm16", 0,
  "------", 12, 16, "0110 1111 ddN0 ssss address_dst", "ld address_dst(rd),rs", 0,
  "------", 14, 16, "0100 1101 0000 0101 address_dst imm16", "ld address_dst,imm16", 0,
"------", 11, 16, "0110 1111 0000 ssss address_dst", "ld address_dst,rs", 0,
  "------", 14, 16, "0011 0011 ddN0 ssss imm16", "ld rd(imm16),rs", 0,
  "------", 14, 16, "0111 0011 ddN0 ssss 0000 xxxx 0000 0000", "ld rd(rx),rs", 0,
  "------", 7, 16, "0010 0001 ssN0 dddd", "ld rd,@rs", 0,
  "------", 9, 16, "0110 0001 0000 dddd address_src", "ld rd,address_src", 0,
  "------", 10, 16, "0110 0001 ssN0 dddd address_src", "ld rd,address_src(rs)", 0,
  "------", 7, 16, "0010 0001 0000 dddd imm16", "ld rd,imm16", 0,
  "------", 3, 16, "1010 0001 ssss dddd", "ld rd,rs", 0,
  "------", 14, 16, "0011 0001 ssN0 dddd imm16", "ld rd,rs(imm16)", 0,
  "------", 14, 16, "0111 0001 ssN0 dddd 0000 xxxx 0000 0000", "ld rd,rs(rx)", 0,

  "------", 7, 8, "0000 1100 ddN0 0101 imm8 imm8", "ldb @rd,imm8", 0,
  "------", 8, 8, "0010 1110 ddN0 ssss", "ldb @rd,rbs", 0,
  "------", 15, 8, "0100 1100 ddN0 0101 address_dst imm8 imm8", "ldb address_dst(rd),imm8", 0,
  "------", 12, 8, "0100 1110 ddN0 ssN0 address_dst", "ldb address_dst(rd),rbs", 0,
  "------", 14, 8, "0100 1100 0000 0101 address_dst imm8 imm8", "ldb address_dst,imm8", 0,
"------", 11, 8, "0110 1110 0000 ssss address_dst", "ldb address_dst,rbs", 0,
  "------", 14, 8, "0011 0010 ddN0 ssss imm16", "ldb rd(imm16),rbs", 0,
  "------", 14, 8, "0111 0010 ddN0 ssss 0000 xxxx 0000 0000", "ldb rd(rx),rbs", 0,
  "------", 7, 8, "0010 0000 ssN0 dddd", "ldb rbd,@rs", 0,
"------", 9, 8, "0110 0000 0000 dddd address_src", "ldb rbd,address_src", 0,
  "------", 10, 8, "0110 0000 ssN0 dddd address_src", "ldb rbd,address_src(rs)", 0,
  "------", 5, 8, "1100 dddd imm8", "ldb rbd,imm8", 0,
  "------", 3, 8, "1010 0000 ssss dddd", "ldb rbd,rbs", 0,
  "------", 14, 8, "0011 0000 ssN0 dddd imm16", "ldb rbd,rs(imm16)", 0,
  "------", 14, 8, "0111 0000 ssN0 dddd 0000 xxxx 0000 0000", "ldb rbd,rs(rx)", 0,

  "------", 11, 32, "0001 1101 ddN0 ssss", "ldl @rd,rrs", 0,
  "------", 14, 32, "0101 1101 ddN0 ssss address_dst", "ldl address_dst(rd),rrs", 0,
  "------", 15, 32, "0101 1101 0000 ssss address_dst", "ldl address_dst,rrs", 0,
  "------", 17, 32, "0011 0111 ddN0 ssss imm16", "ldl rd(imm16),rrs", 0,
  "------", 17, 32, "0111 0111 ddN0 ssss 0000 xxxx 0000 0000", "ldl rd(rx),rrs", 0,
  "------", 11, 32, "0001 0100 ssN0 dddd", "ldl rrd,@rs", 0,
  "------", 12, 32, "0101 0100 0000 dddd address_src", "ldl rrd,address_src", 0,
  "------", 13, 32, "0101 0100 ssN0 dddd address_src", "ldl rrd,address_src(rs)", 0,
  "------", 11, 32, "0001 0100 0000 dddd imm32", "ldl rrd,imm32", 0,
  "------", 5, 32, "1001 0100 ssss dddd", "ldl rrd,rrs", 0,
  "------", 17, 32, "0011 0101 ssN0 dddd imm16", "ldl rrd,rs(imm16)", 0,
  "------", 17, 32, "0111 0101 ssN0 dddd 0000 xxxx 0000 0000", "ldl rrd,rs(rx)", 0,

  "------", 12, 16, "0111 0110 0000 dddd address_src", "lda prd,address_src", 0,
  "------", 13, 16, "0111 0110 ssN0 dddd address_src", "lda prd,address_src(rs)", 0,
  "------", 15, 16, "0011 0100 ssN0 dddd imm16", "lda prd,rs(imm16)", 0,
  "------", 15, 16, "0111 0100 ssN0 dddd 0000 xxxx 0000 0000", "lda prd,rs(rx)", 0,
  "------", 15, 16, "0011 0100 0000 dddd disp16", "ldar prd,disp16", 0,
  "------", 7, 32, "0111 1101 ssss 1ccc", "ldctl ctrl,rs", 0,
  "------", 7, 32, "0111 1101 dddd 0ccc", "ldctl rd,ctrl", 0,

  "------", 5, 16, "1011 1101 dddd imm4", "ldk rd,imm4", 0,

  "------", 11, 16, "0001 1100 ddN0 1001 0000 ssss 0000 nminus1", "ldm @rd,rs,n", 0,
  "------", 15, 16, "0101 1100 ddN0 1001 0000 ssN0 0000 nminus1 address_dst", "ldm address_dst(rd),rs,n", 0,
  "------", 14, 16, "0101 1100 0000 1001 0000 ssss 0000 nminus1 address_dst", "ldm address_dst,rs,n", 0,
  "------", 11, 16, "0001 1100 ssN0 0001 0000 dddd 0000 nminus1", "ldm rd,@rs,n", 0,
  "------", 15, 16, "0101 1100 ssN0 0001 0000 dddd 0000 nminus1 address_src", "ldm rd,address_src(rs),n", 0,
  "------", 14, 16, "0101 1100 0000 0001 0000 dddd 0000 nminus1 address_src", "ldm rd,address_src,n", 0,

  "CZSVDH", 12, 16, "0011 1001 ssN0 0000", "ldps @rs", 0,
  "CZSVDH", 16, 16, "0111 1001 0000 0000 address_src", "ldps address_src", 0,
  "CZSVDH", 17, 16, "0111 1001 ssN0 0000 address_src", "ldps address_src(rs)", 0,

  "------", 14, 16, "0011 0011 0000 ssss disp16", "ldr disp16,rs", 0,
  "------", 14, 16, "0011 0001 0000 dddd disp16", "ldr rd,disp16", 0,
  "------", 14, 8, "0011 0010 0000 ssss disp16", "ldrb disp16,rbs", 0,
  "------", 14, 8, "0011 0000 0000 dddd disp16", "ldrb rbd,disp16", 0,
  "------", 17, 32, "0011 0111 0000 ssss disp16", "ldrl disp16,rrs", 0,
  "------", 17, 32, "0011 0101 0000 dddd disp16", "ldrl rrd,disp16", 0,

  "CZS---", 7, 16, "0111 1011 0000 1010", "mbit", 0,
  "-ZS---", 12, 16, "0111 1011 dddd 1101", "mreq rd", 0,
  "------", 5, 16, "0111 1011 0000 1001", "mres", 0,
  "------", 5, 16, "0111 1011 0000 1000", "mset", 0,

  "CZSV--", 70, 16, "0001 1001 ssN0 dddd", "mult rrd,@rs", 0,
  "CZSV--", 70, 16, "0101 1001 0000 dddd address_src", "mult rrd,address_src", 0,
  "CZSV--", 70, 16, "0101 1001 ssN0 dddd address_src", "mult rrd,address_src(rs)", 0,
  "CZSV--", 70, 16, "0001 1001 0000 dddd imm16", "mult rrd,imm16", 0,
  "CZSV--", 70, 16, "1001 1001 ssss dddd", "mult rrd,rs", 0,
  "CZSV--", 282, 32, "0001 1000 ssN0 dddd", "multl rqd,@rs", 0,
  "CZSV--", 282, 32, "0101 1000 0000 dddd address_src", "multl rqd,address_src", 0,
  "CZSV--", 282, 32, "0101 1000 ssN0 dddd address_src", "multl rqd,address_src(rs)", 0,
  "CZSV--", 282, 32, "0001 1000 0000 dddd imm32", "multl rqd,imm32", 0,
  "CZSV--", 282, 32, "1001 1000 ssss dddd", "multl rqd,rrs", 0,
  "CZSV--", 12, 16, "0000 1101 ddN0 0010", "neg @rd", 0,
  "CZSV--", 15, 16, "0100 1101 0000 0010 address_dst", "neg address_dst", 0,
  "CZSV--", 16, 16, "0100 1101 ddN0 0010 address_dst", "neg address_dst(rd)", 0,
  "CZSV--", 7, 16, "1000 1101 dddd 0010", "neg rd", 0,
  "CZSV--", 12, 8, "0000 1100 ddN0 0010", "negb @rd", 0,
  "CZSV--", 15, 8, "0100 1100 0000 0010 address_dst", "negb address_dst", 0,
  "CZSV--", 16, 8, "0100 1100 ddN0 0010 address_dst", "negb address_dst(rd)", 0,
  "CZSV--", 7, 8, "1000 1100 dddd 0010", "negb rbd", 0,

  "------", 7, 16, "1000 1101 0000 0111", "nop", 0,

  "CZS---", 7, 16, "0000 0101 ssN0 dddd", "or rd,@rs", 0,
  "CZS---", 9, 16, "0100 0101 0000 dddd address_src", "or rd,address_src", 0,
  "CZS---", 10, 16, "0100 0101 ssN0 dddd address_src", "or rd,address_src(rs)", 0,
  "CZS---", 7, 16, "0000 0101 0000 dddd imm16", "or rd,imm16", 0,
  "CZS---", 4, 16, "1000 0101 ssss dddd", "or rd,rs", 0,

  "CZSP--", 7, 8, "0000 0100 ssN0 dddd", "orb rbd,@rs", 0,
"CZSP--", 9, 8, "0100 0100 0000 dddd address_src", "orb rbd,address_src", 0,
  "CZSP--", 10, 8, "0100 0100 ssN0 dddd address_src", "orb rbd,address_src(rs)", 0,
  "CZSP--", 7, 8, "0000 0100 0000 dddd imm8 imm8", "orb rbd,imm8", 0,
  "CZSP--", 4, 8, "1000 0100 ssss dddd", "orb rbd,rbs", 0,

  "---V--", 0, 16, "0011 1111 ddN0 ssss", "out @rd,rs", 0,
  "---V--", 0, 16, "0011 1011 ssss 0110 imm16", "out imm16,rs", 0,
  "---V--", 0, 8, "0011 1110 ddN0 ssss", "outb @rd,rbs", 0,
  "---V--", 0, 8, "0011 1010 ssss 0110 imm16", "outb imm16,rbs", 0,
  "---V--", 0, 16, "0011 1011 ssN0 1010 0000 aaaa ddN0 1000", "outd @rd,@rs,ra", 0,
  "---V--", 0, 8, "0011 1010 ssN0 1010 0000 aaaa ddN0 1000", "outdb @rd,@rs,rba", 0,
  "---V--", 0, 8, "0011 1100 ssN0 0010 0000 aaaa ddN0 1000", "outib @rd,@rs,ra", 0,
  "---V--", 0, 16, "0011 1100 ssN0 0010 0000 aaaa ddN0 0000", "outibr @rd,@rs,ra", 0,

  "------", 12, 16, "0001 0111 ssN0 ddN0", "pop @rd,@rs", 0,
  "------", 16, 16, "0101 0111 ssN0 ddN0 address_dst", "pop address_dst(rd),@rs", 0,
  "------", 16, 16, "0101 0111 ssN0 0000 address_dst", "pop address_dst,@rs", 0,
  "------", 8, 16, "1001 0111 ssN0 dddd", "pop rd,@rs", 0,

  "------", 19, 32, "0001 0101 ssN0 ddN0", "popl @rd,@rs", 0,
  "------", 23, 32, "0101 0101 ssN0 ddN0 address_dst", "popl address_dst(rd),@rs", 0,
  "------", 23, 32, "0101 0101 ssN0 0000 address_dst", "popl address_dst,@rs", 0,
  "------", 12, 32, "1001 0101 ssN0 dddd", "popl rrd,@rs", 0,

  "------", 13, 16, "0001 0011 ddN0 ssN0", "push @rd,@rs", 0,
  "------", 14, 16, "0101 0011 ddN0 0000 address_src", "push @rd,address_src", 0,
  "------", 14, 16, "0101 0011 ddN0 ssN0 address_src", "push @rd,address_src(rs)", 0,
  "------", 12, 16, "0000 1101 ddN0 1001 imm16", "push @rd,imm16", 0,
  "------", 9, 16, "1001 0011 ddN0 ssss", "push @rd,rs", 0,

  "------", 20, 32, "0001 0001 ddN0 ssN0", "pushl @rd,@rs", 0,
  "------", 21, 32, "0101 0001 ddN0 ssN0 address_src", "pushl @rd,address_src(rs)", 0,
  "------", 21, 32, "0101 0001 ddN0 0000 address_src", "pushl @rd,address_src", 0,
  "------", 12, 32, "1001 0001 ddN0 ssss", "pushl @rd,rrs", 0,

  "------", 11, 16, "0010 0011 ddN0 imm4", "res @rd,imm4", 0,
  "------", 14, 16, "0110 0011 ddN0 imm4 address_dst", "res address_dst(rd),imm4", 0,
  "------", 13, 16, "0110 0011 0000 imm4 address_dst", "res address_dst,imm4", 0,
  "------", 4, 16, "1010 0011 dddd imm4", "res rd,imm4", 0,
"------", 10, 16, "0010 0011 0000 ssss 0000 dddd 0000 0000", "res rd,rs", 0,

  "------", 11, 8, "0010 0010 ddN0 imm4", "resb @rd,imm4", 0,
  "------", 14, 8, "0110 0010 ddN0 imm4 address_dst", "resb address_dst(rd),imm4", 0,
  "------", 13, 8, "0110 0010 0000 imm4 address_dst", "resb address_dst,imm4", 0,
  "------", 4, 8, "1010 0010 dddd imm4", "resb rbd,imm4", 0,
"------", 10, 8, "0010 0010 0000 ssss 0000 dddd 0000 0000", "resb rbd,rs", 0,

  "CZSV--", 7, 16, "1000 1101 imm4 0011", "resflg imm4", 0,
  "------", 10, 16, "1001 1110 0000 cccc", "ret cc", 0,

  "CZSV--", 6, 16, "1011 0011 dddd 00I0", "rl rd,imm1or2", 0,
  "CZSV--", 6, 8, "1011 0010 dddd 00I0", "rlb rbd,imm1or2", 0,
  "CZSV--", 6, 16, "1011 0011 dddd 10I0", "rlc rd,imm1or2", 0,

  "-Z----", 9, 8, "1011 0010 dddd 10I0", "rlcb rbd,imm1or2", 0,
  "-Z----", 9, 8, "1011 1110 aaaa bbbb", "rldb rbb,rba", 0,

  "CZSV--", 6, 16, "1011 0011 dddd 01I0", "rr rd,imm1or2", 0,
  "CZSV--", 6, 8, "1011 0010 dddd 01I0", "rrb rbd,imm1or2", 0,
  "CZSV--", 6, 16, "1011 0011 dddd 11I0", "rrc rd,imm1or2", 0,

  "-Z----", 9, 8, "1011 0010 dddd 11I0", "rrcb rbd,imm1or2", 0,
  "-Z----", 9, 8, "1011 1100 aaaa bbbb", "rrdb rbb,rba", 0,
  "CZSV--", 5, 16, "1011 0111 ssss dddd", "sbc rd,rs", 0,
  "CZSVDH", 5, 8, "1011 0110 ssss dddd", "sbcb rbd,rbs", 0,

  "CZSVDH", 33, 8, "0111 1111 imm8", "sc imm8", 0,

"CZSV--", 15, 16, "1011 0011 dddd 1011 0000 ssss 0000 0000", "sda rd,rs", 0,
"CZSV--", 15, 8, "1011 0010 dddd 1011 0000 ssss 0000 0000", "sdab rbd,rs", 0,
  "CZSV--", 15, 32, "1011 0011 dddd 1111 0000 ssss 0000 0000", "sdal rrd,rs", 0,

"CZS---", 15, 16, "1011 0011 dddd 0011 0000 ssss 0000 0000", "sdl rd,rs", 0,
"CZS---", 15, 8, "1011 0010 dddd 0011 0000 ssss 0000 0000", "sdlb rbd,rs", 0,
  "CZS---", 15, 32, "1011 0011 dddd 0111 0000 ssss 0000 0000", "sdll rrd,rs", 0,

  "------", 11, 16, "0010 0101 ddN0 imm4", "set @rd,imm4", 0,
  "------", 14, 16, "0110 0101 ddN0 imm4 address_dst", "set address_dst(rd),imm4", 0,
  "------", 13, 16, "0110 0101 0000 imm4 address_dst", "set address_dst,imm4", 0,
  "------", 4, 16, "1010 0101 dddd imm4", "set rd,imm4", 0,
"------", 10, 16, "0010 0101 0000 ssss 0000 dddd 0000 0000", "set rd,rs", 0,
  "------", 11, 8, "0010 0100 ddN0 imm4", "setb @rd,imm4", 0,
  "------", 14, 8, "0110 0100 ddN0 imm4 address_dst", "setb address_dst(rd),imm4", 0,
  "------", 13, 8, "0110 0100 0000 imm4 address_dst", "setb address_dst,imm4", 0,
  "------", 4, 8, "1010 0100 dddd imm4", "setb rbd,imm4", 0,
"------", 10, 8, "0010 0100 0000 ssss 0000 dddd 0000 0000", "setb rbd,rs", 0,

  "CZSV--", 7, 16, "1000 1101 imm4 0001", "setflg imm4", 0,

  "------", 0, 8, "0011 1100 dddd 0101 imm16", "sinb rbd,imm16", 0,
  "------", 0, 8, "0011 1101 dddd 0101 imm16", "sinb rd,imm16", 0,
  "------", 0, 16, "0011 1011 ssN0 1000 0001 aaaa ddN0 1000", "sind @rd,@rs,ra", 0,
  "------", 0, 8, "0011 1010 ssN0 1000 0001 aaaa ddN0 1000", "sindb @rd,@rs,rba", 0,
  "------", 0, 8, "0011 1100 ssN0 0001 0000 aaaa ddN0 1000", "sinib @rd,@rs,ra", 0,
  "------", 0, 16, "0011 1100 ssN0 0001 0000 aaaa ddN0 0000", "sinibr @rd,@rs,ra", 0,

  "CZSV--", 13, 16, "1011 0011 dddd 1001 0000 0000 imm8", "sla rd,imm8", 0,
  "CZSV--", 13, 8, "1011 0010 dddd 1001  0000 0000 imm8", "slab rbd,imm8", 0,
  "CZSV--", 13, 32, "1011 0011 dddd 1101 0000 0000 imm8", "slal rrd,imm8", 0,

  "CZS---", 13, 16, "1011 0011 dddd 0001 0000 0000 imm8", "sll rd,imm8", 0,
  "CZS---", 13, 8, "1011 0010 dddd 0001  0000 0000 imm8", "sllb rbd,imm8", 0,
  "CZS---", 13, 32, "1011 0011 dddd 0101 0000 0000 imm8", "slll rrd,imm8", 0,

  "------", 0, 16, "0011 1011 ssss 0111 imm16", "sout imm16,rs", 0,
  "------", 0, 8, "0011 1010 ssss 0111 imm16", "soutb imm16,rbs", 0,
  "------", 0, 16, "0011 1011 ssN0 1011 0000 aaaa ddN0 1000", "soutd @rd,@rs,ra", 0,
  "------", 0, 8, "0011 1010 ssN0 1011 0000 aaaa ddN0 1000", "soutdb @rd,@rs,rba", 0,
  "------", 0, 8, "0011 1100 ssN0 0011 0000 aaaa ddN0 1000", "soutib @rd,@rs,ra", 0,
  "------", 0, 16, "0011 1100 ssN0 0011 0000 aaaa ddN0 0000", "soutibr @rd,@rs,ra", 0,

  "CZSV--", 13, 16, "1011 0011 dddd 1001 1111 1111 nim8", "sra rd,imm8", 0,
  "CZSV--", 13, 8, "1011 0010 dddd 1001 1111 1111 nim8", "srab rbd,imm8", 0,
  "CZSV--", 13, 32, "1011 0011 dddd 1101 1111 1111 nim8", "sral rrd,imm8", 0,

  "CZSV--", 13, 16, "1011 0011 dddd 0001 1111 1111 nim8", "srl rd,imm8", 0,
  "CZSV--", 13, 8, "1011 0010 dddd 0001 1111 1111 nim8", "srlb rbd,imm8", 0,
  "CZSV--", 13, 32, "1011 0011 dddd 0101 1111 1111 nim8", "srll rrd,imm8", 0,

  "CZSV--", 7, 16, "0000 0011 ssN0 dddd", "sub rd,@rs", 0,
"CZSV--", 9, 16, "0100 0011 0000 dddd address_src", "sub rd,address_src", 0,
  "CZSV--", 10, 16, "0100 0011 ssN0 dddd address_src", "sub rd,address_src(rs)", 0,
  "CZSV--", 7, 16, "0000 0010 0000 dddd imm16", "sub rd,imm16", 0,
  "CZSV--", 4, 16, "1000 0011 ssss dddd", "sub rd,rs", 0,

  "CZSVDH", 7, 8, "0000 0010 ssN0 dddd", "subb rbd,@rs", 0,
"CZSVDH", 9, 8, "0100 0010 0000 dddd address_src", "subb rbd,address_src", 0,
  "CZSVDH", 10, 8, "0100 0010 ssN0 dddd address_src", "subb rbd,address_src(rs)", 0,
  "CZSVDH", 7, 8, "0000 0010 0000 dddd imm8 imm8", "subb rbd,imm8", 0,
  "CZSVDH", 4, 8, "1000 0010 ssss dddd", "subb rbd,rbs", 0,

  "CZSV--", 14, 32, "0001 0010 ssN0 dddd", "subl rrd,@rs", 0,
  "CZSV--", 15, 32, "0101 0010 0000 dddd address_src", "subl rrd,address_src", 0,
  "CZSV--", 16, 32, "0101 0010 ssN0 dddd address_src", "subl rrd,address_src(rs)", 0,
  "CZSV--", 14, 32, "0001 0010 0000 dddd imm32", "subl rrd,imm32", 0,
  "CZSV--", 8, 32, "1001 0010 ssss dddd", "subl rrd,rrs", 0,

  "------", 5, 16, "1010 1111 dddd cccc", "tcc cc,rd", 0,
  "------", 5, 8, "1010 1110 dddd cccc", "tccb cc,rbd", 0,

  "-ZS---", 8, 16, "0000 1101 ddN0 0100", "test @rd", 0,
  "------", 11, 16, "0100 1101 0000 0100 address_dst", "test address_dst", 0,
  "------", 12, 16, "0100 1101 ddN0 0100 address_dst", "test address_dst(rd)", 0,
  "------", 7, 16, "1000 1101 dddd 0100", "test rd", 0,

  "-ZSP--", 8, 8, "0000 1100 ddN0 0100", "testb @rd", 0,
  "-ZSP--", 11, 8, "0100 1100 0000 0100 address_dst", "testb address_dst", 0,
  "-ZSP--", 12, 8, "0100 1100 ddN0 0100 address_dst", "testb address_dst(rd)", 0,
  "-ZSP--", 7, 8, "1000 1100 dddd 0100", "testb rbd", 0,

  "-ZS---", 13, 32, "0001 1100 ddN0 1000", "testl @rd", 0,
"-ZS---", 16, 32, "0101 1100 0000 1000 address_dst", "testl address_dst", 0,
  "-ZS---", 17, 32, "0101 1100 ddN0 1000 address_dst", "testl address_dst(rd)", 0,
  "-ZS---", 13, 32, "1001 1100 dddd 1000", "testl rrd", 0,

  "-ZSV--", 25, 8, "1011 1000 ddN0 1000 0000 aaaa ssN0 0000", "trdb @rd,@rs,rba", 0,
  "-ZSV--", 25, 8, "1011 1000 ddN0 1100 0000 aaaa ssN0 0000", "trdrb @rd,@rs,rba", 0,
  "-ZSV--", 25, 8, "1011 1000 ddN0 0000 0000 rrrr ssN0 0000", "trib @rd,@rs,rbr", 0,
  "-ZSV--", 25, 8, "1011 1000 ddN0 0100 0000 rrrr ssN0 0000", "trirb @rd,@rs,rbr", 0,
  "-ZSV--", 25, 8, "1011 1000 aaN0 1110 0000 rrrr bbN0 1110", "trtdrb @ra,@rb,rbr", 0,
  "-ZSV--", 25, 8, "1011 1000 aaN0 0010 0000 rrrr bbN0 0000", "trtib @ra,@rb,rr", 0,
  "-ZSV--", 25, 8, "1011 1000 aaN0 0110 0000 rrrr bbN0 1110", "trtirb @ra,@rb,rbr", 0,
  "-ZSV--", 25, 8, "1011 1000 aaN0 1010 0000 rrrr bbN0 0000", "trtrb @ra,@rb,rbr", 0,

  "--S---", 11, 16, "0000 1101 ddN0 0110", "tset @rd", 0,
  "--S---", 14, 16, "0100 1101 0000 0110 address_dst", "tset address_dst", 0,
  "--S---", 15, 16, "0100 1101 ddN0 0110 address_dst", "tset address_dst(rd)", 0,
  "--S---", 7, 16, "1000 1101 dddd 0110", "tset rd", 0,

  "--S---", 11, 8, "0000 1100 ddN0 0110", "tsetb @rd", 0,
  "--S---", 14, 8, "0100 1100 0000 0110 address_dst", "tsetb address_dst", 0,
  "--S---", 15, 8, "0100 1100 ddN0 0110 address_dst", "tsetb address_dst(rd)", 0,
  "--S---", 7, 8, "1000 1100 dddd 0110", "tsetb rbd", 0,

  "-ZS---", 7, 16, "0000 1001 ssN0 dddd", "xor rd,@rs", 0,
"-ZS---", 9, 16, "0100 1001 0000 dddd address_src", "xor rd,address_src", 0,
  "-ZS---", 10, 16, "0100 1001 ssN0 dddd address_src", "xor rd,address_src(rs)", 0,
  "-ZS---", 7, 16, "0000 1001 0000 dddd imm16", "xor rd,imm16", 0,
  "-ZS---", 4, 16, "1000 1001 ssss dddd", "xor rd,rs", 0,

  "-ZSP--", 7, 8, "0000 1000 ssN0 dddd", "xorb rbd,@rs", 0,
"-ZSP--", 9, 8, "0100 1000 0000 dddd address_src", "xorb rbd,address_src", 0,
  "-ZSP--", 10, 8, "0100 1000 ssN0 dddd address_src", "xorb rbd,address_src(rs)", 0,
  "-ZSP--", 7, 8, "0000 1000 0000 dddd imm8 imm8", "xorb rbd,imm8", 0,
  "-ZSP--", 4, 8, "1000 1000 ssss dddd", "xorb rbd,rbs", 0,
  "*", 4, 8, "1000 1000 ssss dddd", "xorb rbd,rbs", 0,
  "*", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};

int
count ()
{
  struct op *p = opt;
  int r = 0;

  while (p->name)
    {
      r++;
      p++;
    }
  return r;

}

static
int
func (a, b)
     struct op *a;
     struct op *b;
{
  return strcmp ((a)->name, (b)->name);
}


/* opcode

 literal  0000 nnnn insert nnn into stream
 operand  0001 nnnn  insert operand reg nnn into stream
*/

struct tok_struct
{

  char *match;
  char *token;
  int length;
};

struct tok_struct args[] =
{

  {"address_src(rs)", "CLASS_X+(ARG_RS)",},
  {"address_dst(rd)", "CLASS_X+(ARG_RD)",},

  {"rs(imm16)", "CLASS_BA+(ARG_RS)",},
  {"rd(imm16)", "CLASS_BA+(ARG_RD)",},
  {"prd",       "CLASS_PR+(ARG_RD)",},
  {"address_src", "CLASS_DA+(ARG_SRC)",},
  {"address_dst", "CLASS_DA+(ARG_DST)",},
  {"rd(rx)", "CLASS_BX+(ARG_RD)",},
  {"rs(rx)", "CLASS_BX+(ARG_RS)",},

  {"disp16", "CLASS_DISP",},
  {"disp12", "CLASS_DISP",},
  {"disp7", "CLASS_DISP",},
  {"disp8", "CLASS_DISP",},
  {"flags", "CLASS_FLAGS",},

  {"imm16", "CLASS_IMM+(ARG_IMM16)",},
  {"imm1or2", "CLASS_IMM+(ARG_IMM1OR2)",},
  {"imm32", "CLASS_IMM+(ARG_IMM32)",},
  {"imm4m1", "CLASS_IMM +(ARG_IMM4M1)",},
  {"imm4", "CLASS_IMM +(ARG_IMM4)",},
  {"n", "CLASS_IMM + (ARG_IMMN)",},
  {"ctrl", "CLASS_CTRL",},
  {"rba", "CLASS_REG_BYTE+(ARG_RA)",},
  {"rbb", "CLASS_REG_BYTE+(ARG_RB)",},
  {"rbd", "CLASS_REG_BYTE+(ARG_RD)",},
  {"rbs", "CLASS_REG_BYTE+(ARG_RS)",},
  {"rbr", "CLASS_REG_BYTE+(ARG_RR)",},

  {"rrd", "CLASS_REG_LONG+(ARG_RD)",},
  {"rrs", "CLASS_REG_LONG+(ARG_RS)",},

  {"rqd", "CLASS_REG_QUAD+(ARG_RD)",},

  {"rd", "CLASS_REG_WORD+(ARG_RD)",},
  {"rs", "CLASS_REG_WORD+(ARG_RS)",},

  {"@rd", "CLASS_IR+(ARG_RD)",},
  {"@ra", "CLASS_IR+(ARG_RA)",},
  {"@rb", "CLASS_IR+(ARG_RB)",},
  {"@rs", "CLASS_IR+(ARG_RS)",},

  {"imm8", "CLASS_IMM+(ARG_IMM8)",},
  {"i2", "CLASS_IMM+(ARG_IMM2)",},
  {"cc", "CLASS_CC",},

  {"rr", "CLASS_REG_WORD+(ARG_RR)",},
  {"ra", "CLASS_REG_WORD+(ARG_RA)",},
  {"rs", "CLASS_REG_WORD+(ARG_RS)",},

  {"1", "CLASS_IMM+(ARG_IMM_1)",},
  {"2", "CLASS_IMM+(ARG_IMM_2)",},

  0, 0
};

struct tok_struct toks[] =
{
  "0000", "CLASS_BIT+0", 1,
  "0001", "CLASS_BIT+1", 1,
  "0010", "CLASS_BIT+2", 1,
  "0011", "CLASS_BIT+3", 1,
  "0100", "CLASS_BIT+4", 1,
  "0101", "CLASS_BIT+5", 1,
  "0110", "CLASS_BIT+6", 1,
  "0111", "CLASS_BIT+7", 1,
  "1000", "CLASS_BIT+8", 1,
  "1001", "CLASS_BIT+9", 1,
  "1010", "CLASS_BIT+0xa", 1,
  "1011", "CLASS_BIT+0xb", 1,
  "1100", "CLASS_BIT+0xc", 1,
  "1101", "CLASS_BIT+0xd", 1,
  "1110", "CLASS_BIT+0xe", 1,
  "1111", "CLASS_BIT+0xf", 1,

  "00I0", "CLASS_BIT_1OR2+0", 1,
  "00I0", "CLASS_BIT_1OR2+1", 1,
  "00I0", "CLASS_BIT_1OR2+2", 1,
  "00I0", "CLASS_BIT_1OR2+3", 1,
  "01I0", "CLASS_BIT_1OR2+4", 1,
  "01I0", "CLASS_BIT_1OR2+5", 1,
  "01I0", "CLASS_BIT_1OR2+6", 1,
  "01I0", "CLASS_BIT_1OR2+7", 1,
  "10I0", "CLASS_BIT_1OR2+8", 1,
  "10I0", "CLASS_BIT_1OR2+9", 1,
  "10I0", "CLASS_BIT_1OR2+0xa", 1,
  "10I0", "CLASS_BIT_1OR2+0xb", 1,
  "11I0", "CLASS_BIT_1OR2+0xc", 1,
  "11I0", "CLASS_BIT_1OR2+0xd", 1,
  "11I0", "CLASS_BIT_1OR2+0xe", 1,
  "11I0", "CLASS_BIT_1OR2+0xf", 1,

  "ssss", "CLASS_REG+(ARG_RS)", 1,
  "dddd", "CLASS_REG+(ARG_RD)", 1,
  "aaaa", "CLASS_REG+(ARG_RA)", 1,
  "bbbb", "CLASS_REG+(ARG_RB)", 1,
  "rrrr", "CLASS_REG+(ARG_RR)", 1,

  "ssN0", "CLASS_REGN0+(ARG_RS)", 1,
  "ddN0", "CLASS_REGN0+(ARG_RD)", 1,
  "aaN0", "CLASS_REGN0+(ARG_RA)", 1,
  "bbN0", "CLASS_REGN0+(ARG_RB)", 1,
  "rrN0", "CLASS_REGN0+(ARG_RR)", 1,

  "cccc", "CLASS_CC", 1,
  "nnnn", "CLASS_IMM+(ARG_IMMN)", 1,
  "xxxx", "CLASS_REG+(ARG_RX)", 1,
  "xxN0", "CLASS_REGN0+(ARG_RX)", 1,
  "nminus1", "CLASS_IMM+(ARG_IMMNMINUS1)", 1,

  "disp16", "CLASS_DISP+(ARG_DISP16)", 4,
  "disp12", "CLASS_DISP+(ARG_DISP12)", 3,
  "flags", "CLASS_FLAGS", 1,
  "address_dst", "CLASS_ADDRESS+(ARG_DST)", 4,
  "address_src", "CLASS_ADDRESS+(ARG_SRC)", 4,
  "imm4m1", "CLASS_IMM+(ARG_IMM4M1)", 1,
  "imm4", "CLASS_IMM+(ARG_IMM4)", 1,

  "imm8", "CLASS_IMM+(ARG_IMM8)", 2,
  "imm16", "CLASS_IMM+(ARG_IMM16)", 4,
  "imm32", "CLASS_IMM+(ARG_IMM32)", 8,
  "nim8", "CLASS_IMM+(ARG_NIM8)", 2,
  "0ccc", "CLASS_0CCC", 1,
  "1ccc", "CLASS_1CCC", 1,
  "disp8", "CLASS_DISP8", 2,
  "0disp7", "CLASS_0DISP7", 2,
  "1disp7", "CLASS_1DISP7", 2,
  "01ii", "CLASS_01II", 1,
  "00ii", "CLASS_00II", 1,
  0, 0

};

char *
translate (table, x, length)
     struct tok_struct *table;
     char *x;
     int *length;
{

  int found;

  found = 0;
  while (table->match)
    {
      int l = strlen (table->match);

      if (strncmp (table->match, x, l) == 0)
	{
	  /* Got a hit */
	  printf ("%s", table->token);
	  *length += table->length;
	  return x + l;
	}

      table++;
    }
  fprintf (stderr, "Can't find %s\n", x);
  printf ("**** Can't find %s\n", x);
  while (*x)
    x++;
  return x;
}

void
chewbits (bits, length)
     char *bits;
     int *length;
{
  int n = 0;

  *length = 0;
  printf ("{");
  while (*bits)
    {
      while (*bits == ' ')
	{
	  bits++;
	}
      bits = translate (toks, bits, length);
      n++;
      printf (",");

    }
  while (n < BYTE_INFO_LEN - 1)
    {
      printf ("0,");
      n++;
    }
  printf ("}");
}


static
int
chewname (name)
     char *name;
{
  char *n;
  int nargs = 0;

  n = name;
  printf ("\"");
  while (*n && !iswhite (*n))
    {
      printf ("%c", *n);
      n++;
    }
  printf ("\",");		/* Scan the operands and make entires for
				   them -remember indirect things */

  n = name;
  printf ("OPC_");
  while (*n && !iswhite (*n))
    {
      printf ("%c", *n);
      n++;
    }
  printf (",0,{");

  while (*n)
    {
      int d;

      while (*n == ',' || iswhite (*n))
	n++;
      nargs++;
      n = translate (args, n, &d);
      printf (",");
    }
  if (nargs == 0)
    {
      printf ("0");
    }
  printf ("},");
  return nargs;
}

static 
void
sub (x, c)
     char *x;
     char c;
{
  while (*x)
    {
      if (x[0] == c && x[1] == c &&
	  x[2] == c && x[3] == c)
	{
	  x[2] = 'N';
	  x[3] = '0';
	}
      x++;
    }
}


#if 0
#define D(x) ((x) == '1' || (x) =='0')
#define M(y) (strncmp(y,x,4)==0)
printmangled (x)
     char *x;
{
  return;
  while (*x)
    {
      if (D (x[0]) && D (x[1]) && D (x[2]) && D (x[3]))
	{
	  printf ("XXXX");
	}
      else if (M ("ssss"))
	{
	  printf ("ssss");
	}
      else if (M ("dddd"))
	{
	  printf ("dddd");
	}
      else
	printf ("____");

      x += 4;

      if (x[0] == ' ')
	{
	  printf ("_");
	  x++;
	}
    }

}

#endif
/*#define WORK_TYPE*/
void
print_type (n)
     struct op *n;
{
#ifdef WORK_TYPE
  while (*s && !iswhite (*s))
    {
      l = *s;
      s++;
    }
  switch (l)
    {
    case 'l':
      printf ("32,");
      break;
    case 'b':
      printf ("8,");
      break;
    default:
      printf ("16,");
      break;
    }
#else
  printf ("%2d,", n->type);
#endif
}


void
internal ()
{
  int c = count ();
  struct op *new = xmalloc (sizeof (struct op) * c);
  struct op *p = opt;
  memcpy (new, p, c * sizeof (struct op));

  /* sort all names in table alphabetically */
  qsort (new, c, sizeof (struct op), func);

  p = new;
  while (p->flags[0] != '*')
  {
    /* If there are any @rs, sub the ssss into a ssn0,
       (rs), (ssn0)
       */
    int loop = 1;

    printf ("\"%s\",%2d, ", p->flags, p->cycles);
    while (loop)
    {
      char *s = p->name;

      loop = 0;
      while (*s)
      {
	if (s[0] == '@')
	{
	  char c;

	  /* skip the r and sub the string */
	  s++;
	  c = s[1];
	  sub (p->bits, c);
	}
	if (s[0] == '(' && s[3] == ')')
	{
	  sub (p->bits, s[2]);
	}
	if (s[0] == '(')
	{
	  sub (p->bits, s[-1]);
	}

	s++;
      }

    }
    print_type (p);
    printf ("\"%s\",\"%s\",0,\n", p->bits, p->name);
    p++;
  }
}

static 
void
gas ()
{
  int c = count ();
  struct op *p = opt;
  int idx = 0;
  char *oldname = "";
  struct op *new = xmalloc (sizeof (struct op) * c);

  memcpy (new, p, c * sizeof (struct op));

  /* sort all names in table alphabetically */
  qsort (new, c, sizeof (struct op), func);

  printf ("			/* THIS FILE IS AUTOMAGICALLY GENERATED, DON'T EDIT IT */\n");

  printf ("#define ARG_MASK 0x0f\n");

  printf ("#define ARG_SRC 0x01\n");
  printf ("#define ARG_DST 0x02\n");

  printf ("#define ARG_RS 0x01\n");
  printf ("#define ARG_RD 0x02\n");
  printf ("#define ARG_RA 0x03\n");
  printf ("#define ARG_RB 0x04\n");
  printf ("#define ARG_RR 0x05\n");
  printf ("#define ARG_RX 0x06\n");
  printf ("#define ARG_IMM4 0x01\n");
  printf ("#define ARG_IMM8 0x02\n");
  printf ("#define ARG_IMM16 0x03\n");
  printf ("#define ARG_IMM32 0x04\n");
  printf ("#define ARG_IMMN 0x05\n");
  printf ("#define ARG_IMMNMINUS1 0x05\n");
  printf ("#define ARG_IMM_1 0x06\n");
  printf ("#define ARG_IMM_2 0x07\n");
  printf ("#define ARG_DISP16 0x08\n");
  printf ("#define ARG_NIM8 0x09\n");
  printf ("#define ARG_IMM2 0x0a\n");
  printf ("#define ARG_IMM1OR2 0x0b\n");

  printf ("#define ARG_DISP12 0x0b\n");
  printf ("#define ARG_DISP8 0x0c\n");
  printf ("#define ARG_IMM4M1 0x0d\n");
  printf ("#define CLASS_MASK 0x1fff0\n");
  printf ("#define CLASS_X 0x10\n");
  printf ("#define CLASS_BA 0x20\n");
  printf ("#define CLASS_DA 0x30\n");
  printf ("#define CLASS_BX 0x40\n");
  printf ("#define CLASS_DISP 0x50\n");
  printf ("#define CLASS_IMM 0x60\n");
  printf ("#define CLASS_CC 0x70\n");
  printf ("#define CLASS_CTRL 0x80\n");
  printf ("#define CLASS_ADDRESS 0xd0\n");
  printf ("#define CLASS_0CCC 0xe0\n");
  printf ("#define CLASS_1CCC 0xf0\n");
  printf ("#define CLASS_0DISP7 0x100\n");
  printf ("#define CLASS_1DISP7 0x200\n");
  printf ("#define CLASS_01II 0x300\n");
  printf ("#define CLASS_00II 0x400\n");
  printf ("#define CLASS_BIT 0x500\n");
  printf ("#define CLASS_FLAGS 0x600\n");
  printf ("#define CLASS_IR 0x700\n");
  printf ("#define CLASS_DISP8 0x800\n");

  printf ("#define CLASS_BIT_1OR2 0x900\n");
  printf ("#define CLASS_REG 0x7000\n");
  printf ("#define CLASS_REG_BYTE 0x2000\n");
  printf ("#define CLASS_REG_WORD 0x3000\n");
  printf ("#define CLASS_REG_QUAD 0x4000\n");
  printf ("#define CLASS_REG_LONG 0x5000\n");
  printf ("#define CLASS_REGN0 0x8000\n");
  printf ("#define CLASS_PR 0x10000\n");

  printf ("#define OPC_adc 0\n");
  printf ("#define OPC_adcb 1\n");
  printf ("#define OPC_add 2\n");
  printf ("#define OPC_addb 3\n");
  printf ("#define OPC_addl 4\n");
  printf ("#define OPC_and 5\n");
  printf ("#define OPC_andb 6\n");
  printf ("#define OPC_bit 7\n");
  printf ("#define OPC_bitb 8\n");
  printf ("#define OPC_call 9\n");
  printf ("#define OPC_calr 10\n");
  printf ("#define OPC_clr 11\n");
  printf ("#define OPC_clrb 12\n");
  printf ("#define OPC_com 13\n");
  printf ("#define OPC_comb 14\n");
  printf ("#define OPC_comflg 15\n");
  printf ("#define OPC_cp 16\n");
  printf ("#define OPC_cpb 17\n");
  printf ("#define OPC_cpd 18\n");
  printf ("#define OPC_cpdb 19\n");
  printf ("#define OPC_cpdr 20\n");
  printf ("#define OPC_cpdrb 21\n");
  printf ("#define OPC_cpi 22\n");
  printf ("#define OPC_cpib 23\n");
  printf ("#define OPC_cpir 24\n");
  printf ("#define OPC_cpirb 25\n");
  printf ("#define OPC_cpl 26\n");
  printf ("#define OPC_cpsd 27\n");
  printf ("#define OPC_cpsdb 28\n");
  printf ("#define OPC_cpsdr 29\n");
  printf ("#define OPC_cpsdrb 30\n");
  printf ("#define OPC_cpsi 31\n");
  printf ("#define OPC_cpsib 32\n");
  printf ("#define OPC_cpsir 33\n");
  printf ("#define OPC_cpsirb 34\n");
  printf ("#define OPC_dab 35\n");
  printf ("#define OPC_dbjnz 36\n");
  printf ("#define OPC_dec 37\n");
  printf ("#define OPC_decb 38\n");
  printf ("#define OPC_di 39\n");
  printf ("#define OPC_div 40\n");
  printf ("#define OPC_divl 41\n");
  printf ("#define OPC_djnz 42\n");
  printf ("#define OPC_ei 43\n");
  printf ("#define OPC_ex 44\n");
  printf ("#define OPC_exb 45\n");
  printf ("#define OPC_exts 46\n");
  printf ("#define OPC_extsb 47\n");
  printf ("#define OPC_extsl 48\n");
  printf ("#define OPC_halt 49\n");
  printf ("#define OPC_in 50\n");
  printf ("#define OPC_inb 51\n");
  printf ("#define OPC_inc 52\n");
  printf ("#define OPC_incb 53\n");
  printf ("#define OPC_ind 54\n");
  printf ("#define OPC_indb 55\n");
  printf ("#define OPC_inib 56\n");
  printf ("#define OPC_inibr 57\n");
  printf ("#define OPC_iret 58\n");
  printf ("#define OPC_jp 59\n");
  printf ("#define OPC_jr 60\n");
  printf ("#define OPC_ld 61\n");
  printf ("#define OPC_lda 62\n");
  printf ("#define OPC_ldar 63\n");
  printf ("#define OPC_ldb 64\n");
  printf ("#define OPC_ldctl 65\n");
  printf ("#define OPC_ldir 66\n");
  printf ("#define OPC_ldirb 67\n");
  printf ("#define OPC_ldk 68\n");
  printf ("#define OPC_ldl 69\n");
  printf ("#define OPC_ldm 70\n");
  printf ("#define OPC_ldps 71\n");
  printf ("#define OPC_ldr 72\n");
  printf ("#define OPC_ldrb 73\n");
  printf ("#define OPC_ldrl 74\n");
  printf ("#define OPC_mbit 75\n");
  printf ("#define OPC_mreq 76\n");
  printf ("#define OPC_mres 77\n");
  printf ("#define OPC_mset 78\n");
  printf ("#define OPC_mult 79\n");
  printf ("#define OPC_multl 80\n");
  printf ("#define OPC_neg 81\n");
  printf ("#define OPC_negb 82\n");
  printf ("#define OPC_nop 83\n");
  printf ("#define OPC_or 84\n");
  printf ("#define OPC_orb 85\n");
  printf ("#define OPC_out 86\n");
  printf ("#define OPC_outb 87\n");
  printf ("#define OPC_outd 88\n");
  printf ("#define OPC_outdb 89\n");
  printf ("#define OPC_outib 90\n");
  printf ("#define OPC_outibr 91\n");
  printf ("#define OPC_pop 92\n");
  printf ("#define OPC_popl 93\n");
  printf ("#define OPC_push 94\n");
  printf ("#define OPC_pushl 95\n");
  printf ("#define OPC_res 96\n");
  printf ("#define OPC_resb 97\n");
  printf ("#define OPC_resflg 98\n");
  printf ("#define OPC_ret 99\n");
  printf ("#define OPC_rl 100\n");
  printf ("#define OPC_rlb 101\n");
  printf ("#define OPC_rlc 102\n");
  printf ("#define OPC_rlcb 103\n");
  printf ("#define OPC_rldb 104\n");
  printf ("#define OPC_rr 105\n");
  printf ("#define OPC_rrb 106\n");
  printf ("#define OPC_rrc 107\n");
  printf ("#define OPC_rrcb 108\n");
  printf ("#define OPC_rrdb 109\n");
  printf ("#define OPC_sbc 110\n");
  printf ("#define OPC_sbcb 111\n");
  printf ("#define OPC_sda 112\n");
  printf ("#define OPC_sdab 113\n");
  printf ("#define OPC_sdal 114\n");
  printf ("#define OPC_sdl 115\n");
  printf ("#define OPC_sdlb 116\n");
  printf ("#define OPC_sdll 117\n");
  printf ("#define OPC_set 118\n");
  printf ("#define OPC_setb 119\n");
  printf ("#define OPC_setflg 120\n");
  printf ("#define OPC_sinb 121\n");
  printf ("#define OPC_sind 122\n");
  printf ("#define OPC_sindb 123\n");
  printf ("#define OPC_sinib 124\n");
  printf ("#define OPC_sinibr 125\n");
  printf ("#define OPC_sla 126\n");
  printf ("#define OPC_slab 127\n");
  printf ("#define OPC_slal 128\n");
  printf ("#define OPC_sll 129\n");
  printf ("#define OPC_sllb 130\n");
  printf ("#define OPC_slll 131\n");
  printf ("#define OPC_sout 132\n");
  printf ("#define OPC_soutb 133\n");
  printf ("#define OPC_soutd 134\n");
  printf ("#define OPC_soutdb 135\n");
  printf ("#define OPC_soutib 136\n");
  printf ("#define OPC_soutibr 137\n");
  printf ("#define OPC_sra 138\n");
  printf ("#define OPC_srab 139\n");
  printf ("#define OPC_sral 140\n");
  printf ("#define OPC_srl 141\n");
  printf ("#define OPC_srlb 142\n");
  printf ("#define OPC_srll 143\n");
  printf ("#define OPC_sub 144\n");
  printf ("#define OPC_subb 145\n");
  printf ("#define OPC_subl 146\n");
  printf ("#define OPC_tcc 147\n");
  printf ("#define OPC_tccb 148\n");
  printf ("#define OPC_test 149\n");
  printf ("#define OPC_testb 150\n");
  printf ("#define OPC_testl 151\n");
  printf ("#define OPC_trdb 152\n");
  printf ("#define OPC_trdrb 153\n");
  printf ("#define OPC_trib 154\n");
  printf ("#define OPC_trirb 155\n");
  printf ("#define OPC_trtdrb 156\n");
  printf ("#define OPC_trtib 157\n");
  printf ("#define OPC_trtirb 158\n");
  printf ("#define OPC_trtrb 159\n");
  printf ("#define OPC_tset 160\n");
  printf ("#define OPC_tsetb 161\n");
  printf ("#define OPC_xor 162\n");
  printf ("#define OPC_xorb 163\n");

  printf ("#define OPC_ldd  164 \n");
  printf ("#define OPC_lddb  165 \n");
  printf ("#define OPC_lddr  166 \n");
  printf ("#define OPC_lddrb 167  \n");
  printf ("#define OPC_ldi  168 \n");
  printf ("#define OPC_ldib 169  \n");
  printf ("#define OPC_sc   170\n");
  printf ("#define OPC_bpt   171\n");
  printf ("#define OPC_ext0e 172\n");
  printf ("#define OPC_ext0f 172\n");
  printf ("#define OPC_ext8e 172\n");
  printf ("#define OPC_ext8f 172\n");
  printf ("#define OPC_rsvd36 172\n");
  printf ("#define OPC_rsvd38 172\n");
  printf ("#define OPC_rsvd78 172\n");
  printf ("#define OPC_rsvd7e 172\n");
  printf ("#define OPC_rsvd9d 172\n");
  printf ("#define OPC_rsvd9f 172\n");
  printf ("#define OPC_rsvdb9 172\n");
  printf ("#define OPC_rsvdbf 172\n");
#if 0
  for (i = 0; toks[i].token; i++)
    printf ("#define %s\t0x%x\n", toks[i].token, i * 16);
#endif
  printf ("typedef struct {\n");

  printf ("#ifdef NICENAMES\n");
  printf ("char *nicename;\n");
  printf ("int type;\n");
  printf ("int cycles;\n");
  printf ("int flags;\n");
  printf ("#endif\n");
  printf ("char *name;\n");
  printf ("unsigned char opcode;\n");
  printf ("void (*func)();\n");
  printf ("unsigned int arg_info[4];\n");
  printf ("unsigned int byte_info[%d];\n", BYTE_INFO_LEN);
  printf ("int noperands;\n");
  printf ("int length;\n");
  printf ("int idx;\n");
  printf ("} opcode_entry_type;\n");
  printf ("#ifdef DEFINE_TABLE\n");
  printf ("opcode_entry_type z8k_table[] = {\n");

  while (new->flags && new->flags[0])
    {
      int nargs;
      int length;

      printf ("\n\n/* %s *** %s */\n", new->bits, new->name);
      printf ("{\n");

      printf ("#ifdef NICENAMES\n");
      printf ("\"%s\",%d,%d,\n", new->name, new->type, new->cycles);
      {
	int answer = 0;
	char *p = new->flags;

	while (*p)
	  {
	    answer <<= 1;

	    if (*p != '-')
	      answer |= 1;
	    p++;
	  }
	printf ("0x%02x,\n", answer);
      }

      printf ("#endif\n");

      nargs = chewname (new->name);

      printf ("\n\t");
      chewbits (new->bits, &length);
      length /= 2;
      if (length & 1)
	abort();

      printf (",%d,%d,%d", nargs, length, idx);
      idx++;
      oldname = new->name;
      printf ("},\n");
      new++;
    }
  printf ("0,0};\n");
  printf ("#endif\n");
}


int
main (ac, av)
     int ac;
     char **av;
{
  struct op *p = opt;

  if (ac == 2 && strcmp (av[1], "-t") == 0)
    {
      internal ();
    }
  else if (ac == 2 && strcmp (av[1], "-h") == 0)
    {
      while (p->name)
	{
	  printf ("%-25s\t%s\n", p->name, p->bits);
	  p++;
	}
    }

  else if (ac == 2 && strcmp (av[1], "-a") == 0)
    {
      gas ();
    }
  else if (ac == 2 && strcmp (av[1], "-d") == 0)
    {
      /*dis();*/
    }
  else
    {
      printf ("Usage: %s -t\n", av[0]);
      printf ("-t : generate new z8.c internal table\n");
      printf ("-a : generate new table for gas\n");
      printf ("-d : generate new table for disassemble\n");
      printf ("-h : generate new table for humans\n");
    }
return 0;
}
