gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

inst.go (12441B)


      1 // Code generated by parse_opcodes -go; DO NOT EDIT.
      2 
      3 package riscv
      4 
      5 import "github.com/twitchyliquid64/golang-asm/obj"
      6 
      7 type inst struct {
      8 	opcode uint32
      9 	funct3 uint32
     10 	rs2    uint32
     11 	csr    int64
     12 	funct7 uint32
     13 }
     14 
     15 func encode(a obj.As) *inst {
     16 	switch a {
     17 	case ABEQ:
     18 		return &inst{0x63, 0x0, 0x0, 0, 0x0}
     19 	case ABNE:
     20 		return &inst{0x63, 0x1, 0x0, 0, 0x0}
     21 	case ABLT:
     22 		return &inst{0x63, 0x4, 0x0, 0, 0x0}
     23 	case ABGE:
     24 		return &inst{0x63, 0x5, 0x0, 0, 0x0}
     25 	case ABLTU:
     26 		return &inst{0x63, 0x6, 0x0, 0, 0x0}
     27 	case ABGEU:
     28 		return &inst{0x63, 0x7, 0x0, 0, 0x0}
     29 	case AJALR:
     30 		return &inst{0x67, 0x0, 0x0, 0, 0x0}
     31 	case AJAL:
     32 		return &inst{0x6f, 0x0, 0x0, 0, 0x0}
     33 	case ALUI:
     34 		return &inst{0x37, 0x0, 0x0, 0, 0x0}
     35 	case AAUIPC:
     36 		return &inst{0x17, 0x0, 0x0, 0, 0x0}
     37 	case AADDI:
     38 		return &inst{0x13, 0x0, 0x0, 0, 0x0}
     39 	case ASLLI:
     40 		return &inst{0x13, 0x1, 0x0, 0, 0x0}
     41 	case ASLTI:
     42 		return &inst{0x13, 0x2, 0x0, 0, 0x0}
     43 	case ASLTIU:
     44 		return &inst{0x13, 0x3, 0x0, 0, 0x0}
     45 	case AXORI:
     46 		return &inst{0x13, 0x4, 0x0, 0, 0x0}
     47 	case ASRLI:
     48 		return &inst{0x13, 0x5, 0x0, 0, 0x0}
     49 	case ASRAI:
     50 		return &inst{0x13, 0x5, 0x0, 1024, 0x20}
     51 	case AORI:
     52 		return &inst{0x13, 0x6, 0x0, 0, 0x0}
     53 	case AANDI:
     54 		return &inst{0x13, 0x7, 0x0, 0, 0x0}
     55 	case AADD:
     56 		return &inst{0x33, 0x0, 0x0, 0, 0x0}
     57 	case ASUB:
     58 		return &inst{0x33, 0x0, 0x0, 1024, 0x20}
     59 	case ASLL:
     60 		return &inst{0x33, 0x1, 0x0, 0, 0x0}
     61 	case ASLT:
     62 		return &inst{0x33, 0x2, 0x0, 0, 0x0}
     63 	case ASLTU:
     64 		return &inst{0x33, 0x3, 0x0, 0, 0x0}
     65 	case AXOR:
     66 		return &inst{0x33, 0x4, 0x0, 0, 0x0}
     67 	case ASRL:
     68 		return &inst{0x33, 0x5, 0x0, 0, 0x0}
     69 	case ASRA:
     70 		return &inst{0x33, 0x5, 0x0, 1024, 0x20}
     71 	case AOR:
     72 		return &inst{0x33, 0x6, 0x0, 0, 0x0}
     73 	case AAND:
     74 		return &inst{0x33, 0x7, 0x0, 0, 0x0}
     75 	case AADDIW:
     76 		return &inst{0x1b, 0x0, 0x0, 0, 0x0}
     77 	case ASLLIW:
     78 		return &inst{0x1b, 0x1, 0x0, 0, 0x0}
     79 	case ASRLIW:
     80 		return &inst{0x1b, 0x5, 0x0, 0, 0x0}
     81 	case ASRAIW:
     82 		return &inst{0x1b, 0x5, 0x0, 1024, 0x20}
     83 	case AADDW:
     84 		return &inst{0x3b, 0x0, 0x0, 0, 0x0}
     85 	case ASUBW:
     86 		return &inst{0x3b, 0x0, 0x0, 1024, 0x20}
     87 	case ASLLW:
     88 		return &inst{0x3b, 0x1, 0x0, 0, 0x0}
     89 	case ASRLW:
     90 		return &inst{0x3b, 0x5, 0x0, 0, 0x0}
     91 	case ASRAW:
     92 		return &inst{0x3b, 0x5, 0x0, 1024, 0x20}
     93 	case ALB:
     94 		return &inst{0x3, 0x0, 0x0, 0, 0x0}
     95 	case ALH:
     96 		return &inst{0x3, 0x1, 0x0, 0, 0x0}
     97 	case ALW:
     98 		return &inst{0x3, 0x2, 0x0, 0, 0x0}
     99 	case ALD:
    100 		return &inst{0x3, 0x3, 0x0, 0, 0x0}
    101 	case ALBU:
    102 		return &inst{0x3, 0x4, 0x0, 0, 0x0}
    103 	case ALHU:
    104 		return &inst{0x3, 0x5, 0x0, 0, 0x0}
    105 	case ALWU:
    106 		return &inst{0x3, 0x6, 0x0, 0, 0x0}
    107 	case ASB:
    108 		return &inst{0x23, 0x0, 0x0, 0, 0x0}
    109 	case ASH:
    110 		return &inst{0x23, 0x1, 0x0, 0, 0x0}
    111 	case ASW:
    112 		return &inst{0x23, 0x2, 0x0, 0, 0x0}
    113 	case ASD:
    114 		return &inst{0x23, 0x3, 0x0, 0, 0x0}
    115 	case AFENCE:
    116 		return &inst{0xf, 0x0, 0x0, 0, 0x0}
    117 	case AFENCEI:
    118 		return &inst{0xf, 0x1, 0x0, 0, 0x0}
    119 	case AMUL:
    120 		return &inst{0x33, 0x0, 0x0, 32, 0x1}
    121 	case AMULH:
    122 		return &inst{0x33, 0x1, 0x0, 32, 0x1}
    123 	case AMULHSU:
    124 		return &inst{0x33, 0x2, 0x0, 32, 0x1}
    125 	case AMULHU:
    126 		return &inst{0x33, 0x3, 0x0, 32, 0x1}
    127 	case ADIV:
    128 		return &inst{0x33, 0x4, 0x0, 32, 0x1}
    129 	case ADIVU:
    130 		return &inst{0x33, 0x5, 0x0, 32, 0x1}
    131 	case AREM:
    132 		return &inst{0x33, 0x6, 0x0, 32, 0x1}
    133 	case AREMU:
    134 		return &inst{0x33, 0x7, 0x0, 32, 0x1}
    135 	case AMULW:
    136 		return &inst{0x3b, 0x0, 0x0, 32, 0x1}
    137 	case ADIVW:
    138 		return &inst{0x3b, 0x4, 0x0, 32, 0x1}
    139 	case ADIVUW:
    140 		return &inst{0x3b, 0x5, 0x0, 32, 0x1}
    141 	case AREMW:
    142 		return &inst{0x3b, 0x6, 0x0, 32, 0x1}
    143 	case AREMUW:
    144 		return &inst{0x3b, 0x7, 0x0, 32, 0x1}
    145 	case AAMOADDW:
    146 		return &inst{0x2f, 0x2, 0x0, 0, 0x0}
    147 	case AAMOXORW:
    148 		return &inst{0x2f, 0x2, 0x0, 512, 0x10}
    149 	case AAMOORW:
    150 		return &inst{0x2f, 0x2, 0x0, 1024, 0x20}
    151 	case AAMOANDW:
    152 		return &inst{0x2f, 0x2, 0x0, 1536, 0x30}
    153 	case AAMOMINW:
    154 		return &inst{0x2f, 0x2, 0x0, -2048, 0x40}
    155 	case AAMOMAXW:
    156 		return &inst{0x2f, 0x2, 0x0, -1536, 0x50}
    157 	case AAMOMINUW:
    158 		return &inst{0x2f, 0x2, 0x0, -1024, 0x60}
    159 	case AAMOMAXUW:
    160 		return &inst{0x2f, 0x2, 0x0, -512, 0x70}
    161 	case AAMOSWAPW:
    162 		return &inst{0x2f, 0x2, 0x0, 128, 0x4}
    163 	case ALRW:
    164 		return &inst{0x2f, 0x2, 0x0, 256, 0x8}
    165 	case ASCW:
    166 		return &inst{0x2f, 0x2, 0x0, 384, 0xc}
    167 	case AAMOADDD:
    168 		return &inst{0x2f, 0x3, 0x0, 0, 0x0}
    169 	case AAMOXORD:
    170 		return &inst{0x2f, 0x3, 0x0, 512, 0x10}
    171 	case AAMOORD:
    172 		return &inst{0x2f, 0x3, 0x0, 1024, 0x20}
    173 	case AAMOANDD:
    174 		return &inst{0x2f, 0x3, 0x0, 1536, 0x30}
    175 	case AAMOMIND:
    176 		return &inst{0x2f, 0x3, 0x0, -2048, 0x40}
    177 	case AAMOMAXD:
    178 		return &inst{0x2f, 0x3, 0x0, -1536, 0x50}
    179 	case AAMOMINUD:
    180 		return &inst{0x2f, 0x3, 0x0, -1024, 0x60}
    181 	case AAMOMAXUD:
    182 		return &inst{0x2f, 0x3, 0x0, -512, 0x70}
    183 	case AAMOSWAPD:
    184 		return &inst{0x2f, 0x3, 0x0, 128, 0x4}
    185 	case ALRD:
    186 		return &inst{0x2f, 0x3, 0x0, 256, 0x8}
    187 	case ASCD:
    188 		return &inst{0x2f, 0x3, 0x0, 384, 0xc}
    189 	case AECALL:
    190 		return &inst{0x73, 0x0, 0x0, 0, 0x0}
    191 	case AEBREAK:
    192 		return &inst{0x73, 0x0, 0x1, 1, 0x0}
    193 	case AURET:
    194 		return &inst{0x73, 0x0, 0x2, 2, 0x0}
    195 	case ASRET:
    196 		return &inst{0x73, 0x0, 0x2, 258, 0x8}
    197 	case AMRET:
    198 		return &inst{0x73, 0x0, 0x2, 770, 0x18}
    199 	case ADRET:
    200 		return &inst{0x73, 0x0, 0x12, 1970, 0x3d}
    201 	case ASFENCEVMA:
    202 		return &inst{0x73, 0x0, 0x0, 288, 0x9}
    203 	case AWFI:
    204 		return &inst{0x73, 0x0, 0x5, 261, 0x8}
    205 	case ACSRRW:
    206 		return &inst{0x73, 0x1, 0x0, 0, 0x0}
    207 	case ACSRRS:
    208 		return &inst{0x73, 0x2, 0x0, 0, 0x0}
    209 	case ACSRRC:
    210 		return &inst{0x73, 0x3, 0x0, 0, 0x0}
    211 	case ACSRRWI:
    212 		return &inst{0x73, 0x5, 0x0, 0, 0x0}
    213 	case ACSRRSI:
    214 		return &inst{0x73, 0x6, 0x0, 0, 0x0}
    215 	case ACSRRCI:
    216 		return &inst{0x73, 0x7, 0x0, 0, 0x0}
    217 	case AHFENCEVVMA:
    218 		return &inst{0x73, 0x0, 0x0, 544, 0x11}
    219 	case AHFENCEGVMA:
    220 		return &inst{0x73, 0x0, 0x0, 1568, 0x31}
    221 	case AFADDS:
    222 		return &inst{0x53, 0x0, 0x0, 0, 0x0}
    223 	case AFSUBS:
    224 		return &inst{0x53, 0x0, 0x0, 128, 0x4}
    225 	case AFMULS:
    226 		return &inst{0x53, 0x0, 0x0, 256, 0x8}
    227 	case AFDIVS:
    228 		return &inst{0x53, 0x0, 0x0, 384, 0xc}
    229 	case AFSGNJS:
    230 		return &inst{0x53, 0x0, 0x0, 512, 0x10}
    231 	case AFSGNJNS:
    232 		return &inst{0x53, 0x1, 0x0, 512, 0x10}
    233 	case AFSGNJXS:
    234 		return &inst{0x53, 0x2, 0x0, 512, 0x10}
    235 	case AFMINS:
    236 		return &inst{0x53, 0x0, 0x0, 640, 0x14}
    237 	case AFMAXS:
    238 		return &inst{0x53, 0x1, 0x0, 640, 0x14}
    239 	case AFSQRTS:
    240 		return &inst{0x53, 0x0, 0x0, 1408, 0x2c}
    241 	case AFADDD:
    242 		return &inst{0x53, 0x0, 0x0, 32, 0x1}
    243 	case AFSUBD:
    244 		return &inst{0x53, 0x0, 0x0, 160, 0x5}
    245 	case AFMULD:
    246 		return &inst{0x53, 0x0, 0x0, 288, 0x9}
    247 	case AFDIVD:
    248 		return &inst{0x53, 0x0, 0x0, 416, 0xd}
    249 	case AFSGNJD:
    250 		return &inst{0x53, 0x0, 0x0, 544, 0x11}
    251 	case AFSGNJND:
    252 		return &inst{0x53, 0x1, 0x0, 544, 0x11}
    253 	case AFSGNJXD:
    254 		return &inst{0x53, 0x2, 0x0, 544, 0x11}
    255 	case AFMIND:
    256 		return &inst{0x53, 0x0, 0x0, 672, 0x15}
    257 	case AFMAXD:
    258 		return &inst{0x53, 0x1, 0x0, 672, 0x15}
    259 	case AFCVTSD:
    260 		return &inst{0x53, 0x0, 0x1, 1025, 0x20}
    261 	case AFCVTDS:
    262 		return &inst{0x53, 0x0, 0x0, 1056, 0x21}
    263 	case AFSQRTD:
    264 		return &inst{0x53, 0x0, 0x0, 1440, 0x2d}
    265 	case AFADDQ:
    266 		return &inst{0x53, 0x0, 0x0, 96, 0x3}
    267 	case AFSUBQ:
    268 		return &inst{0x53, 0x0, 0x0, 224, 0x7}
    269 	case AFMULQ:
    270 		return &inst{0x53, 0x0, 0x0, 352, 0xb}
    271 	case AFDIVQ:
    272 		return &inst{0x53, 0x0, 0x0, 480, 0xf}
    273 	case AFSGNJQ:
    274 		return &inst{0x53, 0x0, 0x0, 608, 0x13}
    275 	case AFSGNJNQ:
    276 		return &inst{0x53, 0x1, 0x0, 608, 0x13}
    277 	case AFSGNJXQ:
    278 		return &inst{0x53, 0x2, 0x0, 608, 0x13}
    279 	case AFMINQ:
    280 		return &inst{0x53, 0x0, 0x0, 736, 0x17}
    281 	case AFMAXQ:
    282 		return &inst{0x53, 0x1, 0x0, 736, 0x17}
    283 	case AFCVTSQ:
    284 		return &inst{0x53, 0x0, 0x3, 1027, 0x20}
    285 	case AFCVTQS:
    286 		return &inst{0x53, 0x0, 0x0, 1120, 0x23}
    287 	case AFCVTDQ:
    288 		return &inst{0x53, 0x0, 0x3, 1059, 0x21}
    289 	case AFCVTQD:
    290 		return &inst{0x53, 0x0, 0x1, 1121, 0x23}
    291 	case AFSQRTQ:
    292 		return &inst{0x53, 0x0, 0x0, 1504, 0x2f}
    293 	case AFLES:
    294 		return &inst{0x53, 0x0, 0x0, -1536, 0x50}
    295 	case AFLTS:
    296 		return &inst{0x53, 0x1, 0x0, -1536, 0x50}
    297 	case AFEQS:
    298 		return &inst{0x53, 0x2, 0x0, -1536, 0x50}
    299 	case AFLED:
    300 		return &inst{0x53, 0x0, 0x0, -1504, 0x51}
    301 	case AFLTD:
    302 		return &inst{0x53, 0x1, 0x0, -1504, 0x51}
    303 	case AFEQD:
    304 		return &inst{0x53, 0x2, 0x0, -1504, 0x51}
    305 	case AFLEQ:
    306 		return &inst{0x53, 0x0, 0x0, -1440, 0x53}
    307 	case AFLTQ:
    308 		return &inst{0x53, 0x1, 0x0, -1440, 0x53}
    309 	case AFEQQ:
    310 		return &inst{0x53, 0x2, 0x0, -1440, 0x53}
    311 	case AFCVTWS:
    312 		return &inst{0x53, 0x0, 0x0, -1024, 0x60}
    313 	case AFCVTWUS:
    314 		return &inst{0x53, 0x0, 0x1, -1023, 0x60}
    315 	case AFCVTLS:
    316 		return &inst{0x53, 0x0, 0x2, -1022, 0x60}
    317 	case AFCVTLUS:
    318 		return &inst{0x53, 0x0, 0x3, -1021, 0x60}
    319 	case AFMVXW:
    320 		return &inst{0x53, 0x0, 0x0, -512, 0x70}
    321 	case AFCLASSS:
    322 		return &inst{0x53, 0x1, 0x0, -512, 0x70}
    323 	case AFCVTWD:
    324 		return &inst{0x53, 0x0, 0x0, -992, 0x61}
    325 	case AFCVTWUD:
    326 		return &inst{0x53, 0x0, 0x1, -991, 0x61}
    327 	case AFCVTLD:
    328 		return &inst{0x53, 0x0, 0x2, -990, 0x61}
    329 	case AFCVTLUD:
    330 		return &inst{0x53, 0x0, 0x3, -989, 0x61}
    331 	case AFMVXD:
    332 		return &inst{0x53, 0x0, 0x0, -480, 0x71}
    333 	case AFCLASSD:
    334 		return &inst{0x53, 0x1, 0x0, -480, 0x71}
    335 	case AFCVTWQ:
    336 		return &inst{0x53, 0x0, 0x0, -928, 0x63}
    337 	case AFCVTWUQ:
    338 		return &inst{0x53, 0x0, 0x1, -927, 0x63}
    339 	case AFCVTLQ:
    340 		return &inst{0x53, 0x0, 0x2, -926, 0x63}
    341 	case AFCVTLUQ:
    342 		return &inst{0x53, 0x0, 0x3, -925, 0x63}
    343 	case AFMVXQ:
    344 		return &inst{0x53, 0x0, 0x0, -416, 0x73}
    345 	case AFCLASSQ:
    346 		return &inst{0x53, 0x1, 0x0, -416, 0x73}
    347 	case AFCVTSW:
    348 		return &inst{0x53, 0x0, 0x0, -768, 0x68}
    349 	case AFCVTSWU:
    350 		return &inst{0x53, 0x0, 0x1, -767, 0x68}
    351 	case AFCVTSL:
    352 		return &inst{0x53, 0x0, 0x2, -766, 0x68}
    353 	case AFCVTSLU:
    354 		return &inst{0x53, 0x0, 0x3, -765, 0x68}
    355 	case AFMVWX:
    356 		return &inst{0x53, 0x0, 0x0, -256, 0x78}
    357 	case AFCVTDW:
    358 		return &inst{0x53, 0x0, 0x0, -736, 0x69}
    359 	case AFCVTDWU:
    360 		return &inst{0x53, 0x0, 0x1, -735, 0x69}
    361 	case AFCVTDL:
    362 		return &inst{0x53, 0x0, 0x2, -734, 0x69}
    363 	case AFCVTDLU:
    364 		return &inst{0x53, 0x0, 0x3, -733, 0x69}
    365 	case AFMVDX:
    366 		return &inst{0x53, 0x0, 0x0, -224, 0x79}
    367 	case AFCVTQW:
    368 		return &inst{0x53, 0x0, 0x0, -672, 0x6b}
    369 	case AFCVTQWU:
    370 		return &inst{0x53, 0x0, 0x1, -671, 0x6b}
    371 	case AFCVTQL:
    372 		return &inst{0x53, 0x0, 0x2, -670, 0x6b}
    373 	case AFCVTQLU:
    374 		return &inst{0x53, 0x0, 0x3, -669, 0x6b}
    375 	case AFMVQX:
    376 		return &inst{0x53, 0x0, 0x0, -160, 0x7b}
    377 	case AFLW:
    378 		return &inst{0x7, 0x2, 0x0, 0, 0x0}
    379 	case AFLD:
    380 		return &inst{0x7, 0x3, 0x0, 0, 0x0}
    381 	case AFLQ:
    382 		return &inst{0x7, 0x4, 0x0, 0, 0x0}
    383 	case AFSW:
    384 		return &inst{0x27, 0x2, 0x0, 0, 0x0}
    385 	case AFSD:
    386 		return &inst{0x27, 0x3, 0x0, 0, 0x0}
    387 	case AFSQ:
    388 		return &inst{0x27, 0x4, 0x0, 0, 0x0}
    389 	case AFMADDS:
    390 		return &inst{0x43, 0x0, 0x0, 0, 0x0}
    391 	case AFMSUBS:
    392 		return &inst{0x47, 0x0, 0x0, 0, 0x0}
    393 	case AFNMSUBS:
    394 		return &inst{0x4b, 0x0, 0x0, 0, 0x0}
    395 	case AFNMADDS:
    396 		return &inst{0x4f, 0x0, 0x0, 0, 0x0}
    397 	case AFMADDD:
    398 		return &inst{0x43, 0x0, 0x0, 32, 0x1}
    399 	case AFMSUBD:
    400 		return &inst{0x47, 0x0, 0x0, 32, 0x1}
    401 	case AFNMSUBD:
    402 		return &inst{0x4b, 0x0, 0x0, 32, 0x1}
    403 	case AFNMADDD:
    404 		return &inst{0x4f, 0x0, 0x0, 32, 0x1}
    405 	case AFMADDQ:
    406 		return &inst{0x43, 0x0, 0x0, 96, 0x3}
    407 	case AFMSUBQ:
    408 		return &inst{0x47, 0x0, 0x0, 96, 0x3}
    409 	case AFNMSUBQ:
    410 		return &inst{0x4b, 0x0, 0x0, 96, 0x3}
    411 	case AFNMADDQ:
    412 		return &inst{0x4f, 0x0, 0x0, 96, 0x3}
    413 	case ASLLIRV32:
    414 		return &inst{0x13, 0x1, 0x0, 0, 0x0}
    415 	case ASRLIRV32:
    416 		return &inst{0x13, 0x5, 0x0, 0, 0x0}
    417 	case ASRAIRV32:
    418 		return &inst{0x13, 0x5, 0x0, 1024, 0x20}
    419 	case AFRFLAGS:
    420 		return &inst{0x73, 0x2, 0x1, 1, 0x0}
    421 	case AFSFLAGS:
    422 		return &inst{0x73, 0x1, 0x1, 1, 0x0}
    423 	case AFSFLAGSI:
    424 		return &inst{0x73, 0x5, 0x1, 1, 0x0}
    425 	case AFRRM:
    426 		return &inst{0x73, 0x2, 0x2, 2, 0x0}
    427 	case AFSRM:
    428 		return &inst{0x73, 0x1, 0x2, 2, 0x0}
    429 	case AFSRMI:
    430 		return &inst{0x73, 0x5, 0x2, 2, 0x0}
    431 	case AFSCSR:
    432 		return &inst{0x73, 0x1, 0x3, 3, 0x0}
    433 	case AFRCSR:
    434 		return &inst{0x73, 0x2, 0x3, 3, 0x0}
    435 	case ARDCYCLE:
    436 		return &inst{0x73, 0x2, 0x0, -1024, 0x60}
    437 	case ARDTIME:
    438 		return &inst{0x73, 0x2, 0x1, -1023, 0x60}
    439 	case ARDINSTRET:
    440 		return &inst{0x73, 0x2, 0x2, -1022, 0x60}
    441 	case ARDCYCLEH:
    442 		return &inst{0x73, 0x2, 0x0, -896, 0x64}
    443 	case ARDTIMEH:
    444 		return &inst{0x73, 0x2, 0x1, -895, 0x64}
    445 	case ARDINSTRETH:
    446 		return &inst{0x73, 0x2, 0x2, -894, 0x64}
    447 	case ASCALL:
    448 		return &inst{0x73, 0x0, 0x0, 0, 0x0}
    449 	case ASBREAK:
    450 		return &inst{0x73, 0x0, 0x1, 1, 0x0}
    451 	case AFMVXS:
    452 		return &inst{0x53, 0x0, 0x0, -512, 0x70}
    453 	case AFMVSX:
    454 		return &inst{0x53, 0x0, 0x0, -256, 0x78}
    455 	case AFENCETSO:
    456 		return &inst{0xf, 0x0, 0x13, -1997, 0x41}
    457 	}
    458 	return nil
    459 }