/*
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 <ansidecl.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;
}
