/
cpu_instructions.ads
822 lines (810 loc) · 41.5 KB
/
cpu_instructions.ads
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
-- Code was originally generated by dginstr.go - there have been many edits...
-- Copyright ©2021,2022 Stephen Merrony
--
-- This program is free software: you can redistribute it and/or modify
-- it under the terms of the GNU Affero General Public License as published
-- by the Free Software Foundation, either version 3 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 Affero General Public License for more details.
--
-- You should have received a copy of the GNU Affero General Public License
-- along with this program. If not, see <https://www.gnu.org/licenses/>.
with Ada.Strings.Unbounded; use Ada.Strings.Unbounded;
with Interfaces; use Interfaces;
with DG_Types; use DG_Types;
package CPU_Instructions is
-- Instruction Classes
type Instr_Class_T is (
NOVA_MEMREF,
NOVA_OP,
NOVA_IO,
NOVA_MATH,
NOVA_PC,
ECLIPSE_FPU,
ECLIPSE_MEMREF,
ECLIPSE_OP,
ECLIPSE_PC,
ECLIPSE_STACK,
EAGLE_DECIMAL,
EAGLE_IO,
EAGLE_PC,
EAGLE_OP,
EAGLE_MEMREF,
EAGLE_STACK,
EAGLE_FPU,
EAGLE_MP
);
-- Instruction Formats
type Instr_Format_T is (
DERR_FMT,
IMM_MODE_2_WORD_FMT,
IMM_ONEACC_FMT,
IO_FLAGS_DEV_FMT,
IO_TEST_DEV_FMT,
LNDO_4_WORD_FMT,
MULTI_PROC_2_WORD_FMT,
NOACC_MODE_2_WORD_FMT,
NOACC_MODE_3_WORD_FMT,
NOACC_MODE_IMM_IND_3_WORD_FMT,
NOACC_MODE_IND_2_WORD_E_FMT,
NOACC_MODE_IND_2_WORD_X_FMT,
NOACC_MODE_IND_3_WORD_FMT,
NOACC_MODE_IND_3_WORD_XCALL_FMT,
NOACC_MODE_IND_4_WORD_FMT,
NOVA_DATA_IO_FMT,
NOVA_NOACC_EFF_ADDR_FMT,
NOVA_ONEACC_EFF_ADDR_FMT,
NOVA_TWOACC_MULT_OP_FMT,
ONEACC_IMM_2_WORD_FMT,
ONEACC_IMMWD_2_WORD_FMT,
ONEACC_IMM_3_WORD_FMT,
ONEACC_MODE_2_WORD_E_FMT,
ONEACC_MODE_2_WORD_X_B_FMT,
ONEACC_MODE_3_WORD_B_FMT,
ONEACC_MODE_IND_2_WORD_E_FMT,
ONEACC_MODE_IND_2_WORD_X_FMT,
ONEACC_MODE_IND_3_WORD_FMT,
ONEACC_1_WORD_FMT,
UNIQUE_1_WORD_FMT,
UNIQUE_2_WORD_FMT,
SPLIT_8BIT_DISP_FMT,
THREE_WORD_DO_FMT,
TWOACC_1_WORD_FMT,
TWOACC_IMM_2_WORD_FMT,
WIDE_DEC_SPECIAL_FMT,
WSKB_FMT
);
-- Instruction Mnemonic Consts
type Instr_Mnemonic_T is (
I_ADC,
I_ADD,
I_ADDI,
I_ADI,
I_ANC,
I_AND,
I_ANDI,
I_BAM,
I_BKPT,
I_BLM,
I_BTO,
I_BTZ,
I_CIO,
I_CIOI,
I_CLM,
I_CMP,
I_CMT,
I_CMV,
I_COB,
I_COM,
I_CRYTC,
I_CRYTO,
I_CRYTZ,
I_CTR,
I_CVWN,
I_DAD,
I_DEQUE,
I_DERR,
I_DHXL,
I_DHXR,
I_DIA,
I_DIB,
I_DIC,
I_DIV,
I_DIVS,
I_DIVX,
I_DLSH,
I_DOA,
I_DOB,
I_DOC,
I_DSB,
I_DSPA,
I_DSZ,
I_DSZTS,
I_ECLID,
I_EDIT,
I_EDSZ,
I_EISZ,
I_EJMP,
I_EJSR,
I_ELDA,
I_ELDB,
I_ELEF,
I_ENQH,
I_ENQT,
I_ESTA,
I_ESTB,
I_FAD,
I_FAS,
I_FCLE,
I_FCMP,
I_FAB,
I_FDD,
I_FDS,
I_FEXP,
I_FFAS,
I_FHLV,
I_FINT,
I_FLAS,
I_FLDS,
I_FLST,
I_FMD,
I_FMOV,
I_FMS,
I_FNEG,
I_FNS,
I_FPOP,
I_FPSH,
I_FRDS,
I_FRH,
I_FSA,
I_FSD,
I_FSEQ,
I_FSGE,
I_FSGT,
I_FSLE,
I_FSLT,
I_FSNE,
I_FSNER,
I_FSS,
I_FSST,
I_FSTS,
I_FTD,
I_FTE,
I_FXTD,
I_FXTE,
I_HALT,
I_HLV,
I_HXL,
I_HXR,
I_INC,
I_INTA,
I_INTDS,
I_INTEN,
I_IOR,
I_IORI,
I_IORST,
I_ISZ,
I_ISZTS,
I_JMP,
I_JSR,
I_LCALL,
I_LCPID,
I_LDA,
I_LDAFP,
I_LDASB,
I_LDASL,
I_LDASP,
I_LDATS,
I_LDB,
I_LDSP,
I_LEF,
I_LFAMD,
I_LFDMD,
I_LFDMS,
I_LFLDD,
I_LFLDS,
I_LFMMD,
I_LFMMS,
I_LFSMD,
I_LFSTD,
I_LFSTS,
I_LJMP,
I_LJSR,
I_LLDB,
I_LLEF,
I_LLEFB,
I_LMRF,
I_LNADD,
I_LNADI,
I_LNDIV,
I_LNDO,
I_LNDSZ,
I_LNISZ,
I_LNLDA,
I_LNMUL,
I_LNSBI,
I_LNSTA,
I_LNSUB,
I_LOB,
I_LPEF,
I_LPEFB,
I_LPHY,
I_LPSHJ,
I_LPSR,
I_LRB,
I_LSH,
I_LSTB,
I_LWADD,
I_LWADI,
I_LWDO,
I_LWDSZ,
I_LWISZ,
I_LWLDA,
I_LWMUL,
I_LWSTA,
I_LWSUB,
I_MOV,
I_MSKO,
I_MSP,
I_MUL,
I_MULS,
I_MPx,
I_NADD,
I_NADDI,
I_NADI,
I_NCLID,
I_NDIV,
I_NEG,
I_NIO,
I_NLDAI,
I_NMUL,
I_NNEG,
I_NSALA,
I_NSANA,
I_NSBI,
I_NSUB,
I_PIO,
I_POP,
I_POPB,
I_POPJ,
I_PRTSEL,
I_PSH,
I_PSHJ,
I_PSHR,
I_READS,
I_RSTR,
I_RTN,
I_SAVE,
I_SBI,
I_SEX,
I_SGE,
I_SGT,
I_SKP,
I_SNB,
I_SNOVR,
I_SPSR,
I_SPTE,
I_SSPT,
I_STA,
I_STAFP,
I_STASB,
I_STASL,
I_STASP,
I_STATS,
I_STB,
I_SUB,
I_SZB,
I_SZBO,
I_WADC,
I_WADD,
I_WADDI,
I_WADI,
I_WANC,
I_WAND,
I_WANDI,
I_WASH,
I_WASHI,
I_WBLM,
I_WBR,
I_WBTO,
I_WBTZ,
I_WCLM,
I_WCMP,
I_WCMV,
I_WCOM,
I_WCST,
I_WCTR,
I_WDecOp,
I_WDIV,
I_WDIVS,
I_WFFAD,
I_WFLAD,
I_WFPOP,
I_WFPSH,
I_WHLV,
I_WINC,
I_WIOR,
I_WIORI,
I_WLDAI,
I_WLDB,
I_WLDI,
I_WLMP,
I_WLSH,
I_WLSHI,
I_WLSI,
I_WMESS,
I_WMOV,
I_WMOVR,
I_WMSP,
I_WMUL,
I_WMULS,
I_WNADI,
I_WNEG,
I_WPOP,
I_WPOPB,
I_WPOPJ,
I_WPSH,
I_WRTN,
I_WSANA,
I_WSAVR,
I_WSAVS,
I_WSBI,
I_WSEQ,
I_WSEQI,
I_WSGE,
I_WSGT,
I_WSGTI,
I_WSKBO,
I_WSKBZ,
I_WSLE,
I_WSLEI,
I_WSLT,
I_WSNB,
I_WSNE,
I_WSNEI,
I_WSSVR,
I_WSSVS,
I_WSTB,
I_WSTI,
I_WSUB,
I_WSZB,
I_WSZBO,
I_WUSGE,
I_WUSGT,
I_WUGTI,
I_WULEI,
I_WXCH,
I_WXOR,
I_WXORI,
I_XCALL,
I_XCH,
I_XCT,
I_XFAMD,
I_XFAMS,
I_XFDMS,
I_XFLDD,
I_XFLDS,
I_XFMMD,
I_XFMMS,
I_XFSTD,
I_XFSTS,
I_XJMP,
I_XJSR,
I_XLDB,
I_XLEF,
I_XLEFB,
I_XNADD,
I_XNADI,
I_XNDO,
I_XNDSZ,
I_XNISZ,
I_XNLDA,
I_XNMUL,
I_XNSBI,
I_XNSTA,
I_XNSUB,
I_XOR,
I_XORI,
I_XPEF,
I_XPEFB,
I_XPSHJ,
I_XSTB,
I_XWADD,
I_XWADI,
I_XWDIV,
I_XWDO,
I_XWDSZ,
I_XWISZ,
I_XWLDA,
I_XWMUL,
I_XWSBI,
I_XWSTA,
I_XWSUB,
I_ZEX,
-- These are handled differently...
I_CINTR,
I_IMODE,
I_JPFLOAD,
I_JPFLUSH,
I_JPID,
I_JPLCS,
I_JPLOAD,
I_JPSTART,
I_JPSTATUS,
I_JPSTOP
);
type Instr_Char_Rec is record
Mnemonic : Unbounded_String;
Bits : Word_T;
Mask : Word_T;
Instr_Len : Positive;
Instr_Fmt : Instr_Format_T;
Instr_Class : Instr_Class_T;
Disp_Offset : Integer_32;
end record;
type Instructions is array (Instr_Mnemonic_T range Instr_Mnemonic_T'Range) of Instr_Char_Rec;
Instruction_Set : constant Instructions :=
(
I_ADC => (To_Unbounded_String("ADC"), 16#8400#, 16#8700#, 1, NOVA_TWOACC_MULT_OP_FMT, NOVA_OP, 0),
I_ADD => (To_Unbounded_String("ADD"), 16#8600#, 16#8700#, 1, NOVA_TWOACC_MULT_OP_FMT, NOVA_OP, 0),
I_ADDI => (To_Unbounded_String("ADDI"), 16#e7f8#, 16#e7ff#, 2, ONEACC_IMM_2_WORD_FMT, ECLIPSE_OP, 0),
I_ADI => (To_Unbounded_String("ADI"), 16#8008#, 16#87ff#, 1, IMM_ONEACC_FMT, ECLIPSE_OP, 0),
I_ANC => (To_Unbounded_String("ANC"), 16#8188#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_OP, 0),
I_AND => (To_Unbounded_String("AND"), 16#8700#, 16#8700#, 1, NOVA_TWOACC_MULT_OP_FMT, NOVA_OP, 0),
I_ANDI => (To_Unbounded_String("ANDI"), 16#c7f8#, 16#e7ff#, 2, ONEACC_IMMWD_2_WORD_FMT, ECLIPSE_OP, 0),
I_BAM => (To_Unbounded_String("BAM"), 16#97c8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_MEMREF, 0),
I_BKPT => (To_Unbounded_String("BKPT"), 16#c789#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_PC, 0),
I_BLM => (To_Unbounded_String("BLM"), 16#b7c8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_MEMREF, 0),
I_BTO => (To_Unbounded_String("BTO"), 16#8408#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_MEMREF, 0),
I_BTZ => (To_Unbounded_String("BTZ"), 16#8448#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_MEMREF, 0),
I_CIO => (To_Unbounded_String("CIO"), 16#85e9#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_IO, 0),
I_CIOI => (To_Unbounded_String("CIOI"), 16#85f9#, 16#87ff#, 2, TWOACC_IMM_2_WORD_FMT, EAGLE_IO, 0),
I_CLM => (To_Unbounded_String("CLM"), 16#84f8#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_PC, 0),
I_CMP => (To_Unbounded_String("CMP"), 16#dfa8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_MEMREF, 0),
I_CMT => (To_Unbounded_String("CMT"), 16#efa8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_MEMREF, 0),
I_CMV => (To_Unbounded_String("CMV"), 16#d7a8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_MEMREF, 0),
I_COB => (To_Unbounded_String("COB"), 16#8588#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_OP, 0),
I_COM => (To_Unbounded_String("COM"), 16#8000#, 16#8700#, 1, NOVA_TWOACC_MULT_OP_FMT, NOVA_OP, 0),
I_CRYTC => (To_Unbounded_String("CRYTC"), 16#a7e9#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_OP, 0),
I_CRYTO => (To_Unbounded_String("CRYTO"), 16#a7c9#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_OP, 0),
I_CRYTZ => (To_Unbounded_String("CRYTZ"), 16#a7d9#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_OP, 0),
I_CTR => (To_Unbounded_String("CTR"), 16#e7a8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_OP, 0),
I_CVWN => (To_Unbounded_String("CVWN"), 16#e669#, 16#e7ff#, 1, ONEACC_1_WORD_FMT, EAGLE_OP, 0),
I_DAD => (To_Unbounded_String("DAD"), 16#8088#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_OP, 0),
I_DEQUE => (To_Unbounded_String("DEQUE"), 16#e7c9#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_OP, 0),
I_DERR => (To_Unbounded_String("DERR"), 16#8f09#, 16#8fcf#, 1, DERR_FMT, EAGLE_PC, 0),
I_DHXL => (To_Unbounded_String("DHXL"), 16#8388#, 16#87ff#, 1, IMM_ONEACC_FMT, ECLIPSE_OP, 0),
I_DHXR => (To_Unbounded_String("DHXR"), 16#83c8#, 16#87ff#, 1, IMM_ONEACC_FMT, ECLIPSE_OP, 0),
I_DIA => (To_Unbounded_String("DIA"), 16#6100#, 16#e700#, 1, NOVA_DATA_IO_FMT, NOVA_IO, 0),
I_DIB => (To_Unbounded_String("DIB"), 16#6300#, 16#e700#, 1, NOVA_DATA_IO_FMT, NOVA_IO, 0),
I_DIC => (To_Unbounded_String("DIC"), 16#6500#, 16#e700#, 1, NOVA_DATA_IO_FMT, NOVA_IO, 0),
I_DIV => (To_Unbounded_String("DIV"), 16#d7c8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, NOVA_MATH, 0),
I_DIVS => (To_Unbounded_String("DIVS"), 16#dfc8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_OP, 0),
I_DIVX => (To_Unbounded_String("DIVX"), 16#bfc8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_OP, 0),
I_DLSH => (To_Unbounded_String("DLSH"), 16#82c8#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_OP, 0),
I_DOA => (To_Unbounded_String("DOA"), 16#6200#, 16#e700#, 1, NOVA_DATA_IO_FMT, NOVA_IO, 0),
I_DOB => (To_Unbounded_String("DOB"), 16#6400#, 16#e700#, 1, NOVA_DATA_IO_FMT, NOVA_IO, 0),
I_DOC => (To_Unbounded_String("DOC"), 16#6600#, 16#e700#, 1, NOVA_DATA_IO_FMT, NOVA_IO, 0),
I_DSB => (To_Unbounded_String("DSB"), 16#80c8#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_OP, 0),
I_DSPA => (To_Unbounded_String("DSPA"), 16#c478#, 16#e4ff#, 2, ONEACC_MODE_IND_2_WORD_E_FMT, ECLIPSE_PC, 1),
I_DSZ => (To_Unbounded_String("DSZ"), 16#1800#, 16#f800#, 1, NOVA_NOACC_EFF_ADDR_FMT, NOVA_MEMREF, 0),
I_DSZTS => (To_Unbounded_String("DSZTS"), 16#c7d9#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_PC, 0),
I_ECLID => (To_Unbounded_String("ECLID"), 16#ffc8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_IO, 0),
I_EDIT => (To_Unbounded_String("EDIT"), 16#f7a8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_OP, 0),
I_EDSZ => (To_Unbounded_String("EDSZ"), 16#9c38#, 16#fcff#, 2, NOACC_MODE_IND_2_WORD_E_FMT, ECLIPSE_PC, 1),
I_EISZ => (To_Unbounded_String("EISZ"), 16#9438#, 16#fcff#, 2, NOACC_MODE_IND_2_WORD_E_FMT, ECLIPSE_PC, 1),
I_EJMP => (To_Unbounded_String("EJMP"), 16#8438#, 16#fcff#, 2, NOACC_MODE_IND_2_WORD_E_FMT, ECLIPSE_PC, 1),
I_EJSR => (To_Unbounded_String("EJSR"), 16#8c38#, 16#fcff#, 2, NOACC_MODE_IND_2_WORD_E_FMT, ECLIPSE_PC, 1),
I_ELDA => (To_Unbounded_String("ELDA"), 16#a438#, 16#e4ff#, 2, ONEACC_MODE_IND_2_WORD_E_FMT, ECLIPSE_MEMREF, 1),
I_ELDB => (To_Unbounded_String("ELDB"), 16#8478#, 16#e4ff#, 2, ONEACC_MODE_IND_2_WORD_E_FMT, ECLIPSE_MEMREF, 1),
I_ELEF => (To_Unbounded_String("ELEF"), 16#e438#, 16#e4ff#, 2, ONEACC_MODE_IND_2_WORD_E_FMT, ECLIPSE_MEMREF, 1),
I_ENQH => (To_Unbounded_String("ENQH"), 16#c7e9#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_OP, 0),
I_ENQT => (To_Unbounded_String("ENQT"), 16#c7f9#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_OP, 0),
I_ESTA => (To_Unbounded_String("ESTA"), 16#c438#, 16#e4ff#, 2, ONEACC_MODE_IND_2_WORD_E_FMT, ECLIPSE_MEMREF, 1),
I_ESTB => (To_Unbounded_String("ESTB"), 16#a478#, 16#e4ff#, 2, ONEACC_MODE_2_WORD_E_FMT, ECLIPSE_OP, 1),
I_FAD => (To_Unbounded_String("FAD"), 16#8068#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FAS => (To_Unbounded_String("FAS"), 16#8028#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FCLE => (To_Unbounded_String("FCLE"), 16#d6e8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FCMP => (To_Unbounded_String("FCMP"), 16#8728#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FAB => (To_Unbounded_String("FAB"), 16#c628#, 16#e7ff#, 1, ONEACC_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FDD => (To_Unbounded_String("FDD"), 16#81e8#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FDS => (To_Unbounded_String("FDS"), 16#81a8#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FEXP => (To_Unbounded_String("FEXP"), 16#a668#, 16#e7ff#, 1, ONEACC_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FFAS => (To_Unbounded_String("FFAS"), 16#85a8#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FHLV => (To_Unbounded_String("FHLV"), 16#e668#, 16#e7ff#, 1, ONEACC_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FINT => (To_Unbounded_String("FINT"), 16#c668#, 16#e7ff#, 1, ONEACC_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FLAS => (To_Unbounded_String("FLAS"), 16#8528#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FLDS => (To_Unbounded_String("FLDS"), 16#8428#, 16#87ff#, 2, ONEACC_MODE_IND_2_WORD_X_FMT, ECLIPSE_FPU, 1),
I_FLST => (To_Unbounded_String("FLST"), 16#a6e8#, 16#e7ff#, 2, NOACC_MODE_IND_2_WORD_X_FMT, ECLIPSE_FPU, 1),
I_FMD => (To_Unbounded_String("FMD"), 16#8168#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FMOV => (To_Unbounded_String("FMOV"), 16#8768#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FMS => (To_Unbounded_String("FMS"), 16#8128#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FNEG => (To_Unbounded_String("FNEG"), 16#e628#, 16#e7ff#, 1, ONEACC_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FNS => (To_Unbounded_String("FNS"), 16#86a8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_PC, 0),
I_FPOP => (To_Unbounded_String("FPOP"), 16#eee8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_STACK, 0),
I_FPSH => (To_Unbounded_String("FPSH"), 16#e6e8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_STACK, 0),
I_FRDS => (To_Unbounded_String("FRDS"), 16#84d8#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FRH => (To_Unbounded_String("FRH"), 16#a628#, 16#e7ff#, 1, ONEACC_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FSA => (To_Unbounded_String("FSA"), 16#8ea8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_PC, 0),
I_FSD => (To_Unbounded_String("FSD"), 16#80e8#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FSEQ => (To_Unbounded_String("FSEQ"), 16#96a8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FSGE => (To_Unbounded_String("FSGE"), 16#aea8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FSGT => (To_Unbounded_String("FSGT"), 16#bea8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FSLE => (To_Unbounded_String("FSLE"), 16#b6a8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FSLT => (To_Unbounded_String("FSLT"), 16#a6a8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FSNE => (To_Unbounded_String("FSNE"), 16#9ea8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FSNER => (To_Unbounded_String("FSNER"), 16#fea8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FSS => (To_Unbounded_String("FSS"), 16#80a8#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FSST => (To_Unbounded_String("FSST"), 16#86e8#, 16#e7ff#, 2, NOACC_MODE_IND_2_WORD_X_FMT, ECLIPSE_FPU, 1),
I_FSTS => (To_Unbounded_String("FSTS"), 16#84a8#, 16#87ff#, 2, ONEACC_MODE_IND_2_WORD_X_FMT, ECLIPSE_FPU, 1),
I_FTD => (To_Unbounded_String("FTD"), 16#cee8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FTE => (To_Unbounded_String("FTE"), 16#c6e8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_FPU, 0),
I_FXTD => (To_Unbounded_String("FXTD"), 16#a779#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_OP, 0),
I_FXTE => (To_Unbounded_String("FXTE"), 16#c749#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_OP, 0),
I_HALT => (To_Unbounded_String("HALT"), 16#647f#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, NOVA_IO, 0),
I_HLV => (To_Unbounded_String("HLV"), 16#c6f8#, 16#e7ff#, 1, ONEACC_1_WORD_FMT, ECLIPSE_OP, 0),
I_HXL => (To_Unbounded_String("HXL"), 16#8308#, 16#87ff#, 1, IMM_ONEACC_FMT, ECLIPSE_OP, 0),
I_HXR => (To_Unbounded_String("HXR"), 16#8348#, 16#87ff#, 1, IMM_ONEACC_FMT, ECLIPSE_OP, 0),
I_INC => (To_Unbounded_String("INC"), 16#8300#, 16#8700#, 1, NOVA_TWOACC_MULT_OP_FMT, NOVA_OP, 0),
I_INTA => (To_Unbounded_String("INTA"), 16#633f#, 16#e7ff#, 1, ONEACC_1_WORD_FMT, NOVA_IO, 0),
I_INTDS => (To_Unbounded_String("INTDS"), 16#60bf#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, NOVA_IO, 0),
I_INTEN => (To_Unbounded_String("INTEN"), 16#607f#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, NOVA_IO, 0),
I_IOR => (To_Unbounded_String("IOR"), 16#8108#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_OP, 0),
I_IORI => (To_Unbounded_String("IORI"), 16#87f8#, 16#e7ff#, 2, ONEACC_IMMWD_2_WORD_FMT, ECLIPSE_OP, 0),
I_IORST => (To_Unbounded_String("IORST"), 16#653f#, 16#e73f#, 1, ONEACC_1_WORD_FMT, NOVA_IO, 0),
I_ISZ => (To_Unbounded_String("ISZ"), 16#1000#, 16#f800#, 1, NOVA_NOACC_EFF_ADDR_FMT, NOVA_MEMREF, 0),
I_ISZTS => (To_Unbounded_String("ISZTS"), 16#c7c9#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_PC, 0),
I_JMP => (To_Unbounded_String("JMP"), 16#0000#, 16#f800#, 1, NOVA_NOACC_EFF_ADDR_FMT, NOVA_PC, 0),
I_JSR => (To_Unbounded_String("JSR"), 16#0800#, 16#f800#, 1, NOVA_NOACC_EFF_ADDR_FMT, NOVA_PC, 0),
I_LCALL => (To_Unbounded_String("LCALL"), 16#a6c9#, 16#e7ff#, 4, NOACC_MODE_IND_4_WORD_FMT, EAGLE_STACK, 1),
I_LCPID => (To_Unbounded_String("LCPID"), 16#8759#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_IO, 0),
I_LDA => (To_Unbounded_String("LDA"), 16#2000#, 16#e000#, 1, NOVA_ONEACC_EFF_ADDR_FMT, NOVA_MEMREF, 0),
I_LDAFP => (To_Unbounded_String("LDAFP"), 16#c669#, 16#e7ff#, 1, ONEACC_1_WORD_FMT, EAGLE_STACK, 0),
I_LDASB => (To_Unbounded_String("LDASB"), 16#c649#, 16#e7ff#, 1, ONEACC_1_WORD_FMT, EAGLE_STACK, 0),
I_LDASL => (To_Unbounded_String("LDASL"), 16#a669#, 16#e7ff#, 1, ONEACC_1_WORD_FMT, EAGLE_STACK, 0),
I_LDASP => (To_Unbounded_String("LDASP"), 16#a649#, 16#e7ff#, 1, ONEACC_1_WORD_FMT, EAGLE_STACK, 0),
I_LDATS => (To_Unbounded_String("LDATS"), 16#8649#, 16#e7ff#, 1, ONEACC_1_WORD_FMT, EAGLE_STACK, 0),
I_LDB => (To_Unbounded_String("LDB"), 16#85c8#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_MEMREF, 0),
I_LDSP => (To_Unbounded_String("LDSP"), 16#8519#, 16#87ff#, 3, ONEACC_MODE_IND_3_WORD_FMT, EAGLE_PC, 1),
I_LEF => (To_Unbounded_String("LEF"), 16#6000#, 16#e000#, 1, NOVA_ONEACC_EFF_ADDR_FMT, ECLIPSE_MEMREF, 0),
I_LFAMD => (To_Unbounded_String("LFAMD"), 16#80d9#, 16#87ff#, 3, ONEACC_MODE_IND_3_WORD_FMT, EAGLE_FPU, 1),
I_LFDMD => (To_Unbounded_String("LFDMD"), 16#81f9#, 16#87ff#, 3, ONEACC_MODE_IND_3_WORD_FMT, EAGLE_FPU, 1),
I_LFDMS => (To_Unbounded_String("LFDMS"), 16#81e9#, 16#87ff#, 3, ONEACC_MODE_IND_3_WORD_FMT, EAGLE_FPU, 1),
I_LFLDD => (To_Unbounded_String("LFLDD"), 16#82d9#, 16#87ff#, 3, ONEACC_MODE_IND_3_WORD_FMT, EAGLE_FPU, 1),
I_LFLDS => (To_Unbounded_String("LFLDS"), 16#82c9#, 16#87ff#, 3, ONEACC_MODE_IND_3_WORD_FMT, EAGLE_FPU, 1),
I_LFMMD => (To_Unbounded_String("LFMMD"), 16#81d9#, 16#87ff#, 3, ONEACC_MODE_IND_3_WORD_FMT, EAGLE_FPU, 1),
I_LFMMS => (To_Unbounded_String("LFMMS"), 16#81c9#, 16#87ff#, 3, ONEACC_MODE_IND_3_WORD_FMT, EAGLE_FPU, 1),
I_LFSMD => (To_Unbounded_String("LFSMD"), 16#80f9#, 16#87ff#, 3, ONEACC_MODE_IND_3_WORD_FMT, EAGLE_FPU, 1),
I_LFSTD => (To_Unbounded_String("LFSTD"), 16#82f9#, 16#87ff#, 3, ONEACC_MODE_IND_3_WORD_FMT, EAGLE_FPU, 1),
I_LFSTS => (To_Unbounded_String("LFSTS"), 16#82e9#, 16#87ff#, 3, ONEACC_MODE_IND_3_WORD_FMT, EAGLE_FPU, 1),
I_LJMP => (To_Unbounded_String("LJMP"), 16#a6d9#, 16#e7ff#, 3, NOACC_MODE_IND_3_WORD_FMT, EAGLE_PC, 1),
I_LJSR => (To_Unbounded_String("LJSR"), 16#a6e9#, 16#e7ff#, 3, NOACC_MODE_IND_3_WORD_FMT, EAGLE_PC, 1),
I_LLDB => (To_Unbounded_String("LLDB"), 16#84c9#, 16#87ff#, 3, ONEACC_MODE_3_WORD_B_FMT, EAGLE_MEMREF, 1),
I_LLEF => (To_Unbounded_String("LLEF"), 16#83e9#, 16#87ff#, 3, ONEACC_MODE_IND_3_WORD_FMT, EAGLE_MEMREF, 1),
I_LLEFB => (To_Unbounded_String("LLEFB"), 16#84e9#, 16#87ff#, 3, ONEACC_MODE_3_WORD_B_FMT, EAGLE_MEMREF, 1),
I_LMRF => (To_Unbounded_String("LMRF"), 16#87c9#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_OP, 0),
I_LNADD => (To_Unbounded_String("LNADD"), 16#8218#, 16#87ff#, 3, ONEACC_MODE_IND_3_WORD_FMT, EAGLE_MEMREF, 1),
I_LNADI => (To_Unbounded_String("LNADI"), 16#8618#, 16#87ff#, 3, NOACC_MODE_IMM_IND_3_WORD_FMT, EAGLE_MEMREF, 1),
I_LNDIV => (To_Unbounded_String("LNDIV"), 16#82d8#, 16#87ff#, 3, ONEACC_MODE_IND_3_WORD_FMT, EAGLE_OP, 1),
I_LNDO => (To_Unbounded_String("LNDO"), 16#8698#, 16#87ff#, 4, LNDO_4_WORD_FMT, EAGLE_PC, 1),
I_LNDSZ => (To_Unbounded_String("LNDSZ"), 16#86d9#, 16#e7ff#, 3, NOACC_MODE_IND_3_WORD_FMT, EAGLE_PC, 1),
I_LNISZ => (To_Unbounded_String("LNISZ"), 16#86c9#, 16#e7ff#, 3, NOACC_MODE_IND_3_WORD_FMT, EAGLE_PC, 1),
I_LNLDA => (To_Unbounded_String("LNLDA"), 16#83c9#, 16#87ff#, 3, ONEACC_MODE_IND_3_WORD_FMT, EAGLE_MEMREF, 1),
I_LNMUL => (To_Unbounded_String("LNMUL"), 16#8298#, 16#87ff#, 3, ONEACC_MODE_IND_3_WORD_FMT, EAGLE_MEMREF, 1),
I_LNSBI => (To_Unbounded_String("LNSBI"), 16#8658#, 16#87ff#, 3, NOACC_MODE_IMM_IND_3_WORD_FMT, EAGLE_MEMREF, 1),
I_LNSTA => (To_Unbounded_String("LNSTA"), 16#83d9#, 16#87ff#, 3, ONEACC_MODE_IND_3_WORD_FMT, EAGLE_MEMREF, 1),
I_LNSUB => (To_Unbounded_String("LNSUB"), 16#8258#, 16#87ff#, 3, ONEACC_MODE_IND_3_WORD_FMT, EAGLE_MEMREF, 1),
I_LOB => (To_Unbounded_String("LOB"), 16#8508#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_OP, 0),
I_LPEF => (To_Unbounded_String("LPEF"), 16#a6f9#, 16#e7ff#, 3, NOACC_MODE_IND_3_WORD_FMT, EAGLE_STACK, 1),
I_LPEFB => (To_Unbounded_String("LPEFB"), 16#c6f9#, 16#e7ff#, 3, NOACC_MODE_3_WORD_FMT, EAGLE_STACK, 1),
I_LPHY => (To_Unbounded_String("LPHY"), 16#87e9#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_OP, 0),
I_LPSHJ => (To_Unbounded_String("LPSHJ"), 16#C6C9#, 16#E7FF#, 3, NOACC_MODE_IND_3_WORD_FMT, EAGLE_PC, 1),
I_LPSR => (To_Unbounded_String("LPSR"), 16#a799#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_OP, 0),
I_LRB => (To_Unbounded_String("LRB"), 16#8548#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_OP, 0),
I_LSH => (To_Unbounded_String("LSH"), 16#8288#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_OP, 0),
I_LSTB => (To_Unbounded_String("LSTB"), 16#84d9#, 16#87ff#, 3, ONEACC_MODE_3_WORD_B_FMT, EAGLE_MEMREF, 1),
I_LWADD => (To_Unbounded_String("LWADD"), 16#8318#, 16#87ff#, 3, ONEACC_MODE_IND_3_WORD_FMT, EAGLE_MEMREF, 1),
I_LWADI => (To_Unbounded_String("LWADI"), 16#8718#, 16#87ff#, 3, NOACC_MODE_IMM_IND_3_WORD_FMT, EAGLE_MEMREF, 1),
I_LWDO => (To_Unbounded_String("LWDO"), 16#8798#, 16#87ff#, 4, LNDO_4_WORD_FMT, EAGLE_PC, 1),
I_LWDSZ => (To_Unbounded_String("LWDSZ"), 16#86f9#, 16#e7ff#, 3, NOACC_MODE_IND_3_WORD_FMT, EAGLE_PC, 1),
I_LWISZ => (To_Unbounded_String("LWISZ"), 16#86e9#, 16#e7ff#, 3, NOACC_MODE_IND_3_WORD_FMT, EAGLE_PC, 1),
I_LWLDA => (To_Unbounded_String("LWLDA"), 16#83f9#, 16#87ff#, 3, ONEACC_MODE_IND_3_WORD_FMT, EAGLE_MEMREF, 1),
I_LWMUL => (To_Unbounded_String("LWMUL"), 16#8398#, 16#87ff#, 3, ONEACC_MODE_IND_3_WORD_FMT, EAGLE_MEMREF, 1),
I_LWSTA => (To_Unbounded_String("LWSTA"), 16#84f9#, 16#87ff#, 3, ONEACC_MODE_IND_3_WORD_FMT, EAGLE_MEMREF, 1),
I_LWSUB => (To_Unbounded_String("LWSUB"), 16#8358#, 16#87ff#, 3, ONEACC_MODE_IND_3_WORD_FMT, EAGLE_MEMREF, 1),
I_MOV => (To_Unbounded_String("MOV"), 16#8200#, 16#8700#, 1, NOVA_TWOACC_MULT_OP_FMT, NOVA_OP, 0),
I_MPx => (To_Unbounded_String("*MP*"), 16#c729#, 16#ffff#, 2, MULTI_PROC_2_WORD_FMT, EAGLE_MP, 0),
I_MSKO => (To_Unbounded_String("MSKO"), 16#643f#, 16#e7ff#, 1, ONEACC_1_WORD_FMT, EAGLE_IO, 0 ),
I_MSP => (To_Unbounded_String("MSP"), 16#86f8#, 16#e7ff#, 1, ONEACC_1_WORD_FMT, ECLIPSE_STACK, 0),
I_MUL => (To_Unbounded_String("MUL"), 16#c7c8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, NOVA_MATH, 0),
I_MULS => (To_Unbounded_String("MULS"), 16#cfc8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_OP, 0),
I_NADD => (To_Unbounded_String("NADD"), 16#8049#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_OP, 0),
I_NADDI => (To_Unbounded_String("NADDI"), 16#c639#, 16#e7ff#, 2, ONEACC_IMM_2_WORD_FMT, EAGLE_OP, 0),
I_NADI => (To_Unbounded_String("NADI"), 16#8599#, 16#87ff#, 1, IMM_ONEACC_FMT, EAGLE_OP, 0),
I_NCLID => (To_Unbounded_String("NCLID"), 16#683f#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_IO, 0),
I_NDIV => (To_Unbounded_String("NDIV"), 16#8079#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_OP, 0),
I_NEG => (To_Unbounded_String("NEG"), 16#8100#, 16#8700#, 1, NOVA_TWOACC_MULT_OP_FMT, NOVA_OP, 0),
I_NIO => (To_Unbounded_String("NIO"), 16#6000#, 16#ff00#, 1, IO_FLAGS_DEV_FMT, NOVA_IO, 0),
I_NLDAI => (To_Unbounded_String("NLDAI"), 16#c629#, 16#e7ff#, 2, ONEACC_IMM_2_WORD_FMT, EAGLE_OP, 0),
I_NMUL => (To_Unbounded_String("NMUL"), 16#8069#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_OP, 0),
I_NNEG => (To_Unbounded_String("NNEG"), 16#8509#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_OP, 0),
I_NSALA => (To_Unbounded_String("NSALA"), 16#e609#, 16#e7ff#, 2, ONEACC_IMM_2_WORD_FMT, EAGLE_PC, 0),
I_NSANA => (To_Unbounded_String("NSANA"), 16#e629#, 16#e7ff#, 2, ONEACC_IMM_2_WORD_FMT, EAGLE_PC, 0),
I_NSBI => (To_Unbounded_String("NSBI"), 16#85a9#, 16#87ff#, 1, IMM_ONEACC_FMT, EAGLE_OP, 0),
I_NSUB => (To_Unbounded_String("NSUB"), 16#8059#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_OP, 0),
I_PIO => (To_Unbounded_String("PIO"), 16#85d9#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_IO, 0),
I_POP => (To_Unbounded_String("POP"), 16#8688#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_STACK, 0),
I_POPB => (To_Unbounded_String("POPB"), 16#8fc8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_STACK, 0),
I_POPJ => (To_Unbounded_String("POPJ"), 16#9fc8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_STACK, 0),
I_PRTSEL => (To_Unbounded_String("PRTSEL"), 16#783f#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_IO, 0),
I_PSH => (To_Unbounded_String("PSH"), 16#8648#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_STACK, 0),
I_PSHJ => (To_Unbounded_String("PSHJ"), 16#84b8#, 16#fcff#, 2, NOACC_MODE_IND_2_WORD_E_FMT, ECLIPSE_STACK, 1),
I_PSHR => (To_Unbounded_String("PSHR"), 16#87c8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_STACK, 0),
I_READS => (To_Unbounded_String("READS"), 16#613f#, 16#e7ff#, 1, ONEACC_1_WORD_FMT, EAGLE_IO, 0),
I_RSTR => (To_Unbounded_String("RSTR"), 16#efc8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_STACK, 0),
I_RTN => (To_Unbounded_String("RTN"), 16#afc8#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, ECLIPSE_STACK, 0),
I_SAVE => (To_Unbounded_String("SAVE"), 16#e7c8#, 16#ffff#, 2, UNIQUE_2_WORD_FMT, ECLIPSE_STACK, 0),
I_SBI => (To_Unbounded_String("SBI"), 16#8048#, 16#87ff#, 1, IMM_ONEACC_FMT, ECLIPSE_OP, 0),
I_SEX => (To_Unbounded_String("SEX"), 16#8349#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_OP, 0),
I_SGE => (To_Unbounded_String("SGE"), 16#8248#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_PC, 0),
I_SGT => (To_Unbounded_String("SGT"), 16#8208#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_PC, 0),
I_SKP => (To_Unbounded_String("SKP"), 16#6700#, 16#ff00#, 1, IO_TEST_DEV_FMT, NOVA_IO, 0),
I_SNB => (To_Unbounded_String("SNB"), 16#85f8#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_PC, 0),
I_SNOVR => (To_Unbounded_String("SNOVR"), 16#a7b9#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_PC, 0),
I_SPSR => (To_Unbounded_String("SPSR"), 16#a7a9#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_OP, 0),
I_SPTE => (To_Unbounded_String("SPTE"), 16#e729#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_OP, 0),
I_SSPT => (To_Unbounded_String("SSPT"), 16#e7d9#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_OP, 0),
I_STA => (To_Unbounded_String("STA"), 16#4000#, 16#e000#, 1, NOVA_ONEACC_EFF_ADDR_FMT, NOVA_MEMREF, 0),
I_STAFP => (To_Unbounded_String("STAFP"), 16#c679#, 16#e7ff#, 1, ONEACC_1_WORD_FMT, EAGLE_STACK, 0),
I_STASB => (To_Unbounded_String("STASB"), 16#c659#, 16#e7ff#, 1, ONEACC_1_WORD_FMT, EAGLE_STACK, 0),
I_STASL => (To_Unbounded_String("STASL"), 16#a679#, 16#e7ff#, 1, ONEACC_1_WORD_FMT, EAGLE_STACK, 0),
I_STASP => (To_Unbounded_String("STASP"), 16#a659#, 16#e7ff#, 1, ONEACC_1_WORD_FMT, EAGLE_STACK, 0),
I_STATS => (To_Unbounded_String("STATS"), 16#8659#, 16#e7ff#, 1, ONEACC_1_WORD_FMT, EAGLE_STACK, 0),
I_STB => (To_Unbounded_String("STB"), 16#8608#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_MEMREF, 0),
I_SUB => (To_Unbounded_String("SUB"), 16#8500#, 16#8700#, 1, NOVA_TWOACC_MULT_OP_FMT, NOVA_OP, 0),
I_SZB => (To_Unbounded_String("SZB"), 16#8488#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_PC, 0),
I_SZBO => (To_Unbounded_String("SZBO"), 16#84c8#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_PC, 0),
I_WADC => (To_Unbounded_String("WADC"), 16#8249#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_OP, 0),
I_WADD => (To_Unbounded_String("WADD"), 16#8149#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_OP, 0),
I_WADDI => (To_Unbounded_String("WADDI"), 16#8689#, 16#e7ff#, 3, ONEACC_IMM_3_WORD_FMT, EAGLE_OP, 0),
I_WADI => (To_Unbounded_String("WADI"), 16#84b9#, 16#87ff#, 1, IMM_ONEACC_FMT, EAGLE_OP, 0),
I_WANC => (To_Unbounded_String("WANC"), 16#8549#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_OP, 0),
I_WAND => (To_Unbounded_String("WAND"), 16#8449#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_OP, 0),
I_WANDI => (To_Unbounded_String("WANDI"), 16#8699#, 16#e7ff#, 3, ONEACC_IMM_3_WORD_FMT, EAGLE_OP, 0),
I_WASH => (To_Unbounded_String("WASH"), 16#8279#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_OP, 0),
I_WASHI => (To_Unbounded_String("WASHI"), 16#c6a9#, 16#e7ff#, 2, ONEACC_IMM_2_WORD_FMT, EAGLE_OP, 0),
I_WBLM => (To_Unbounded_String("WBLM"), 16#e749#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_MEMREF, 0),
I_WBR => (To_Unbounded_String("WBR"), 16#8038#, 16#843f#, 1, SPLIT_8BIT_DISP_FMT, EAGLE_PC, 0),
I_WBTO => (To_Unbounded_String("WBTO"), 16#8299#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_MEMREF, 0),
I_WBTZ => (To_Unbounded_String("WBTZ"), 16#82a9#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_MEMREF, 0),
I_WCLM => (To_Unbounded_String("WCLM"), 16#8569#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_PC, 0),
I_WCMP => (To_Unbounded_String("WCMP"), 16#a759#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_MEMREF, 0),
I_WCMV => (To_Unbounded_String("WCMV"), 16#8779#, 16#FFFF#, 1, UNIQUE_1_WORD_FMT, EAGLE_MEMREF, 0),
I_WCOM => (To_Unbounded_String("WCOM"), 16#8459#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_OP, 0),
I_WCST => (To_Unbounded_String("WCST"), 16#e709#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_MEMREF, 0),
I_WCTR => (To_Unbounded_String("WCTR"), 16#8769#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_MEMREF, 0),
I_WDecOp => (To_Unbounded_String("WDecOp"), 16#8719#, 16#ffff#, 2, WIDE_DEC_SPECIAL_FMT, EAGLE_DECIMAL, 1),
I_WDIV => (To_Unbounded_String("WDIV"), 16#8179#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_OP, 0),
I_WDIVS => (To_Unbounded_String("WDIVS"), 16#e769#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_OP, 0),
I_WFFAD => (To_Unbounded_String("WFFAD"), 16#8499#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_FPU, 0),
I_WFLAD => (To_Unbounded_String("WFLAD"), 16#84a9#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_FPU, 0),
I_WFPOP => (To_Unbounded_String("WFPOP"), 16#a789#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_STACK, 0),
I_WFPSH => (To_Unbounded_String("WFPSH"), 16#87b9#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_STACK, 0),
I_WHLV => (To_Unbounded_String("WHLV"), 16#e659#, 16#e7ff#, 1, ONEACC_1_WORD_FMT, EAGLE_OP, 0),
I_WINC => (To_Unbounded_String("WINC"), 16#8259#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_OP, 0),
I_WIOR => (To_Unbounded_String("WIOR"), 16#8469#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_OP, 0),
I_WIORI => (To_Unbounded_String("WIORI"), 16#86a9#, 16#e7ff#, 3, ONEACC_IMM_3_WORD_FMT, EAGLE_OP, 0),
I_WLDAI => (To_Unbounded_String("WLDAI"), 16#c689#, 16#e7ff#, 3, ONEACC_IMM_3_WORD_FMT, EAGLE_OP, 0),
I_WLDB => (To_Unbounded_String("WLDB"), 16#8529#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_MEMREF, 0),
I_WLDI => (To_Unbounded_String("WLDI"), 16#e679#, 16#e7ff#, 1, ONEACC_1_WORD_FMT, EAGLE_FPU, 0),
I_WLMP => (To_Unbounded_String("WLMP"), 16#a7f9#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_IO, 0),
I_WLSH => (To_Unbounded_String("WLSH"), 16#8559#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_OP, 0),
I_WLSHI => (To_Unbounded_String("WLSHI"), 16#e6d9#, 16#e7ff#, 2, ONEACC_IMM_2_WORD_FMT, EAGLE_OP, 0),
I_WLSI => (To_Unbounded_String("WLSI"), 16#85b9#, 16#87ff#, 1, IMM_ONEACC_FMT, EAGLE_OP, 0),
I_WMESS => (To_Unbounded_String("WMESS"), 16#e719#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_PC, 0),
I_WMOV => (To_Unbounded_String("WMOV"), 16#8379#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_OP, 0),
I_WMOVR => (To_Unbounded_String("WMOVR"), 16#e699#, 16#e7ff#, 1, ONEACC_1_WORD_FMT, EAGLE_OP, 0),
I_WMSP => (To_Unbounded_String("WMSP"), 16#e649#, 16#e7ff#, 1, ONEACC_1_WORD_FMT, EAGLE_STACK, 0),
I_WMUL => (To_Unbounded_String("WMUL"), 16#8169#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_OP, 0),
I_WMULS => (To_Unbounded_String("WMULS"), 16#e759#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_OP, 0),
I_WNADI => (To_Unbounded_String("WNADI"), 16#e6f9#, 16#e7ff#, 2, ONEACC_IMM_2_WORD_FMT, EAGLE_OP, 0),
I_WNEG => (To_Unbounded_String("WNEG"), 16#8269#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_OP, 0),
I_WPOP => (To_Unbounded_String("WPOP"), 16#8089#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_STACK, 0),
I_WPOPB => (To_Unbounded_String("WPOPB"), 16#e779#, 16#FFFF#, 1, UNIQUE_1_WORD_FMT, EAGLE_STACK, 0),
I_WPOPJ => (To_Unbounded_String("WPOPJ"), 16#8789#, 16#FFFF#, 1, UNIQUE_1_WORD_FMT, EAGLE_STACK, 0),
I_WPSH => (To_Unbounded_String("WPSH"), 16#8579#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_STACK, 0),
I_WRTN => (To_Unbounded_String("WRTN"), 16#87a9#, 16#ffff#, 1, UNIQUE_1_WORD_FMT, EAGLE_STACK, 0),
I_WSANA => (To_Unbounded_String("WSANA"), 16#a689#, 16#e7ff#, 3, ONEACC_IMM_3_WORD_FMT, EAGLE_PC, 0),
I_WSAVR => (To_Unbounded_String("WSAVR"), 16#A729#, 16#FFFF#, 2, UNIQUE_2_WORD_FMT, EAGLE_STACK, 0),
I_WSAVS => (To_Unbounded_String("WSAVS"), 16#A739#, 16#FFFF#, 2, UNIQUE_2_WORD_FMT, EAGLE_STACK, 0),
I_WSBI => (To_Unbounded_String("WSBI"), 16#8589#, 16#87ff#, 1, IMM_ONEACC_FMT, EAGLE_OP, 0),
I_WSEQ => (To_Unbounded_String("WSEQ"), 16#80b9#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_PC, 0),
I_WSEQI => (To_Unbounded_String("WSEQI"), 16#e6c9#, 16#e7ff#, 2, ONEACC_IMM_2_WORD_FMT, EAGLE_PC, 0),
I_WSGE => (To_Unbounded_String("WSGE"), 16#8199#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_PC, 0),
I_WSGT => (To_Unbounded_String("WSGT"), 16#81b9#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_PC, 0),
I_WSGTI => (To_Unbounded_String("WSGTI"), 16#e689#, 16#e7ff#, 2, ONEACC_IMM_2_WORD_FMT, EAGLE_PC, 0),
I_WSKBO => (To_Unbounded_String("WSKBO"), 16#8f49#, 16#8fcf#, 1, WSKB_FMT, EAGLE_PC, 0),
I_WSKBZ => (To_Unbounded_String("WSKBZ"), 16#8f89#, 16#8fcf#, 1, WSKB_FMT, EAGLE_PC, 0),
I_WSLE => (To_Unbounded_String("WSLE"), 16#81a9#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_PC, 0),
I_WSLEI => (To_Unbounded_String("WSLEI"), 16#e6a9#, 16#e7ff#, 2, ONEACC_IMM_2_WORD_FMT, EAGLE_PC, 0),
I_WSLT => (To_Unbounded_String("WSLT"), 16#8289#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_PC, 0),
I_WSNB => (To_Unbounded_String("WSNB"), 16#8389#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_PC, 0),
I_WSNE => (To_Unbounded_String("WSNE"), 16#8189#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_PC, 0),
I_WSNEI => (To_Unbounded_String("WSNEI"), 16#e6e9#, 16#e7ff#, 2, ONEACC_IMM_2_WORD_FMT, EAGLE_PC, 0),
I_WSSVR => (To_Unbounded_String("WSSVR"), 16#8729#, 16#ffff#, 2, UNIQUE_2_WORD_FMT, EAGLE_STACK, 0),
I_WSSVS => (To_Unbounded_String("WSSVS"), 16#8739#, 16#ffff#, 2, UNIQUE_2_WORD_FMT, EAGLE_STACK, 0),
I_WSTB => (To_Unbounded_String("WSTB"), 16#8539#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_MEMREF, 0),
I_WSTI => (To_Unbounded_String("WSTI"), 16#e6b9#, 16#e7ff#, 1, ONEACC_1_WORD_FMT, EAGLE_FPU, 0),
I_WSUB => (To_Unbounded_String("WSUB"), 16#8159#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_OP, 0),
I_WSZB => (To_Unbounded_String("WSZB"), 16#82b9#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_PC, 0),
I_WSZBO => (To_Unbounded_String("WSZBO"), 16#8399#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_PC, 0),
I_WUSGE => (To_Unbounded_String("WUSGE"), 16#8099#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_PC, 0),
I_WUSGT => (To_Unbounded_String("WUSGT"), 16#80a9#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_PC, 0),
I_WUGTI => (To_Unbounded_String("WUGTI"), 16#c699#, 16#e7ff#, 3, ONEACC_IMM_3_WORD_FMT, EAGLE_PC, 0),
I_WULEI => (To_Unbounded_String("WULEI"), 16#c6b9#, 16#e7ff#, 3, ONEACC_IMM_3_WORD_FMT, EAGLE_PC, 0),
I_WXCH => (To_Unbounded_String("WXCH"), 16#8369#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_OP, 0),
I_WXOR => (To_Unbounded_String("WXOR"), 16#8479#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_OP, 0),
I_WXORI => (To_Unbounded_String("WXORI"), 16#86b9#, 16#e7ff#, 3, ONEACC_IMM_3_WORD_FMT, EAGLE_OP, 0),
I_XCALL => (To_Unbounded_String("XCALL"), 16#8609#, 16#e7ff#, 3, NOACC_MODE_IND_3_WORD_XCALL_FMT, EAGLE_PC, 1),
I_XCH => (To_Unbounded_String("XCH"), 16#81c8#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_OP, 0),
I_XCT => (To_Unbounded_String("XCT"), 16#a6f8#, 16#e7ff#, 1, ONEACC_1_WORD_FMT, ECLIPSE_OP, 0),
I_XFAMD => (To_Unbounded_String("XFAMD"), 16#8019#, 16#87ff#, 2, ONEACC_MODE_IND_2_WORD_X_FMT, EAGLE_FPU, 1),
I_XFAMS => (To_Unbounded_String("XFAMS"), 16#8009#, 16#87ff#, 2, ONEACC_MODE_IND_2_WORD_X_FMT, EAGLE_FPU, 1),
I_XFDMS => (To_Unbounded_String("XFDMS"), 16#8129#, 16#87ff#, 2, ONEACC_MODE_IND_2_WORD_X_FMT, EAGLE_FPU, 1),
I_XFLDD => (To_Unbounded_String("XFLDD"), 16#8219#, 16#87ff#, 2, ONEACC_MODE_IND_2_WORD_X_FMT, EAGLE_FPU, 1),
I_XFLDS => (To_Unbounded_String("XFLDS"), 16#8209#, 16#87ff#, 2, ONEACC_MODE_IND_2_WORD_X_FMT, EAGLE_FPU, 1),
I_XFMMD => (To_Unbounded_String("XFMMD"), 16#8039#, 16#87ff#, 2, ONEACC_MODE_IND_2_WORD_X_FMT, EAGLE_FPU, 1),
I_XFMMS => (To_Unbounded_String("XFMMS"), 16#8029#, 16#87ff#, 2, ONEACC_MODE_IND_2_WORD_X_FMT, EAGLE_FPU, 1),
I_XFSTD => (To_Unbounded_String("XFSTD"), 16#8239#, 16#87ff#, 2, ONEACC_MODE_IND_2_WORD_X_FMT, EAGLE_FPU, 1),
I_XFSTS => (To_Unbounded_String("XFSTS"), 16#8229#, 16#87ff#, 2, ONEACC_MODE_IND_2_WORD_X_FMT, EAGLE_FPU, 1),
I_XJMP => (To_Unbounded_String("XJMP"), 16#c609#, 16#e7ff#, 2, NOACC_MODE_IND_2_WORD_X_FMT, EAGLE_PC, 1),
I_XJSR => (To_Unbounded_String("XJSR"), 16#c619#, 16#e7ff#, 2, NOACC_MODE_IND_2_WORD_X_FMT, EAGLE_PC, 1),
I_XLDB => (To_Unbounded_String("XLDB"), 16#8419#, 16#87ff#, 2, ONEACC_MODE_2_WORD_X_B_FMT, EAGLE_MEMREF, 1),
I_XLEF => (To_Unbounded_String("XLEF"), 16#8409#, 16#87ff#, 2, ONEACC_MODE_IND_2_WORD_X_FMT, EAGLE_MEMREF, 1),
I_XLEFB => (To_Unbounded_String("XLEFB"), 16#8439#, 16#87ff#, 2, ONEACC_MODE_2_WORD_X_B_FMT, EAGLE_MEMREF, 1),
I_XNADD => (To_Unbounded_String("XNADD"), 16#8018#, 16#87ff#, 2, ONEACC_MODE_IND_2_WORD_X_FMT, EAGLE_MEMREF, 1),
I_XNADI => (To_Unbounded_String("XNADI"), 16#8418#, 16#87ff#, 2, IMM_MODE_2_WORD_FMT, EAGLE_MEMREF, 1),
I_XNDO => (To_Unbounded_String("XNDO"), 16#8498#, 16#87ff#, 3, THREE_WORD_DO_FMT, EAGLE_PC, 1),
I_XNDSZ => (To_Unbounded_String("XNDSZ"), 16#a609#, 16#e7ff#, 2, NOACC_MODE_IND_2_WORD_X_FMT, EAGLE_PC, 1),
I_XNISZ => (To_Unbounded_String("XNISZ"), 16#8639#, 16#e7ff#, 2, NOACC_MODE_IND_2_WORD_X_FMT, EAGLE_PC, 1),
I_XNLDA => (To_Unbounded_String("XNLDA"), 16#8329#, 16#87ff#, 2, ONEACC_MODE_IND_2_WORD_X_FMT, EAGLE_MEMREF, 1),
I_XNMUL => (To_Unbounded_String("XNMUL"), 16#8098#, 16#87ff#, 2, ONEACC_MODE_IND_2_WORD_X_FMT, EAGLE_MEMREF, 1),
I_XNSBI => (To_Unbounded_String("XNSBI"), 16#8458#, 16#87ff#, 2, IMM_MODE_2_WORD_FMT, EAGLE_MEMREF, 1),
I_XNSTA => (To_Unbounded_String("XNSTA"), 16#8339#, 16#87ff#, 2, ONEACC_MODE_IND_2_WORD_X_FMT, EAGLE_MEMREF, 1),
I_XNSUB => (To_Unbounded_String("XNSUB"), 16#8058#, 16#87ff#, 2, ONEACC_MODE_IND_2_WORD_X_FMT, EAGLE_MEMREF, 1),
I_XOR => (To_Unbounded_String("XOR"), 16#8148#, 16#87ff#, 1, TWOACC_1_WORD_FMT, ECLIPSE_OP, 0),
I_XORI => (To_Unbounded_String("XORI"), 16#a7f8#, 16#e7ff#, 2, ONEACC_IMM_2_WORD_FMT, ECLIPSE_OP, 0),
I_XPEF => (To_Unbounded_String("XPEF"), 16#8629#, 16#e7ff#, 2, NOACC_MODE_IND_2_WORD_X_FMT, EAGLE_STACK, 1),
I_XPEFB => (To_Unbounded_String("XPEFB"), 16#a629#, 16#e7ff#, 2, NOACC_MODE_2_WORD_FMT, EAGLE_STACK, 1),
I_XPSHJ => (To_Unbounded_String("XPSHJ"), 16#8619#, 16#e7ff#, 2, IMM_MODE_2_WORD_FMT, EAGLE_STACK, 1),
I_XSTB => (To_Unbounded_String("XSTB"), 16#8429#, 16#87ff#, 2, ONEACC_MODE_2_WORD_X_B_FMT, EAGLE_MEMREF, 1),
I_XWADD => (To_Unbounded_String("XWADD"), 16#8118#, 16#87ff#, 2, ONEACC_MODE_IND_2_WORD_X_FMT, EAGLE_MEMREF, 1),
I_XWADI => (To_Unbounded_String("XWADI"), 16#8518#, 16#87ff#, 2, IMM_MODE_2_WORD_FMT, EAGLE_MEMREF, 1),
I_XWDIV => (To_Unbounded_String("XWDIV"), 16#81d8#, 16#87ff#, 2, ONEACC_MODE_IND_2_WORD_X_FMT, EAGLE_MEMREF, 1),
I_XWDO => (To_Unbounded_String("XWDO"), 16#8598#, 16#87ff#, 3, THREE_WORD_DO_FMT, EAGLE_PC, 1),
I_XWDSZ => (To_Unbounded_String("XWDSZ"), 16#A639#, 16#e7FF#, 2, NOACC_MODE_IND_2_WORD_X_FMT, EAGLE_PC, 1),
I_XWISZ => (To_Unbounded_String("XWISZ"), 16#a619#, 16#e7ff#, 2, NOACC_MODE_IND_2_WORD_X_FMT, EAGLE_PC, 1),
I_XWLDA => (To_Unbounded_String("XWLDA"), 16#8309#, 16#87ff#, 2, ONEACC_MODE_IND_2_WORD_X_FMT, EAGLE_MEMREF, 1),
I_XWMUL => (To_Unbounded_String("XWMUL"), 16#8198#, 16#87ff#, 2, ONEACC_MODE_IND_2_WORD_X_FMT, EAGLE_MEMREF, 1),
I_XWSBI => (To_Unbounded_String("XWSBI"), 16#8558#, 16#87ff#, 2, IMM_MODE_2_WORD_FMT, EAGLE_MEMREF, 1),
I_XWSTA => (To_Unbounded_String("XWSTA"), 16#8319#, 16#87ff#, 2, ONEACC_MODE_IND_2_WORD_X_FMT, EAGLE_MEMREF, 1),
I_XWSUB => (To_Unbounded_String("XWSUB"), 16#8158#, 16#87ff#, 2, ONEACC_MODE_IND_2_WORD_X_FMT, EAGLE_MEMREF, 1),
I_ZEX => (To_Unbounded_String("ZEX"), 16#8359#, 16#87ff#, 1, TWOACC_1_WORD_FMT, EAGLE_OP, 0),
-- These are handled differently...
-- The values here are dummies - they are actually set in Decooder
I_CINTR => (To_Unbounded_String(""), 0, 0, 2, MULTI_PROC_2_WORD_FMT, EAGLE_MP, 0),
I_IMODE => (To_Unbounded_String(""), 0, 0, 2, MULTI_PROC_2_WORD_FMT, EAGLE_MP, 0),
I_JPFLOAD => (To_Unbounded_String(""), 0, 0, 2, MULTI_PROC_2_WORD_FMT, EAGLE_MP, 0),
I_JPFLUSH => (To_Unbounded_String(""), 0, 0, 2, MULTI_PROC_2_WORD_FMT, EAGLE_MP, 0),
I_JPID => (To_Unbounded_String(""), 0, 0, 2, MULTI_PROC_2_WORD_FMT, EAGLE_MP, 0),
I_JPLCS => (To_Unbounded_String(""), 0, 0, 2, MULTI_PROC_2_WORD_FMT, EAGLE_MP, 0),
I_JPLOAD => (To_Unbounded_String(""), 0, 0, 2, MULTI_PROC_2_WORD_FMT, EAGLE_MP, 0),
I_JPSTART => (To_Unbounded_String(""), 0, 0, 2, MULTI_PROC_2_WORD_FMT, EAGLE_MP, 0),
I_JPSTATUS => (To_Unbounded_String(""), 0, 0, 2, MULTI_PROC_2_WORD_FMT, EAGLE_MP, 0),
I_JPSTOP => (To_Unbounded_String(""), 0, 0, 2, MULTI_PROC_2_WORD_FMT, EAGLE_MP, 0)
);
end CPU_Instructions;