1# SPDX-License-Identifier: LGPL-2.0-or-later 2# 3# Sparc instruction decode definitions. 4# Copyright (c) 2023 Richard Henderson <rth@twiddle.net> 5 6## 7## Major Opcodes 00 and 01 -- branches, call, and sethi. 8## 9 10&bcc i a cond cc 11BPcc 00 a:1 cond:4 001 cc:1 0 - i:s19 &bcc 12Bicc 00 a:1 cond:4 010 i:s22 &bcc cc=0 13FBPfcc 00 a:1 cond:4 101 cc:2 - i:s19 &bcc 14FBfcc 00 a:1 cond:4 110 i:s22 &bcc cc=0 15 16%d16 20:s2 0:14 17BPr 00 a:1 0 cond:3 011 .. - rs1:5 .............. i=%d16 18 19NCP 00 - ---- 111 ---------------------- # CBcc 20 21SETHI 00 rd:5 100 i:22 22 23CALL 01 i:s30 24 25## 26## Major Opcode 10 -- integer, floating-point, vis, and system insns. 27## 28 29%dfp_rd 25:5 !function=extract_dfpreg 30%dfp_rs1 14:5 !function=extract_dfpreg 31%dfp_rs2 0:5 !function=extract_dfpreg 32%dfp_rs3 9:5 !function=extract_dfpreg 33 34%qfp_rd 25:5 !function=extract_qfpreg 35%qfp_rs1 14:5 !function=extract_qfpreg 36%qfp_rs2 0:5 !function=extract_qfpreg 37 38&r_r_ri rd rs1 rs2_or_imm imm:bool 39@n_r_ri .. ..... ...... rs1:5 imm:1 rs2_or_imm:s13 &r_r_ri rd=0 40@r_r_ri .. rd:5 ...... rs1:5 imm:1 rs2_or_imm:s13 &r_r_ri 41 42&r_r_ri_cc rd rs1 rs2_or_imm imm:bool cc:bool 43@r_r_ri_cc .. rd:5 . cc:1 .... rs1:5 imm:1 rs2_or_imm:s13 &r_r_ri_cc 44@r_r_ri_cc0 .. rd:5 ...... rs1:5 imm:1 rs2_or_imm:s13 &r_r_ri_cc cc=0 45@r_r_ri_cc1 .. rd:5 ...... rs1:5 imm:1 rs2_or_imm:s13 &r_r_ri_cc cc=1 46 47&r_r_r rd rs1 rs2 48@r_r_r .. rd:5 ...... rs1:5 . ........ rs2:5 &r_r_r 49@d_r_r .. ..... ...... rs1:5 . ........ rs2:5 \ 50 &r_r_r rd=%dfp_rd 51@r_d_d .. rd:5 ...... ..... . ........ ..... \ 52 &r_r_r rs1=%dfp_rs1 rs2=%dfp_rs2 53@d_r_d .. ..... ...... rs1:5 . ........ ..... \ 54 &r_r_r rd=%dfp_rd rs2=%dfp_rs2 55@d_d_d .. ..... ...... ..... . ........ ..... \ 56 &r_r_r rd=%dfp_rd rs1=%dfp_rs1 rs2=%dfp_rs2 57@q_q_q .. ..... ...... ..... . ........ ..... \ 58 &r_r_r rd=%qfp_rd rs1=%qfp_rs1 rs2=%qfp_rs2 59@q_d_d .. ..... ...... ..... . ........ ..... \ 60 &r_r_r rd=%qfp_rd rs1=%dfp_rs1 rs2=%dfp_rs2 61 62@r_r_r_swap .. rd:5 ...... rs2:5 . ........ rs1:5 &r_r_r 63@d_d_d_swap .. ..... ...... ..... . ........ ..... \ 64 &r_r_r rd=%dfp_rd rs1=%dfp_rs2 rs2=%dfp_rs1 65 66&r_r rd rs 67@r_r1 .. rd:5 ...... rs:5 . ........ ..... &r_r 68@r_r2 .. rd:5 ...... ..... . ........ rs:5 &r_r 69@r_d2 .. rd:5 ...... ..... . ........ ..... &r_r rs=%dfp_rs2 70@r_q2 .. rd:5 ...... ..... . ........ ..... &r_r rs=%qfp_rs2 71@d_r2 .. ..... ...... ..... . ........ rs:5 &r_r rd=%dfp_rd 72@q_r2 .. ..... ...... ..... . ........ rs:5 &r_r rd=%qfp_rd 73@d_d1 .. ..... ...... ..... . ........ ..... \ 74 &r_r rd=%dfp_rd rs=%dfp_rs1 75@d_d2 .. ..... ...... ..... . ........ ..... \ 76 &r_r rd=%dfp_rd rs=%dfp_rs2 77@d_q2 .. ..... ...... ..... . ........ ..... \ 78 &r_r rd=%dfp_rd rs=%qfp_rs2 79@q_q2 .. ..... ...... ..... . ........ ..... \ 80 &r_r rd=%qfp_rd rs=%qfp_rs2 81@q_d2 .. ..... ...... ..... . ........ ..... \ 82 &r_r rd=%qfp_rd rs=%dfp_rs2 83 84&r_r_r_r rd rs1 rs2 rs3 85@r_r_r_r .. rd:5 ...... rs1:5 rs3:5 .... rs2:5 &r_r_r_r 86@d_d_d_d .. ..... ...... ..... ..... .... ..... \ 87 &r_r_r_r rd=%dfp_rd rs1=%dfp_rs1 rs2=%dfp_rs2 rs3=%dfp_rs3 88 89{ 90 [ 91 STBAR 10 00000 101000 01111 0 0000000000000 92 MEMBAR 10 00000 101000 01111 1 000000 cmask:3 mmask:4 93 94 RDCCR 10 rd:5 101000 00010 0 0000000000000 95 RDASI 10 rd:5 101000 00011 0 0000000000000 96 RDTICK 10 rd:5 101000 00100 0 0000000000000 97 RDPC 10 rd:5 101000 00101 0 0000000000000 98 RDFPRS 10 rd:5 101000 00110 0 0000000000000 99 { 100 RDASR17 10 rd:5 101000 10001 0 0000000000000 101 RDPIC 10 rd:5 101000 10001 0 0000000000000 102 } 103 RDGSR 10 rd:5 101000 10011 0 0000000000000 104 RDSOFTINT 10 rd:5 101000 10110 0 0000000000000 105 RDTICK_CMPR 10 rd:5 101000 10111 0 0000000000000 106 RDSTICK 10 rd:5 101000 11000 0 0000000000000 107 RDSTICK_CMPR 10 rd:5 101000 11001 0 0000000000000 108 RDSTRAND_STATUS 10 rd:5 101000 11010 0 0000000000000 109 ] 110 # Before v8, all rs1 accepted; otherwise rs1==0. 111 RDY 10 rd:5 101000 rs1:5 0 0000000000000 112} 113 114{ 115 [ 116 WRY 10 00000 110000 ..... . ............. @n_r_ri 117 WRCCR 10 00010 110000 ..... . ............. @n_r_ri 118 WRASI 10 00011 110000 ..... . ............. @n_r_ri 119 WRFPRS 10 00110 110000 ..... . ............. @n_r_ri 120 WRPCR 10 10000 110000 01000 0 0000000000000 121 WRPIC 10 10001 110000 01000 0 0000000000000 122 { 123 WRGSR 10 10011 110000 ..... . ............. @n_r_ri 124 WRPOWERDOWN 10 10011 110000 ..... . ............. @n_r_ri 125 } 126 WRSOFTINT_SET 10 10100 110000 ..... . ............. @n_r_ri 127 WRSOFTINT_CLR 10 10101 110000 ..... . ............. @n_r_ri 128 WRSOFTINT 10 10110 110000 ..... . ............. @n_r_ri 129 WRTICK_CMPR 10 10111 110000 ..... . ............. @n_r_ri 130 WRSTICK 10 11000 110000 ..... . ............. @n_r_ri 131 WRSTICK_CMPR 10 11001 110000 ..... . ............. @n_r_ri 132 WRMWAIT 10 11100 110000 ..... . ............. @n_r_ri 133 ] 134 # Before v8, rs1==0 was WRY, and the rest executed as nop. 135 [ 136 NOP_v7 10 ----- 110000 ----- 0 00000000 ----- 137 NOP_v7 10 ----- 110000 ----- 1 -------- ----- 138 ] 139} 140 141{ 142 RDPSR 10 rd:5 101001 00000 0 0000000000000 143 RDHPR_hpstate 10 rd:5 101001 00000 0 0000000000000 144} 145RDHPR_htstate 10 rd:5 101001 00001 0 0000000000000 146RDHPR_hintp 10 rd:5 101001 00011 0 0000000000000 147RDHPR_htba 10 rd:5 101001 00101 0 0000000000000 148RDHPR_hver 10 rd:5 101001 00110 0 0000000000000 149RDHPR_hstick_cmpr 10 rd:5 101001 11111 0 0000000000000 150 151{ 152 WRPSR 10 00000 110001 ..... . ............. @n_r_ri 153 SAVED 10 00000 110001 00000 0 0000000000000 154} 155RESTORED 10 00001 110001 00000 0 0000000000000 156# UA2005 ALLCLEAN 157# UA2005 OTHERW 158# UA2005 NORMALW 159# UA2005 INVALW 160 161{ 162 RDWIM 10 rd:5 101010 00000 0 0000000000000 163 RDPR_tpc 10 rd:5 101010 00000 0 0000000000000 164} 165RDPR_tnpc 10 rd:5 101010 00001 0 0000000000000 166RDPR_tstate 10 rd:5 101010 00010 0 0000000000000 167RDPR_tt 10 rd:5 101010 00011 0 0000000000000 168RDPR_tick 10 rd:5 101010 00100 0 0000000000000 169RDPR_tba 10 rd:5 101010 00101 0 0000000000000 170RDPR_pstate 10 rd:5 101010 00110 0 0000000000000 171RDPR_tl 10 rd:5 101010 00111 0 0000000000000 172RDPR_pil 10 rd:5 101010 01000 0 0000000000000 173RDPR_cwp 10 rd:5 101010 01001 0 0000000000000 174RDPR_cansave 10 rd:5 101010 01010 0 0000000000000 175RDPR_canrestore 10 rd:5 101010 01011 0 0000000000000 176RDPR_cleanwin 10 rd:5 101010 01100 0 0000000000000 177RDPR_otherwin 10 rd:5 101010 01101 0 0000000000000 178RDPR_wstate 10 rd:5 101010 01110 0 0000000000000 179RDPR_gl 10 rd:5 101010 10000 0 0000000000000 180RDPR_strand_status 10 rd:5 101010 11010 0 0000000000000 181RDPR_ver 10 rd:5 101010 11111 0 0000000000000 182 183{ 184 WRWIM 10 00000 110010 ..... . ............. @n_r_ri 185 WRPR_tpc 10 00000 110010 ..... . ............. @n_r_ri 186} 187WRPR_tnpc 10 00001 110010 ..... . ............. @n_r_ri 188WRPR_tstate 10 00010 110010 ..... . ............. @n_r_ri 189WRPR_tt 10 00011 110010 ..... . ............. @n_r_ri 190WRPR_tick 10 00100 110010 ..... . ............. @n_r_ri 191WRPR_tba 10 00101 110010 ..... . ............. @n_r_ri 192WRPR_pstate 10 00110 110010 ..... . ............. @n_r_ri 193WRPR_tl 10 00111 110010 ..... . ............. @n_r_ri 194WRPR_pil 10 01000 110010 ..... . ............. @n_r_ri 195WRPR_cwp 10 01001 110010 ..... . ............. @n_r_ri 196WRPR_cansave 10 01010 110010 ..... . ............. @n_r_ri 197WRPR_canrestore 10 01011 110010 ..... . ............. @n_r_ri 198WRPR_cleanwin 10 01100 110010 ..... . ............. @n_r_ri 199WRPR_otherwin 10 01101 110010 ..... . ............. @n_r_ri 200WRPR_wstate 10 01110 110010 ..... . ............. @n_r_ri 201WRPR_gl 10 10000 110010 ..... . ............. @n_r_ri 202WRPR_strand_status 10 11010 110010 ..... . ............. @n_r_ri 203 204{ 205 FLUSHW 10 00000 101011 00000 0 0000000000000 206 RDTBR 10 rd:5 101011 00000 0 0000000000000 207} 208 209{ 210 WRTBR 10 00000 110011 ..... . ............. @n_r_ri 211 WRHPR_hpstate 10 00000 110011 ..... . ............. @n_r_ri 212} 213WRHPR_htstate 10 00001 110011 ..... . ............. @n_r_ri 214WRHPR_hintp 10 00011 110011 ..... . ............. @n_r_ri 215WRHPR_htba 10 00101 110011 ..... . ............. @n_r_ri 216WRHPR_hstick_cmpr 10 11111 110011 ..... . ............. @n_r_ri 217 218ADD 10 ..... 0.0000 ..... . ............. @r_r_ri_cc 219AND 10 ..... 0.0001 ..... . ............. @r_r_ri_cc 220OR 10 ..... 0.0010 ..... . ............. @r_r_ri_cc 221XOR 10 ..... 0.0011 ..... . ............. @r_r_ri_cc 222SUB 10 ..... 0.0100 ..... . ............. @r_r_ri_cc 223ANDN 10 ..... 0.0101 ..... . ............. @r_r_ri_cc 224ORN 10 ..... 0.0110 ..... . ............. @r_r_ri_cc 225XORN 10 ..... 0.0111 ..... . ............. @r_r_ri_cc 226ADDC 10 ..... 0.1000 ..... . ............. @r_r_ri_cc 227SUBC 10 ..... 0.1100 ..... . ............. @r_r_ri_cc 228 229MULX 10 ..... 001001 ..... . ............. @r_r_ri_cc0 230UMUL 10 ..... 0.1010 ..... . ............. @r_r_ri_cc 231SMUL 10 ..... 0.1011 ..... . ............. @r_r_ri_cc 232MULScc 10 ..... 100100 ..... . ............. @r_r_ri_cc1 233 234UDIVX 10 ..... 001101 ..... . ............. @r_r_ri 235SDIVX 10 ..... 101101 ..... . ............. @r_r_ri 236UDIV 10 ..... 001110 ..... . ............. @r_r_ri 237UDIVcc 10 ..... 011110 ..... . ............. @r_r_ri_cc1 238SDIV 10 ..... 0.1111 ..... . ............. @r_r_ri_cc 239 240TADDcc 10 ..... 100000 ..... . ............. @r_r_ri_cc1 241TSUBcc 10 ..... 100001 ..... . ............. @r_r_ri_cc1 242TADDccTV 10 ..... 100010 ..... . ............. @r_r_ri_cc1 243TSUBccTV 10 ..... 100011 ..... . ............. @r_r_ri_cc1 244 245POPC 10 rd:5 101110 00000 imm:1 rs2_or_imm:s13 \ 246 &r_r_ri_cc rs1=0 cc=0 247 248&shiftr rd rs1 rs2 x:bool 249@shiftr .. rd:5 ...... rs1:5 . x:1 ....... rs2:5 &shiftr 250 251SLL_r 10 ..... 100101 ..... 0 . 0000000 ..... @shiftr 252SRL_r 10 ..... 100110 ..... 0 . 0000000 ..... @shiftr 253SRA_r 10 ..... 100111 ..... 0 . 0000000 ..... @shiftr 254 255&shifti rd rs1 i x:bool 256@shifti .. rd:5 ...... rs1:5 . x:1 ...... i:6 &shifti 257 258SLL_i 10 ..... 100101 ..... 1 . 000000 ...... @shifti 259SRL_i 10 ..... 100110 ..... 1 . 000000 ...... @shifti 260SRA_i 10 ..... 100111 ..... 1 . 000000 ...... @shifti 261 262Tcc_r 10 0 cond:4 111010 rs1:5 0 cc:1 0000000 rs2:5 263{ 264 # For v7, the entire simm13 field is present, but masked to 7 bits. 265 # For v8, [12:7] are reserved. However, a compatibility note for 266 # the Tcc insn in the v9 manual suggests that the v8 reserved field 267 # was ignored and did not produce traps. 268 Tcc_i_v7 10 0 cond:4 111010 rs1:5 1 ------ i:7 269 270 # For v9, bits [12:11] are cc1 and cc0 (and cc0 must be 0). 271 # Bits [10:8] are reserved and the OSA2011 manual says they must be 0. 272 Tcc_i_v9 10 0 cond:4 111010 rs1:5 1 cc:1 0 000 i:8 273} 274 275MOVcc 10 rd:5 101100 1 cond:4 imm:1 cc:1 0 rs2_or_imm:s11 276MOVfcc 10 rd:5 101100 0 cond:4 imm:1 cc:2 rs2_or_imm:s11 277MOVR 10 rd:5 101111 rs1:5 imm:1 cond:3 rs2_or_imm:s10 278 279JMPL 10 ..... 111000 ..... . ............. @r_r_ri 280{ 281 RETT 10 00000 111001 ..... . ............. @n_r_ri 282 RETURN 10 00000 111001 ..... . ............. @n_r_ri 283} 284NOP 10 00000 111011 ----- 0 00000000----- # FLUSH reg+reg 285NOP 10 00000 111011 ----- 1 ------------- # FLUSH reg+imm 286SAVE 10 ..... 111100 ..... . ............. @r_r_ri 287RESTORE 10 ..... 111101 ..... . ............. @r_r_ri 288 289DONE 10 00000 111110 00000 0 0000000000000 290RETRY 10 00001 111110 00000 0 0000000000000 291 292FMOVs 10 ..... 110100 00000 0 0000 0001 ..... @r_r2 293FMOVd 10 ..... 110100 00000 0 0000 0010 ..... @d_d2 294FMOVq 10 ..... 110100 00000 0 0000 0011 ..... @q_q2 295FNEGs 10 ..... 110100 00000 0 0000 0101 ..... @r_r2 296FNEGd 10 ..... 110100 00000 0 0000 0110 ..... @d_d2 297FNEGq 10 ..... 110100 00000 0 0000 0111 ..... @q_q2 298FABSs 10 ..... 110100 00000 0 0000 1001 ..... @r_r2 299FABSd 10 ..... 110100 00000 0 0000 1010 ..... @d_d2 300FABSq 10 ..... 110100 00000 0 0000 1011 ..... @q_q2 301FSQRTs 10 ..... 110100 00000 0 0010 1001 ..... @r_r2 302FSQRTd 10 ..... 110100 00000 0 0010 1010 ..... @d_d2 303FSQRTq 10 ..... 110100 00000 0 0010 1011 ..... @q_q2 304FADDs 10 ..... 110100 ..... 0 0100 0001 ..... @r_r_r 305FADDd 10 ..... 110100 ..... 0 0100 0010 ..... @d_d_d 306FADDq 10 ..... 110100 ..... 0 0100 0011 ..... @q_q_q 307FSUBs 10 ..... 110100 ..... 0 0100 0101 ..... @r_r_r 308FSUBd 10 ..... 110100 ..... 0 0100 0110 ..... @d_d_d 309FSUBq 10 ..... 110100 ..... 0 0100 0111 ..... @q_q_q 310FMULs 10 ..... 110100 ..... 0 0100 1001 ..... @r_r_r 311FMULd 10 ..... 110100 ..... 0 0100 1010 ..... @d_d_d 312FMULq 10 ..... 110100 ..... 0 0100 1011 ..... @q_q_q 313FDIVs 10 ..... 110100 ..... 0 0100 1101 ..... @r_r_r 314FDIVd 10 ..... 110100 ..... 0 0100 1110 ..... @d_d_d 315FDIVq 10 ..... 110100 ..... 0 0100 1111 ..... @q_q_q 316FNADDs 10 ..... 110100 ..... 0 0101 0001 ..... @r_r_r 317FNADDd 10 ..... 110100 ..... 0 0101 0010 ..... @d_d_d 318FNMULs 10 ..... 110100 ..... 0 0101 1001 ..... @r_r_r 319FNMULd 10 ..... 110100 ..... 0 0101 1010 ..... @d_d_d 320FHADDs 10 ..... 110100 ..... 0 0110 0001 ..... @r_r_r 321FHADDd 10 ..... 110100 ..... 0 0110 0010 ..... @d_d_d 322FHSUBs 10 ..... 110100 ..... 0 0110 0101 ..... @r_r_r 323FHSUBd 10 ..... 110100 ..... 0 0110 0110 ..... @d_d_d 324FsMULd 10 ..... 110100 ..... 0 0110 1001 ..... @d_r_r 325FdMULq 10 ..... 110100 ..... 0 0110 1110 ..... @q_d_d 326FNHADDs 10 ..... 110100 ..... 0 0111 0001 ..... @r_r_r 327FNHADDd 10 ..... 110100 ..... 0 0111 0010 ..... @d_d_d 328FNsMULd 10 ..... 110100 ..... 0 0111 1001 ..... @d_r_r 329FsTOx 10 ..... 110100 00000 0 1000 0001 ..... @d_r2 330FdTOx 10 ..... 110100 00000 0 1000 0010 ..... @d_d2 331FqTOx 10 ..... 110100 00000 0 1000 0011 ..... @d_q2 332FxTOs 10 ..... 110100 00000 0 1000 0100 ..... @r_d2 333FxTOd 10 ..... 110100 00000 0 1000 1000 ..... @d_d2 334FxTOq 10 ..... 110100 00000 0 1000 1100 ..... @q_d2 335FiTOs 10 ..... 110100 00000 0 1100 0100 ..... @r_r2 336FdTOs 10 ..... 110100 00000 0 1100 0110 ..... @r_d2 337FqTOs 10 ..... 110100 00000 0 1100 0111 ..... @r_q2 338FiTOd 10 ..... 110100 00000 0 1100 1000 ..... @d_r2 339FsTOd 10 ..... 110100 00000 0 1100 1001 ..... @d_r2 340FqTOd 10 ..... 110100 00000 0 1100 1011 ..... @d_q2 341FiTOq 10 ..... 110100 00000 0 1100 1100 ..... @q_r2 342FsTOq 10 ..... 110100 00000 0 1100 1101 ..... @q_r2 343FdTOq 10 ..... 110100 00000 0 1100 1110 ..... @q_d2 344FsTOi 10 ..... 110100 00000 0 1101 0001 ..... @r_r2 345FdTOi 10 ..... 110100 00000 0 1101 0010 ..... @r_d2 346FqTOi 10 ..... 110100 00000 0 1101 0011 ..... @r_q2 347 348FMOVscc 10 rd:5 110101 0 cond:4 1 cc:1 0 000001 rs2:5 349FMOVdcc 10 ..... 110101 0 cond:4 1 cc:1 0 000010 ..... \ 350 rd=%dfp_rd rs2=%dfp_rs2 351FMOVqcc 10 ..... 110101 0 cond:4 1 cc:1 0 000011 ..... \ 352 rd=%qfp_rd rs2=%qfp_rs2 353 354FMOVsfcc 10 rd:5 110101 0 cond:4 0 cc:2 000001 rs2:5 355FMOVdfcc 10 ..... 110101 0 cond:4 0 cc:2 000010 ..... \ 356 rd=%dfp_rd rs2=%dfp_rs2 357FMOVqfcc 10 ..... 110101 0 cond:4 0 cc:2 000011 ..... \ 358 rd=%qfp_rd rs2=%qfp_rs2 359 360FMOVRs 10 rd:5 110101 rs1:5 0 cond:3 00101 rs2:5 361FMOVRd 10 ..... 110101 rs1:5 0 cond:3 00110 ..... \ 362 rd=%dfp_rd rs2=%dfp_rs2 363FMOVRq 10 ..... 110101 rs1:5 0 cond:3 00111 ..... \ 364 rd=%qfp_rd rs2=%qfp_rs2 365 366FCMPs 10 000 cc:2 110101 rs1:5 0 0101 0001 rs2:5 367FCMPd 10 000 cc:2 110101 ..... 0 0101 0010 ..... \ 368 rs1=%dfp_rs1 rs2=%dfp_rs2 369FCMPq 10 000 cc:2 110101 ..... 0 0101 0011 ..... \ 370 rs1=%qfp_rs1 rs2=%qfp_rs2 371FCMPEs 10 000 cc:2 110101 rs1:5 0 0101 0101 rs2:5 372FCMPEd 10 000 cc:2 110101 ..... 0 0101 0110 ..... \ 373 rs1=%dfp_rs1 rs2=%dfp_rs2 374FCMPEq 10 000 cc:2 110101 ..... 0 0101 0111 ..... \ 375 rs1=%qfp_rs1 rs2=%qfp_rs2 376 377{ 378 [ 379 EDGE8cc 10 ..... 110110 ..... 0 0000 0000 ..... @r_r_r 380 EDGE8N 10 ..... 110110 ..... 0 0000 0001 ..... @r_r_r 381 EDGE8Lcc 10 ..... 110110 ..... 0 0000 0010 ..... @r_r_r 382 EDGE8LN 10 ..... 110110 ..... 0 0000 0011 ..... @r_r_r 383 EDGE16cc 10 ..... 110110 ..... 0 0000 0100 ..... @r_r_r 384 EDGE16N 10 ..... 110110 ..... 0 0000 0101 ..... @r_r_r 385 EDGE16Lcc 10 ..... 110110 ..... 0 0000 0110 ..... @r_r_r 386 EDGE16LN 10 ..... 110110 ..... 0 0000 0111 ..... @r_r_r 387 EDGE32cc 10 ..... 110110 ..... 0 0000 1000 ..... @r_r_r 388 EDGE32N 10 ..... 110110 ..... 0 0000 1001 ..... @r_r_r 389 EDGE32Lcc 10 ..... 110110 ..... 0 0000 1010 ..... @r_r_r 390 EDGE32LN 10 ..... 110110 ..... 0 0000 1011 ..... @r_r_r 391 392 ARRAY8 10 ..... 110110 ..... 0 0001 0000 ..... @r_r_r 393 ARRAY16 10 ..... 110110 ..... 0 0001 0010 ..... @r_r_r 394 ARRAY32 10 ..... 110110 ..... 0 0001 0100 ..... @r_r_r 395 396 ADDXC 10 ..... 110110 ..... 0 0001 0001 ..... @r_r_r 397 ADDXCcc 10 ..... 110110 ..... 0 0001 0011 ..... @r_r_r 398 UMULXHI 10 ..... 110110 ..... 0 0001 0110 ..... @r_r_r 399 LZCNT 10 ..... 110110 00000 0 0001 0111 ..... @r_r2 400 XMULX 10 ..... 110110 ..... 1 0001 0101 ..... @r_r_r 401 XMULXHI 10 ..... 110110 ..... 1 0001 0110 ..... @r_r_r 402 403 ALIGNADDR 10 ..... 110110 ..... 0 0001 1000 ..... @r_r_r 404 ALIGNADDRL 10 ..... 110110 ..... 0 0001 1010 ..... @r_r_r 405 406 BMASK 10 ..... 110110 ..... 0 0001 1001 ..... @r_r_r 407 408 CMASK8 10 00000 110110 00000 0 0001 1011 rs2:5 409 CMASK16 10 00000 110110 00000 0 0001 1101 rs2:5 410 CMASK32 10 00000 110110 00000 0 0001 1111 rs2:5 411 412 FPCMPLE16 10 ..... 110110 ..... 0 0010 0000 ..... @r_d_d 413 FPCMPNE16 10 ..... 110110 ..... 0 0010 0010 ..... @r_d_d 414 FPCMPGT16 10 ..... 110110 ..... 0 0010 1000 ..... @r_d_d 415 FPCMPEQ16 10 ..... 110110 ..... 0 0010 1010 ..... @r_d_d 416 FPCMPLE32 10 ..... 110110 ..... 0 0010 0100 ..... @r_d_d 417 FPCMPNE32 10 ..... 110110 ..... 0 0010 0110 ..... @r_d_d 418 FPCMPGT32 10 ..... 110110 ..... 0 0010 1100 ..... @r_d_d 419 FPCMPEQ32 10 ..... 110110 ..... 0 0010 1110 ..... @r_d_d 420 421 FSLL16 10 ..... 110110 ..... 0 0010 0001 ..... @d_d_d 422 FSRL16 10 ..... 110110 ..... 0 0010 0011 ..... @d_d_d 423 FSLAS16 10 ..... 110110 ..... 0 0010 1001 ..... @d_d_d 424 FSRA16 10 ..... 110110 ..... 0 0010 1011 ..... @d_d_d 425 FSLL32 10 ..... 110110 ..... 0 0010 0101 ..... @d_d_d 426 FSRL32 10 ..... 110110 ..... 0 0010 0111 ..... @d_d_d 427 FSLAS32 10 ..... 110110 ..... 0 0010 1101 ..... @d_d_d 428 FSRA32 10 ..... 110110 ..... 0 0010 1111 ..... @d_d_d 429 430 FPCMPULE8 10 ..... 110110 ..... 1 0010 0000 ..... @r_d_d 431 FPCMPUGT8 10 ..... 110110 ..... 1 0010 1000 ..... @r_d_d 432 FPCMPNE8 10 ..... 110110 ..... 1 0010 0010 ..... @r_d_d 433 FPCMPEQ8 10 ..... 110110 ..... 1 0010 1010 ..... @r_d_d 434 FPCMPLE8 10 ..... 110110 ..... 0 0011 0100 ..... @r_d_d 435 FPCMPGT8 10 ..... 110110 ..... 0 0011 1100 ..... @r_d_d 436 FPCMPULE16 10 ..... 110110 ..... 1 0010 1110 ..... @r_d_d 437 FPCMPUGT16 10 ..... 110110 ..... 1 0010 1011 ..... @r_d_d 438 FPCMPULE32 10 ..... 110110 ..... 1 0010 1111 ..... @r_d_d 439 FPCMPUGT32 10 ..... 110110 ..... 1 0010 1100 ..... @r_d_d 440 441 FMUL8x16 10 ..... 110110 ..... 0 0011 0001 ..... @d_r_d 442 FMUL8x16AU 10 ..... 110110 ..... 0 0011 0011 ..... @d_r_r 443 FMUL8x16AL 10 ..... 110110 ..... 0 0011 0101 ..... @d_r_r 444 FMUL8SUx16 10 ..... 110110 ..... 0 0011 0110 ..... @d_d_d 445 FMUL8ULx16 10 ..... 110110 ..... 0 0011 0111 ..... @d_d_d 446 FMULD8SUx16 10 ..... 110110 ..... 0 0011 1000 ..... @d_r_r 447 FMULD8ULx16 10 ..... 110110 ..... 0 0011 1001 ..... @d_r_r 448 FPACK32 10 ..... 110110 ..... 0 0011 1010 ..... @d_d_d 449 FPACK16 10 ..... 110110 00000 0 0011 1011 ..... @r_d2 450 FPACKFIX 10 ..... 110110 00000 0 0011 1101 ..... @r_d2 451 PDIST 10 ..... 110110 ..... 0 0011 1110 ..... \ 452 &r_r_r_r rd=%dfp_rd rs1=%dfp_rd rs2=%dfp_rs1 rs3=%dfp_rs2 453 PDISTN 10 ..... 110110 ..... 0 0011 1111 ..... @r_d_d 454 455 FMEAN16 10 ..... 110110 ..... 0 0100 0000 ..... @d_d_d 456 SUBXC 10 ..... 110110 ..... 0 0100 0001 ..... @r_r_r 457 SUBXCcc 10 ..... 110110 ..... 0 0100 0011 ..... @r_r_r 458 FCHKSM16 10 ..... 110110 ..... 0 0100 0100 ..... @d_d_d 459 FALIGNDATAg 10 ..... 110110 ..... 0 0100 1000 ..... @d_d_d 460 FPMERGE 10 ..... 110110 ..... 0 0100 1011 ..... @d_r_r 461 BSHUFFLE 10 ..... 110110 ..... 0 0100 1100 ..... @d_d_d 462 FEXPAND 10 ..... 110110 00000 0 0100 1101 ..... @d_r2 463 FALIGNDATAi 10 ..... 110110 ..... 0 0100 1001 ..... @d_r_d 464 465 FSRCd 10 ..... 110110 ..... 0 0111 0100 00000 @d_d1 # FSRC1d 466 FSRCs 10 ..... 110110 ..... 0 0111 0101 00000 @r_r1 # FSRC1s 467 FSRCd 10 ..... 110110 00000 0 0111 1000 ..... @d_d2 # FSRC2d 468 FSRCs 10 ..... 110110 00000 0 0111 1001 ..... @r_r2 # FSRC2s 469 FNOTd 10 ..... 110110 ..... 0 0110 1010 00000 @d_d1 # FNOT1d 470 FNOTs 10 ..... 110110 ..... 0 0110 1011 00000 @r_r1 # FNOT1s 471 FNOTd 10 ..... 110110 00000 0 0110 0110 ..... @d_d2 # FNOT2d 472 FNOTs 10 ..... 110110 00000 0 0110 0111 ..... @r_r2 # FNOT2s 473 474 FPADD16 10 ..... 110110 ..... 0 0101 0000 ..... @d_d_d 475 FPADD16s 10 ..... 110110 ..... 0 0101 0001 ..... @r_r_r 476 FPADD32 10 ..... 110110 ..... 0 0101 0010 ..... @d_d_d 477 FPADD32s 10 ..... 110110 ..... 0 0101 0011 ..... @r_r_r 478 FPADD64 10 ..... 110110 ..... 0 0100 0010 ..... @d_d_d 479 FPSUB16 10 ..... 110110 ..... 0 0101 0100 ..... @d_d_d 480 FPSUB16s 10 ..... 110110 ..... 0 0101 0101 ..... @r_r_r 481 FPSUB32 10 ..... 110110 ..... 0 0101 0110 ..... @d_d_d 482 FPSUB32s 10 ..... 110110 ..... 0 0101 0111 ..... @r_r_r 483 FPSUB64 10 ..... 110110 ..... 0 0100 0110 ..... @d_d_d 484 485 FPADDS16 10 ..... 110110 ..... 0 0101 1000 ..... @d_d_d 486 FPADDS16s 10 ..... 110110 ..... 0 0101 1001 ..... @r_r_r 487 FPADDS32 10 ..... 110110 ..... 0 0101 1010 ..... @d_d_d 488 FPADDS32s 10 ..... 110110 ..... 0 0101 1011 ..... @r_r_r 489 FPSUBS16 10 ..... 110110 ..... 0 0101 1100 ..... @d_d_d 490 FPSUBS16s 10 ..... 110110 ..... 0 0101 1101 ..... @r_r_r 491 FPSUBS32 10 ..... 110110 ..... 0 0101 1110 ..... @d_d_d 492 FPSUBS32s 10 ..... 110110 ..... 0 0101 1111 ..... @r_r_r 493 494 FNORd 10 ..... 110110 ..... 0 0110 0010 ..... @d_d_d 495 FNORs 10 ..... 110110 ..... 0 0110 0011 ..... @r_r_r 496 FANDNOTd 10 ..... 110110 ..... 0 0110 0100 ..... @d_d_d # FANDNOT2d 497 FANDNOTs 10 ..... 110110 ..... 0 0110 0101 ..... @r_r_r # FANDNOT2s 498 FANDNOTd 10 ..... 110110 ..... 0 0110 1000 ..... @d_d_d_swap # ... 1d 499 FANDNOTs 10 ..... 110110 ..... 0 0110 1001 ..... @r_r_r_swap # ... 1s 500 FXORd 10 ..... 110110 ..... 0 0110 1100 ..... @d_d_d 501 FXORs 10 ..... 110110 ..... 0 0110 1101 ..... @r_r_r 502 FNANDd 10 ..... 110110 ..... 0 0110 1110 ..... @d_d_d 503 FNANDs 10 ..... 110110 ..... 0 0110 1111 ..... @r_r_r 504 FANDd 10 ..... 110110 ..... 0 0111 0000 ..... @d_d_d 505 FANDs 10 ..... 110110 ..... 0 0111 0001 ..... @r_r_r 506 FXNORd 10 ..... 110110 ..... 0 0111 0010 ..... @d_d_d 507 FXNORs 10 ..... 110110 ..... 0 0111 0011 ..... @r_r_r 508 FORNOTd 10 ..... 110110 ..... 0 0111 0110 ..... @d_d_d # FORNOT2d 509 FORNOTs 10 ..... 110110 ..... 0 0111 0111 ..... @r_r_r # FORNOT2s 510 FORNOTd 10 ..... 110110 ..... 0 0111 1010 ..... @d_d_d_swap # ... 1d 511 FORNOTs 10 ..... 110110 ..... 0 0111 1011 ..... @r_r_r_swap # ... 1s 512 FORd 10 ..... 110110 ..... 0 0111 1100 ..... @d_d_d 513 FORs 10 ..... 110110 ..... 0 0111 1101 ..... @r_r_r 514 515 FZEROd 10 ..... 110110 00000 0 0110 0000 00000 rd=%dfp_rd 516 FZEROs 10 rd:5 110110 00000 0 0110 0001 00000 517 FONEd 10 ..... 110110 00000 0 0111 1110 00000 rd=%dfp_rd 518 FONEs 10 rd:5 110110 00000 0 0111 1111 00000 519 520 MOVsTOuw 10 ..... 110110 00000 1 0001 0001 ..... @r_r2 521 MOVsTOsw 10 ..... 110110 00000 1 0001 0011 ..... @r_r2 522 MOVwTOs 10 ..... 110110 00000 1 0001 1001 ..... @r_r2 523 MOVdTOx 10 ..... 110110 00000 1 0001 0000 ..... @r_d2 524 MOVxTOd 10 ..... 110110 00000 1 0001 1000 ..... @d_r2 525 526 FPADD8 10 ..... 110110 ..... 1 0010 0100 ..... @d_d_d 527 FPADDS8 10 ..... 110110 ..... 1 0010 0110 ..... @d_d_d 528 FPADDUS8 10 ..... 110110 ..... 1 0010 0111 ..... @d_d_d 529 FPADDUS16 10 ..... 110110 ..... 1 0010 0011 ..... @d_d_d 530 FPSUB8 10 ..... 110110 ..... 1 0101 0100 ..... @d_d_d 531 FPSUBS8 10 ..... 110110 ..... 1 0101 0110 ..... @d_d_d 532 FPSUBUS8 10 ..... 110110 ..... 1 0101 0111 ..... @d_d_d 533 FPSUBUS16 10 ..... 110110 ..... 1 0101 0011 ..... @d_d_d 534 535 FPMIN8 10 ..... 110110 ..... 1 0001 1010 ..... @d_d_d 536 FPMIN16 10 ..... 110110 ..... 1 0001 1011 ..... @d_d_d 537 FPMIN32 10 ..... 110110 ..... 1 0001 1100 ..... @d_d_d 538 FPMINU8 10 ..... 110110 ..... 1 0101 1010 ..... @d_d_d 539 FPMINU16 10 ..... 110110 ..... 1 0101 1011 ..... @d_d_d 540 FPMINU32 10 ..... 110110 ..... 1 0101 1100 ..... @d_d_d 541 542 FPMAX8 10 ..... 110110 ..... 1 0001 1101 ..... @d_d_d 543 FPMAX16 10 ..... 110110 ..... 1 0001 1110 ..... @d_d_d 544 FPMAX32 10 ..... 110110 ..... 1 0001 1111 ..... @d_d_d 545 FPMAXU8 10 ..... 110110 ..... 1 0101 1101 ..... @d_d_d 546 FPMAXU16 10 ..... 110110 ..... 1 0101 1110 ..... @d_d_d 547 FPMAXU32 10 ..... 110110 ..... 1 0101 1111 ..... @d_d_d 548 549 FLCMPs 10 000 cc:2 110110 rs1:5 1 0101 0001 rs2:5 550 FLCMPd 10 000 cc:2 110110 ..... 1 0101 0010 ..... \ 551 rs1=%dfp_rs1 rs2=%dfp_rs2 552 ] 553 NCP 10 ----- 110110 ----- --------- ----- # v8 CPop1 554} 555 556{ 557 [ 558 FMADDs 10 ..... 110111 ..... ..... 0001 ..... @r_r_r_r 559 FMADDd 10 ..... 110111 ..... ..... 0010 ..... @d_d_d_d 560 FMSUBs 10 ..... 110111 ..... ..... 0101 ..... @r_r_r_r 561 FMSUBd 10 ..... 110111 ..... ..... 0110 ..... @d_d_d_d 562 FNMSUBs 10 ..... 110111 ..... ..... 1001 ..... @r_r_r_r 563 FNMSUBd 10 ..... 110111 ..... ..... 1010 ..... @d_d_d_d 564 FNMADDs 10 ..... 110111 ..... ..... 1101 ..... @r_r_r_r 565 FNMADDd 10 ..... 110111 ..... ..... 1110 ..... @d_d_d_d 566 567 FPMADDX 10 ..... 110111 ..... ..... 0000 ..... @d_d_d_d 568 FPMADDXHI 10 ..... 110111 ..... ..... 0100 ..... @d_d_d_d 569 ] 570 NCP 10 ----- 110111 ----- --------- ----- # v8 CPop2 571} 572 573## 574## Major Opcode 11 -- load and store instructions 575## 576 577&r_r_ri_asi rd rs1 rs2_or_imm asi imm:bool 578@r_r_ri_na .. rd:5 ...... rs1:5 imm:1 rs2_or_imm:s13 &r_r_ri_asi asi=-1 579@d_r_ri_na .. ..... ...... rs1:5 imm:1 rs2_or_imm:s13 \ 580 &r_r_ri_asi rd=%dfp_rd asi=-1 581@q_r_ri_na .. ..... ...... rs1:5 imm:1 rs2_or_imm:s13 \ 582 &r_r_ri_asi rd=%qfp_rd asi=-1 583 584@r_r_r_asi .. rd:5 ...... rs1:5 0 asi:8 rs2_or_imm:5 &r_r_ri_asi imm=0 585@r_r_i_asi .. rd:5 ...... rs1:5 1 rs2_or_imm:s13 \ 586 &r_r_ri_asi imm=1 asi=-2 587@d_r_r_asi .. ..... ...... rs1:5 0 asi:8 rs2_or_imm:5 \ 588 &r_r_ri_asi rd=%dfp_rd imm=0 589@d_r_i_asi .. ..... ...... rs1:5 1 rs2_or_imm:s13 \ 590 &r_r_ri_asi rd=%dfp_rd imm=1 asi=-2 591@q_r_r_asi .. ..... ...... rs1:5 0 asi:8 rs2_or_imm:5 \ 592 &r_r_ri_asi rd=%qfp_rd imm=0 593@q_r_i_asi .. ..... ...... rs1:5 1 rs2_or_imm:s13 \ 594 &r_r_ri_asi rd=%qfp_rd imm=1 asi=-2 595@casa_imm .. rd:5 ...... rs1:5 1 00000000 rs2_or_imm:5 \ 596 &r_r_ri_asi imm=1 asi=-2 597 598LDUW 11 ..... 000000 ..... . ............. @r_r_ri_na 599LDUB 11 ..... 000001 ..... . ............. @r_r_ri_na 600LDUH 11 ..... 000010 ..... . ............. @r_r_ri_na 601LDD 11 ..... 000011 ..... . ............. @r_r_ri_na 602LDSW 11 ..... 001000 ..... . ............. @r_r_ri_na 603LDSB 11 ..... 001001 ..... . ............. @r_r_ri_na 604LDSH 11 ..... 001010 ..... . ............. @r_r_ri_na 605LDX 11 ..... 001011 ..... . ............. @r_r_ri_na 606 607STW 11 ..... 000100 ..... . ............. @r_r_ri_na 608STB 11 ..... 000101 ..... . ............. @r_r_ri_na 609STH 11 ..... 000110 ..... . ............. @r_r_ri_na 610STD 11 ..... 000111 ..... . ............. @r_r_ri_na 611STX 11 ..... 001110 ..... . ............. @r_r_ri_na 612 613LDUW 11 ..... 010000 ..... . ............. @r_r_r_asi # LDUWA 614LDUW 11 ..... 010000 ..... . ............. @r_r_i_asi # LDUWA 615LDUB 11 ..... 010001 ..... . ............. @r_r_r_asi # LDUBA 616LDUB 11 ..... 010001 ..... . ............. @r_r_i_asi # LDUBA 617LDUH 11 ..... 010010 ..... . ............. @r_r_r_asi # LDUHA 618LDUH 11 ..... 010010 ..... . ............. @r_r_i_asi # LDUHA 619LDD 11 ..... 010011 ..... . ............. @r_r_r_asi # LDDA 620LDD 11 ..... 010011 ..... . ............. @r_r_i_asi # LDDA 621LDX 11 ..... 011011 ..... . ............. @r_r_r_asi # LDXA 622LDX 11 ..... 011011 ..... . ............. @r_r_i_asi # LDXA 623LDSB 11 ..... 011001 ..... . ............. @r_r_r_asi # LDSBA 624LDSB 11 ..... 011001 ..... . ............. @r_r_i_asi # LDSBA 625LDSH 11 ..... 011010 ..... . ............. @r_r_r_asi # LDSHA 626LDSH 11 ..... 011010 ..... . ............. @r_r_i_asi # LDSHA 627LDSW 11 ..... 011000 ..... . ............. @r_r_r_asi # LDSWA 628LDSW 11 ..... 011000 ..... . ............. @r_r_i_asi # LDSWA 629 630STW 11 ..... 010100 ..... . ............. @r_r_r_asi # STWA 631STW 11 ..... 010100 ..... . ............. @r_r_i_asi # STWA 632STB 11 ..... 010101 ..... . ............. @r_r_r_asi # STBA 633STB 11 ..... 010101 ..... . ............. @r_r_i_asi # STBA 634STH 11 ..... 010110 ..... . ............. @r_r_r_asi # STHA 635STH 11 ..... 010110 ..... . ............. @r_r_i_asi # STHA 636STD 11 ..... 010111 ..... . ............. @r_r_r_asi # STDA 637STD 11 ..... 010111 ..... . ............. @r_r_i_asi # STDA 638STX 11 ..... 011110 ..... . ............. @r_r_r_asi # STXA 639STX 11 ..... 011110 ..... . ............. @r_r_i_asi # STXA 640 641LDF 11 ..... 100000 ..... . ............. @r_r_ri_na 642LDFSR 11 00000 100001 ..... . ............. @n_r_ri 643LDXFSR 11 00001 100001 ..... . ............. @n_r_ri 644LDXEFSR 11 00011 100001 ..... . ............. @n_r_ri 645LDQF 11 ..... 100010 ..... . ............. @q_r_ri_na 646LDDF 11 ..... 100011 ..... . ............. @d_r_ri_na 647 648STF 11 ..... 100100 ..... . ............. @r_r_ri_na 649STFSR 11 00000 100101 ..... . ............. @n_r_ri 650STXFSR 11 00001 100101 ..... . ............. @n_r_ri 651{ 652 STQF 11 ..... 100110 ..... . ............. @q_r_ri_na # v9 653 STDFQ 11 ..... 100110 ..... . ............. @r_r_ri # v7,v8 654} 655STDF 11 ..... 100111 ..... . ............. @d_r_ri_na 656 657LDSTUB 11 ..... 001101 ..... . ............. @r_r_ri_na 658LDSTUB 11 ..... 011101 ..... . ............. @r_r_r_asi # LDSTUBA 659LDSTUB 11 ..... 011101 ..... . ............. @r_r_i_asi # LDSTUBA 660 661SWAP 11 ..... 001111 ..... . ............. @r_r_ri_na 662SWAP 11 ..... 011111 ..... . ............. @r_r_r_asi # SWAPA 663SWAP 11 ..... 011111 ..... . ............. @r_r_i_asi # SWAPA 664 665CASA 11 ..... 111100 ..... . ............. @r_r_r_asi 666CASA 11 ..... 111100 ..... . ............. @casa_imm 667CASXA 11 ..... 111110 ..... . ............. @r_r_r_asi 668CASXA 11 ..... 111110 ..... . ............. @casa_imm 669 670NOP_v9 11 ----- 101101 ----- 0 00000000 ----- # PREFETCH 671NOP_v9 11 ----- 101101 ----- 1 ------------- # PREFETCH 672NOP_v9 11 ----- 111101 ----- - ------------- # PREFETCHA 673 674{ 675 [ 676 LDFA 11 ..... 110000 ..... . ............. @r_r_r_asi 677 LDFA 11 ..... 110000 ..... . ............. @r_r_i_asi 678 ] 679 NCP 11 ----- 110000 ----- --------- ----- # v8 LDC 680} 681NCP 11 ----- 110001 ----- --------- ----- # v8 LDCSR 682LDQFA 11 ..... 110010 ..... . ............. @q_r_r_asi 683LDQFA 11 ..... 110010 ..... . ............. @q_r_i_asi 684{ 685 [ 686 LDDFA 11 ..... 110011 ..... . ............. @d_r_r_asi 687 LDDFA 11 ..... 110011 ..... . ............. @d_r_i_asi 688 ] 689 NCP 11 ----- 110011 ----- --------- ----- # v8 LDDC 690} 691 692{ 693 [ 694 STFA 11 ..... 110100 ..... . ............. @r_r_r_asi 695 STFA 11 ..... 110100 ..... . ............. @r_r_i_asi 696 ] 697 NCP 11 ----- 110100 ----- --------- ----- # v8 STC 698} 699NCP 11 ----- 110101 ----- --------- ----- # v8 STCSR 700{ 701 [ 702 STQFA 11 ..... 110110 ..... . ............. @q_r_r_asi 703 STQFA 11 ..... 110110 ..... . ............. @q_r_i_asi 704 ] 705 NCP 11 ----- 110110 ----- --------- ----- # v8 STDCQ 706} 707{ 708 [ 709 STDFA 11 ..... 110111 ..... . ............. @d_r_r_asi 710 STDFA 11 ..... 110111 ..... . ............. @d_r_i_asi 711 ] 712 NCP 11 ----- 110111 ----- --------- ----- # v8 STDC 713} 714