Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #ifndef __SYS_INST_H__
00037 #define __SYS_INST_H__
00038
00039
00040
00041
00042
00043
00044
00045 #define bb_ma_format ma_format
00046
00047 #ifndef _MIPSEL
00048 union mips_instruction {
00049 unsigned word;
00050 unsigned char byte[4];
00051 struct {
00052 unsigned opcode : 6;
00053 unsigned target : 26;
00054 } j_format;
00055 struct {
00056 unsigned opcode : 6;
00057 unsigned rs : 5;
00058 unsigned rt : 5;
00059 signed simmediate : 16;
00060 } i_format;
00061 struct {
00062 unsigned opcode : 6;
00063 unsigned rs : 5;
00064 unsigned rt : 5;
00065 unsigned uimmediate : 16;
00066 } u_format;
00067 struct {
00068 unsigned opcode : 6;
00069 unsigned rs : 5;
00070 unsigned c_op : 3;
00071 unsigned cache : 2;
00072 unsigned simmediate : 16;
00073 } c_format;
00074 struct {
00075 unsigned opcode : 6;
00076 unsigned rs : 5;
00077 unsigned rt : 5;
00078 unsigned rd : 5;
00079 unsigned re : 5;
00080 unsigned func : 6;
00081 } r_format;
00082 struct {
00083 unsigned opcode : 6;
00084 unsigned : 1;
00085 unsigned fmt : 4;
00086 unsigned rt : 5;
00087 unsigned rd : 5;
00088 unsigned re : 5;
00089 unsigned func : 6;
00090 } f_format;
00091 struct {
00092 unsigned opcode : 6;
00093 unsigned fr : 5;
00094 unsigned ft : 5;
00095 unsigned fs : 5;
00096 unsigned fd : 5;
00097 unsigned func : 3;
00098 unsigned fmt : 3;
00099 } ma_format;
00100 struct {
00101 unsigned opcode : 6;
00102 unsigned rs : 5;
00103 unsigned ft : 5;
00104 unsigned fs : 5;
00105 unsigned fd : 5;
00106 unsigned func : 6;
00107 } ps_format;
00108 struct {
00109 unsigned opcode : 6;
00110 unsigned sel : 4;
00111 unsigned fmt : 1;
00112 unsigned vt : 5;
00113 unsigned vs : 5;
00114 unsigned vd : 5;
00115 unsigned func : 6;
00116 } v_format;
00117
00118 };
00119 #endif
00120
00121 #ifdef _MIPSEL
00122 union mips_instruction {
00123 unsigned word;
00124 unsigned char byte[4];
00125 struct {
00126 unsigned target : 26;
00127 unsigned opcode : 6;
00128 } j_format;
00129 struct {
00130 signed simmediate : 16;
00131 unsigned rt : 5;
00132 unsigned rs : 5;
00133 unsigned opcode : 6;
00134 } i_format;
00135 struct {
00136 unsigned uimmediate : 16;
00137 unsigned rt : 5;
00138 unsigned rs : 5;
00139 unsigned opcode : 6;
00140 } u_format;
00141 struct {
00142 unsigned simmediate : 16;
00143 unsigned cache : 2;
00144 unsigned c_op : 3;
00145 unsigned rs : 5;
00146 unsigned opcode : 6;
00147 } c_format;
00148 struct {
00149 unsigned func : 6;
00150 unsigned re : 5;
00151 unsigned rd : 5;
00152 unsigned rt : 5;
00153 unsigned rs : 5;
00154 unsigned opcode : 6;
00155 } r_format;
00156 struct {
00157 unsigned func : 6;
00158 unsigned re : 5;
00159 unsigned rd : 5;
00160 unsigned rt : 5;
00161 unsigned fmt : 4;
00162 unsigned : 1;
00163 unsigned opcode : 6;
00164 } f_format;
00165 struct {
00166 unsigned fmt : 3;
00167 unsigned func : 3;
00168 unsigned fd : 5;
00169 unsigned fs : 5;
00170 unsigned ft : 5;
00171 unsigned fr : 5;
00172 unsigned opcode : 6;
00173 } ma_format;
00174 struct {
00175 unsigned func : 6;
00176 unsigned fd : 5;
00177 unsigned fs : 5;
00178 unsigned ft : 5;
00179 unsigned rs : 5;
00180 unsigned opcode : 6;
00181 } ps_format;
00182 struct {
00183 unsigned func : 6;
00184 unsigned vd : 5;
00185 unsigned vs : 5;
00186 unsigned vt : 5;
00187 unsigned fmt : 1;
00188 unsigned sel : 4;
00189 unsigned opcode : 6;
00190 } v_format;
00191 };
00192 #endif
00193
00194
00195 #define spec_op 0x00
00196 #define bcond_op 0x01
00197 #define j_op 0x02
00198 #define jal_op 0x03
00199
00200 #define beq_op 0x04
00201 #define bne_op 0x05
00202 #define blez_op 0x06
00203 #define bgtz_op 0x07
00204
00205 #define addi_op 0x08
00206 #define addiu_op 0x09
00207 #define slti_op 0x0A
00208 #define sltiu_op 0x0B
00209
00210 #define andi_op 0x0C
00211 #define ori_op 0x0D
00212 #define xori_op 0x0E
00213 #define lui_op 0x0F
00214
00215 #define cop0_op 0x10
00216 #define cop1_op 0x11
00217 #define cop2_op 0x12
00218 #define cop1x_op 0x13
00219
00220 #define beql_op 0x14
00221 #define bnel_op 0x15
00222 #define blezl_op 0x16
00223 #define bgtzl_op 0x17
00224
00225 #define daddi_op 0x18
00226 #define daddiu_op 0x19
00227 #define ldl_op 0x1A
00228 #define ldr_op 0x1B
00229
00230 #define lb_op 0x20
00231 #define lh_op 0x21
00232 #define lwl_op 0x22
00233 #define lw_op 0x23
00234
00235 #define lbu_op 0x24
00236 #define lhu_op 0x25
00237 #define lwr_op 0x26
00238 #define lwu_op 0x27
00239
00240 #define sb_op 0x28
00241 #define sh_op 0x29
00242 #define swl_op 0x2A
00243 #define sw_op 0x2B
00244
00245 #define sdl_op 0x2C
00246 #define sdr_op 0x2D
00247 #define swr_op 0x2E
00248 #define cache_op 0x2F
00249
00250 #define ll_op 0x30
00251 #define lwc1_op 0x31
00252 #define lwc2_op 0x32
00253 #define pref_op 0x33
00254
00255 #define lld_op 0x34
00256 #define ldc1_op 0x35
00257 #define ldc2_op 0x36
00258 #define ld_op 0x37
00259
00260 #define sc_op 0x38
00261 #define swc1_op 0x39
00262 #define swc2_op 0x3A
00263
00264 #define scd_op 0x3C
00265 #define sdc1_op 0x3D
00266 #define sdc2_op 0x3E
00267 #define sd_op 0x3F
00268
00269
00270 #define sll_op 0x00
00271 #define movc_op 0x01
00272 #define srl_op 0x02
00273 #define sra_op 0x03
00274
00275 #define sllv_op 0x04
00276 #define srlv_op 0x06
00277 #define srav_op 0x07
00278
00279 #define jr_op 0x08
00280 #define jalr_op 0x09
00281 #define movz_op 0x0A
00282 #define movn_op 0x0B
00283
00284 #define syscall_op 0x0C
00285 #define break_op 0x0D
00286 #define spim_op 0x0E
00287 #define sync_op 0x0F
00288
00289 #define mfhi_op 0x10
00290 #define mthi_op 0x11
00291 #define mflo_op 0x12
00292 #define mtlo_op 0x13
00293
00294 #define dsllv_op 0x14
00295 #define dsrlv_op 0x16
00296 #define dsrav_op 0x17
00297
00298 #define mult_op 0x18
00299 #define multu_op 0x19
00300 #define div_op 0x1A
00301 #define divu_op 0x1B
00302
00303 #define dmult_op 0x1C
00304 #define dmultu_op 0x1D
00305 #define ddiv_op 0x1E
00306 #define ddivu_op 0x1F
00307
00308 #define add_op 0x20
00309 #define addu_op 0x21
00310 #define sub_op 0x22
00311 #define subu_op 0x23
00312
00313 #define and_op 0x24
00314 #define or_op 0x25
00315 #define xor_op 0x26
00316 #define nor_op 0x27
00317
00318 #define slt_op 0x2A
00319 #define sltu_op 0x2B
00320
00321 #define dadd_op 0x2C
00322 #define daddu_op 0x2D
00323 #define dsub_op 0x2E
00324 #define dsubu_op 0x2F
00325
00326 #define tge_op 0x30
00327 #define tgeu_op 0x31
00328 #define tlt_op 0x32
00329 #define tltu_op 0x33
00330
00331 #define teq_op 0x34
00332 #define tne_op 0x36
00333
00334 #define dsll_op 0x38
00335 #define dsrl_op 0x3A
00336 #define dsra_op 0x3B
00337
00338 #define dsll32_op 0x3C
00339 #define dsrl32_op 0x3E
00340 #define dsra32_op 0x3F
00341
00342
00343 #define bltz_op 0x00
00344 #define bgez_op 0x01
00345 #define bltzl_op 0x02
00346 #define bgezl_op 0x03
00347
00348 #define spimi_op 0x04
00349
00350 #define tgei_op 0x08
00351 #define tgeiu_op 0x09
00352 #define tlti_op 0x0A
00353 #define tltiu_op 0x0B
00354
00355 #define teqi_op 0x0C
00356 #define tnei_op 0x0E
00357
00358 #define bltzal_op 0x10
00359 #define bgezal_op 0x11
00360 #define bltzall_op 0x12
00361 #define bgezall_op 0x13
00362
00363
00364 #define mfc_op 0x00
00365 #define dmfc_op 0x01
00366 #define cfc_op 0x02
00367 #define mtc_op 0x04
00368 #define dmtc_op 0x05
00369 #define ctc_op 0x06
00370 #define bc_op 0x08
00371 #define cop_op 0x10
00372 #define copm_op 0x18
00373
00374
00375 #define tlbr_op 0x01
00376 #define tlbwi_op 0x02
00377 #define tlbwr_op 0x06
00378 #define tlbp_op 0x08
00379 #define rfe_op 0x10
00380 #define eret_op 0x18
00381
00382
00383 #define tlbr1_op 0x01
00384 #define tlbw_op 0x02
00385 #define tlbp1_op 0x08
00386 #define dctr_op 0x09
00387 #define dctw_op 0x0A
00388
00389
00390 #define s_fmt 0
00391 #define d_fmt 1
00392 #define e_fmt 2
00393 #define q_fmt 3
00394 #define w_fmt 4
00395 #define l_fmt 5
00396 #define ps_fmt 6
00397
00398
00399 #define fadd_op 0x00
00400 #define fsub_op 0x01
00401 #define fmul_op 0x02
00402 #define fdiv_op 0x03
00403
00404 #define fsqrt_op 0x04
00405 #define fabs_op 0x05
00406 #define fmov_op 0x06
00407 #define fneg_op 0x07
00408
00409 #define froundl_op 0x08
00410 #define ftruncl_op 0x09
00411 #define fceill_op 0x0a
00412 #define ffloorl_op 0x0b
00413
00414 #define fround_op 0x0c
00415 #define ftrunc_op 0x0d
00416 #define fceil_op 0x0e
00417 #define ffloor_op 0x0f
00418
00419 #define fmovc_op 0x11
00420 #define fmovz_op 0x12
00421 #define fmovn_op 0x13
00422
00423 #define frecip_op 0x15
00424 #define frsqrt_op 0x16
00425
00426 #define fcvts_op 0x20
00427 #define fcvtspl_op 0x20
00428 #define fcvtd_op 0x21
00429 #define fcvte_op 0x22
00430
00431 #define fcvtw_op 0x24
00432 #define fcvtl_op 0x25
00433 #define fcvtps_op 0x26
00434 #define fcvtspu_op 0x28
00435 #define fpll_op 0x2c
00436 #define fplu_op 0x2d
00437 #define fpul_op 0x2e
00438 #define fpuu_op 0x2f
00439
00440 #define fcmp_op 0x30
00441
00442
00443
00444 #define lwxc1_op 0x00
00445 #define ldxc1_op 0x01
00446 #define luxc1_op 0x05
00447 #define swxc1_op 0x08
00448 #define sdxc1_op 0x09
00449 #define suxc1_op 0x0d
00450 #define pfetch_op 0x0f
00451 #define alnv_ps_op 0x1c
00452 #define madd_s_op 0x20
00453 #define madd_d_op 0x21
00454 #define madd_e_op 0x22
00455 #define madd_ps_op 0x26
00456 #define msub_s_op 0x28
00457 #define msub_d_op 0x29
00458 #define msub_e_op 0x2a
00459 #define msub_ps_op 0x2e
00460 #define nmadd_s_op 0x30
00461 #define nmadd_d_op 0x31
00462 #define nmadd_e_op 0x32
00463 #define nmadd_ps_op 0x36
00464 #define nmsub_s_op 0x38
00465 #define nmsub_d_op 0x39
00466 #define nmsub_e_op 0x3a
00467 #define nmsub_ps_op 0x3e
00468
00469
00470 #define vmsgn_op 0x00
00471 #define vcmp_eq_op 0x01
00472 #define vpickf_op 0x02
00473 #define vpickt_op 0x03
00474 #define vcmp_lt_op 0x04
00475 #define vcmp_le_op 0x05
00476 #define vmin_op 0x06
00477 #define vmax_op 0x07
00478 #define vsub_op 0x0a
00479 #define vadd_op 0x0b
00480 #define vand_op 0x0c
00481 #define vxor_op 0x0d
00482 #define vor_op 0x0e
00483 #define vnor_op 0x0f
00484 #define vsll_op 0x10
00485 #define vsrl_op 0x12
00486 #define vsra_op 0x13
00487 #define valni_ob_op 0x18
00488 #define valnv_ob_op 0x19
00489 #define valni_qh_op 0x1a
00490 #define valnv_qh_op 0x1b
00491 #define vshfl_op 0x1f
00492 #define vrnd_zu_op 0x20
00493 #define vrnd_nau_op 0x21
00494 #define vrnd_neu_op 0x22
00495 #define vrnd_zs_op 0x24
00496 #define vrnd_nas_op 0x25
00497 #define vrnd_nes_op 0x26
00498 #define vmul_op 0x30
00499 #define vmuls_op 0x32
00500 #define vmula_op 0x33
00501 #define vsuba_op 0x36
00502 #define vadda_op 0x37
00503 #define vwac_op 0x3e
00504 #define vrac_op 0x3f
00505
00506
00507 #define ob_fmt 0x0
00508 #define qh_fmt 0x1
00509
00510
00511 #define madd_op 0x04
00512 #define msub_op 0x05
00513 #define nmadd_op 0x06
00514 #define nmsub_op 0x07
00515
00516
00517 #define cop3_op 0x13
00518
00519
00520 #ifdef _LANGUAGE_PASCAL
00521
00522 #ifdef _MIPSEB
00523 type
00524 mips_instruction =
00525 packed record
00526 case cardinal of
00527 0: (
00528 word: cardinal;
00529 );
00530 1: (
00531 byte: packed array[0..3] of 0..255;
00532 );
00533 2: (
00534 opcode: 0..63;
00535 target: 0..67108863;
00536 );
00537 3: (
00538 opcode3: 0..63;
00539 rs: 0..31;
00540 rt: 0..31;
00541 simmediate: -32768..32767;
00542 );
00543 4: (
00544 opcode4: 0..63;
00545 rs4: 0..63;
00546 rt4: 0..63;
00547 uimmediate: 0..65535;
00548 );
00549 5: (
00550 opcode5: 0..63;
00551 rs5: 0..63;
00552 rt5: 0..63;
00553 rd5: 0..63;
00554 re5: 0..63;
00555 func: 0..63;
00556 );
00557 end {record};
00558 #endif
00559
00560 #ifdef _MIPSEL
00561 type
00562 mips_instruction =
00563 packed record
00564 case cardinal of
00565 0: (
00566 word: cardinal;
00567 );
00568 1: (
00569 byte: packed array[0..3] of 0..255;
00570 );
00571 2: (
00572 target: 0..67108863;
00573 opcode: 0..63;
00574 );
00575 3: (
00576 simmediate: -32768..32767;
00577 rt: 0..31;
00578 rs: 0..31;
00579 opcode3: 0..63;
00580 );
00581 4: (
00582 uimmediate: 0..65535;
00583 rt4: 0..63;
00584 rs4: 0..63;
00585 opcode4: 0..63;
00586 );
00587 5: (
00588 func: 0..63;
00589 re5: 0..63;
00590 rd5: 0..63;
00591 rt5: 0..63;
00592 rs5: 0..63;
00593 opcode5: 0..63;
00594 );
00595 end {record};
00596 #endif
00597
00598 const
00599
00600 spec_op = 16#00;
00601 bcond_op = 16#01;
00602 j_op = 16#02;
00603 jal_op = 16#03;
00604
00605 beq_op = 16#04;
00606 bne_op = 16#05;
00607 blez_op = 16#06;
00608 bgtz_op = 16#07;
00609
00610 addi_op = 16#08;
00611 addiu_op = 16#09;
00612 slti_op = 16#0A;
00613 sltiu_op = 16#0B;
00614
00615 andi_op = 16#0C;
00616 ori_op = 16#0D;
00617 xori_op = 16#0E;
00618 lui_op = 16#0F;
00619
00620 cop0_op = 16#10;
00621 cop1_op = 16#11;
00622 cop2_op = 16#12;
00623 cop1x_op = 16#13;
00624
00625 beql_op = 16#14;
00626 bnel_op = 16#15;
00627 blezl_op = 16#16;
00628 bgtzl_op = 16#17;
00629
00630 daddi_op = 16#18;
00631 daddiu_op = 16#19;
00632 ldl_op = 16#1A;
00633 ldr_op = 16#1B;
00634
00635 lb_op = 16#20;
00636 lh_op = 16#21;
00637 lwl_op = 16#22;
00638 lw_op = 16#23;
00639
00640 lbu_op = 16#24;
00641 lhu_op = 16#25;
00642 lwr_op = 16#26;
00643 lwu_op = 16#27;
00644
00645 sb_op = 16#28;
00646 sh_op = 16#29;
00647 swl_op = 16#2A;
00648 sw_op = 16#2B;
00649
00650 sdl_op = 16#2C;
00651 sdr_op = 16#2D;
00652 swr_op = 16#2E;
00653 cache_op = 16#2F;
00654
00655 ll_op = 16#30;
00656 lwc1_op = 16#31;
00657 lwc2_op = 16#32;
00658 pref_op = 16#33;
00659
00660 lld_op = 16#34;
00661 ldc1_op = 16#35;
00662 ldc2_op = 16#36;
00663 ld_op = 16#37;
00664
00665 sc_op = 16#38;
00666 swc1_op = 16#39;
00667 swc2_op = 16#3A;
00668
00669 scd_op = 16#3C;
00670 sdc1_op = 16#3D;
00671 sdc2_op = 16#3E;
00672 sd_op = 16#3F;
00673
00674
00675 sll_op = 16#00;
00676 movc_op = 16#01;
00677 srl_op = 16#02;
00678 sra_op = 16#03;
00679
00680 sllv_op = 16#04;
00681 srlv_op = 16#06;
00682 srav_op = 16#07;
00683
00684 jr_op = 16#08;
00685 jalr_op = 16#09;
00686 movz_op = 16#0A;
00687 movn_op = 16#0B;
00688
00689 syscall_op = 16#0C;
00690 break_op = 16#0D;
00691 spim_op = 16#0E;
00692 sync_op = 16#0F;
00693
00694 mfhi_op = 16#10;
00695 mthi_op = 16#11;
00696 mflo_op = 16#12;
00697 mtlo_op = 16#13;
00698
00699 dsllv_op = 16#14;
00700 dsrlv_op = 16#16;
00701 dsrav_op = 16#17;
00702
00703 mult_op = 16#18;
00704 multu_op = 16#19;
00705 div_op = 16#1A;
00706 divu_op = 16#1B;
00707
00708 dmult_op = 16#1C;
00709 dmultu_op = 16#1D;
00710 ddiv_op = 16#1E;
00711 ddivu_op = 16#1F;
00712
00713 add_op = 16#20;
00714 addu_op = 16#21;
00715 sub_op = 16#22;
00716 subu_op = 16#23;
00717
00718 and_op = 16#24;
00719 or_op = 16#25;
00720 xor_op = 16#26;
00721 nor_op = 16#27;
00722
00723 slt_op = 16#2A;
00724 sltu_op = 16#2B;
00725
00726 dadd_op = 16#2C;
00727 daddu_op = 16#2D;
00728 dsub_op = 16#2E;
00729 dsubu_op = 16#2F;
00730
00731 tge_op = 16#30;
00732 tgeu_op = 16#31;
00733 tlt_op = 16#32;
00734 tltu_op = 16#33;
00735
00736 teq_op = 16#34;
00737 tne_op = 16#36;
00738
00739 dsll_op = 16#38;
00740 dsrl_op = 16#3A;
00741 dsra_op = 16#3B;
00742
00743 dsll32_op = 16#3C;
00744 dsrl32_op = 16#3E;
00745 dsra32_op = 16#3F;
00746
00747
00748 bltz_op = 16#00;
00749 bgez_op = 16#01;
00750 bltzl_op = 16#02;
00751 bgezl_op = 16#03;
00752
00753 spimi_op = 16#04;
00754
00755 tgei_op = 16#08;
00756 tgeiu_op = 16#09;
00757 tlti_op = 16#0A;
00758 tltiu_op = 16#0B;
00759
00760 teqi_op = 16#0C;
00761 tnei_op = 16#0E;
00762
00763 bltzal_op = 16#10;
00764 bgezal_op = 16#11;
00765 bltzall_op = 16#12;
00766 bgezall_op = 16#13;
00767
00768
00769 mfc_op = 16#00;
00770 dmfc_op = 16#01;
00771 cfc_op = 16#02;
00772 mtc_op = 16#04;
00773 dmtc_op = 16#05;
00774 ctc_op = 16#06;
00775 bc_op = 16#08;
00776 cop_op = 16#10;
00777 copm_op = 16#18;
00778
00779
00780 tlbr_op = 16#1;
00781 tlbwi_op = 16#2;
00782 tlbwr_op = 16#6;
00783 tlbp_op = 16#8;
00784 rfe_op = 16#10;
00785 eret_op = 16#18;
00786
00787
00788 tlbr1_op = 16#1;
00789 tlbw_op = 16#2;
00790 tlbp1_op = 16#8;
00791 dctr_op = 16#9;
00792 dctw_op = 16#a;
00793
00794
00795 s_fmt = 0;
00796 d_fmt = 1;
00797 e_fmt = 2;
00798 q_fmt = 3;
00799 w_fmt = 4;
00800 l_fmt = 5;
00801 ps_fmt = 6;
00802
00803
00804 fadd_op = 16#00;
00805 fsub_op = 16#01;
00806 fmul_op = 16#02;
00807 fdiv_op = 16#03;
00808
00809 fsqrt_op = 16#04;
00810 fabs_op = 16#05;
00811 fmov_op = 16#06;
00812 fneg_op = 16#07;
00813
00814 froundl_op = 16#08;
00815 ftruncl_op = 16#09;
00816 fceill_op = 16#0a;
00817 ffloorl_op = 16#0b;
00818
00819 fround_op = 16#0c;
00820 ftrunc_op = 16#0d;
00821 fceil_op = 16#0e;
00822 ffloor_op = 16#0f;
00823
00824 fmovc_op = 16#11;
00825 fmovz_op = 16#12;
00826 fmovn_op = 16#13;
00827
00828 frecip_op = 16#15;
00829 frsqrt_op = 16#16;
00830
00831 fcvts_op = 16#20;
00832 fcvtd_op = 16#21;
00833 fcvte_op = 16#22;
00834
00835 fcvtw_op = 16#24;
00836 fcvtl_op = 16#25;
00837
00838 fcmp_op = 16#30;
00839
00840
00841 lwxc1_op = 16#00;
00842 ldxc1_op = 16#01;
00843 swxc1_op = 16#08;
00844 sdxc1_op = 16#09;
00845 pfetch_op = 16#0F;
00846 madd_s_op = 16#20;
00847 madd_d_op = 16#21;
00848 msub_s_op = 16#28;
00849 msub_d_op = 16#29;
00850 nmadd_s_op = 16#30;
00851 nmadd_d_op = 16#31;
00852 nmsub_s_op = 16#38;
00853 nmsub_d_op = 16#39;
00854
00855
00856 madd_op = 16#04;
00857 msub_op = 16#05;
00858 nmadd_op = 16#06;
00859 nmsub_op = 16#07;
00860
00861 #endif
00862
00863 #endif